Thursday, August 23, 2018

Mambo #5 - A little SysAdmin in my life












Anyway, we have some tech chores at hand, so let's discuss.

If we get new computers for Robotics this year, we’ll probably find that they have no OS.  This communication is to describe the desired configuration of our s/w computers for maximum portability and service with minimum needed maintenance.

What follows is pretty close to what we’ve had the last couple of years and it works predictably, updates are knowable and controlled, and overall system stability AND portability is excellent – runs on Pentiums and CoreI5’s, and VPro’s with 2Gig and up of RAM and ~40 gig and up of disk.

Obviously don’t download any of this onto your work machine.

Desired Configuration:
Distro:   I really cannot emphasize this enough, but we *must* have control over when system updates happen.  WE CANNOT LOSE OUR WORK DUE TO A BADLY TIMED UPDATE FAILURE.  That kind of risk is for people who roll the dice with Redmond's product, and we have some higher standards.

Anyway, here are the options I'm willing to help with.  Sounds curmudgeonly, I know, but I'm pretty sure we can keep 4 machines running and in sync with this setup. I don't feel like spending any extra effort on this kind of overhead, and it keeps things simple and reliable.  And cheap.  And simple. I said that twice, because it is twice as important.  

http://bbqlinux.org/ (not really preferred, but the fastest install I know.  If you're pressed for time, this might be a good call) BBQ Linux (NOT LinuxBBQ)
  • Pro: Has Android Studio & a workable Java included as part of distro.  Setup is pretty simple.
  • Pro: Arch gets you more hitpoints of nerd just for saying it, let alone using it.  Depending on your view, this also can be a Con.
  • Con: is Arch based rather than Debian based.  Works fine, just uses a different repository schema.  With the pi's and other things, I'm more used to Debian and apt, but I kind of like the extra geeky aspect of Arch.  It is to Linux itself as Linux is to Mac or Win.
PREFERRED  
 XUbuntu (Not Lubuntu, Kubuntu, Ubuntu, or any other ‘buntus).  I believe XUbuntu works OK with UEFI (the MS-inspired denial of service boot obstacle – I’ve not tried installing GRUB on a recent piece of hardware). Plus 'buntus are the "hello world" of Linux, and that's not necessarily a bad thing.  XUbuntu is maybe the "hello world" of the 'buntus.
  • https://docs.xubuntu.org/current/user/C/index.html
  • The XFCE window system native to XUbuntu is clean, low overhead, and functional.
  • XUbuntu (historically) allows you more control over both the schedule for updates and the password/username to a greater extent than other ‘buntus.  We do NOT want the OS to upgrade automatically the week before a tournament. You wanna do CPR on Android Studio because some tool incompatibility bounced into your lap and 'sploded, that's your problem.  I have plenty of baggage without that.
  • Computer Name: The name should be something unique and yet appealing to a nerdy teen.   Just don't make it boring.  Have used variations of person’s name who donated computer (Bartacus, Ziggy, MagiCarp) and for corporate donations once used names of ships in Patrick O’Brien novels that also existed in the Royal Navy (Surprise, Lively).  Should be a consistent theme. If using planet names, could make the background a picture of that planet so it can be identified from even a distance. Prolly should skip Venus and Earth.
  • Post install, run from command line: %sudo apt-get update      --This should update the repository lists.
  • Post install, also run from command line: %sudo apt-get dist-upgrade –This is to ensure the software is up to date.  Will take 5 minutes to 40 minutes to run, depending on available bandwidth and time of day.

I’d love to experiment with Rasperry Pi’s Pixel distro, but don’t recall if it is 32 bit or 64 bit and can’t be bothered to look right now.  We need the 64bit OS.   Pixel looks very much like the Raspian distro for a pi, except it does not include Wolfram Mathematica.  OTOH, it ought to be familiar to some of our students and an excellent tie in to inexpensive machines they’ll have access to at home (a Pi 0-W is $10, probably figure $35 plus a keyboard and mouse to get one up and running on your HDMI monitor.  Pi 3b+ adds 3 cores half a gig of RAM and about $20 to that. I really like the idea of presenting a system that looks very like one they might reasonably get to students from a fairly frugal economic circumstance).

Accounts: historically we’ve used judenki, but this year let’s do “robotics” (We'll have to coordinate the password.  I'm not putting it here :-) ) … can make it automatically log in, but must do password for sudo.

Android Studio – whatever is current.  It’s a derivative of IntelliJ, so any web instructions you find for IntelliJ should work fine for Android Studio.
  • configure SDK’s for Nexus phones.  Check the FTC message board for instructions.  Or copy from one of the PS3’s.
  • With updates and configuration, this may take an hour or so to install.  
  • As I recall, you can install Android Studio in the user directory but it's messed up - a little like putting your socks on over your shoes.  All the stuff is there, but it's cringably wrong.  We can discuss.
Android Studio Plugins
Java
  • XUbuntu should come with either Java or OpenJDK.  OpenJDK is rumored to have some compatibility issues. We want Java. Can download it and tar or use a file manager to extract it (should be done with root priv) we want Java 8  64 bit!
  • Java really needs to be installed in /opt or /opt/bin (I forget which one right now)
  • There is a little bit more configuration work that needs to be done for Java, like added to /etc/sources maybe?  
  • You'll need the JDK and the JRE as I recall.
  • https://www.java.com/en/download/help/linux_x64_install.xml
Git
  • Need it.  %sudo apt install git-all    
Get all this in place, and we can fork our android studio project from github and copy onto the laptop in question.  That’s a whole different set of problems,  and I still need to do some prep work for this season on that.

Finally, here's a little video that pays homage to the title of this post.  It's hard to find a squeaky clean cover of Mambo #5, so we'll add a little Beethoven to our song.  It isn't precisely what it seems, but you should expect that by now :-)




Java Is as Java Does

We would not seek a battle, as we are; Nor, as we are, we say we will not shun it. Henry to Montjoy,   Henry V ,  Shakespeare Last season I ...