Ubuntu quickstart

From Bitpost wiki
Revision as of 17:15, 11 November 2016 by M (talk | contribs)
sudo visudo
  # MDM give out the power
  #mah-FAB-user# ALL=(ALL) NOPASSWD: ALL
  • Get everything INCLUDING DEVELOPMENT STUFF
sudo apt-get install i3 i3lock i3status suckless-tools dunst openssh-server cifs-utils smbclient synergy arandr ubuntu-restricted-extras exfat-fuse exfat-utils hfsprogs acpi gparted chromium-browser p7zip-full k4dirstat screen rxvt-unicode grdesktop openvpn bridge-utils nautilus-compare smartmontools git gimp network-manager-gnome network-manager-openvpn-gnome nautilus-dropbox synergy software-properties-common scrot gnome-screenshot gnome-settings-daemon gksu feh blueman pavucontrol pnmixer emacs build-essential automake libtool libssl-dev libbz2-dev python-dev curl libcurl4-openssl-dev kdiff3 sqlite3 sqlitebrowser qtcreator ruby ruby-dev tig meld blender vlc audacity cmake
  • Do any hardware-specific tasks
    • nvidia drivers
      • open unity-control-center WITHIN UNITY, or from i3 i think you must open AS ROOT: sudo unity-control-center
      • select Sofware and Updates
      • select Additional Drivers tab, click nvidia (and Intel mobo, etc as needed) proprietary driver, Apply
  • Ensure refind remains the boot manager; download and unpack the zip, then reinstall:
cd Downloads/refind-bin-0.10.3
./refind-install
  • set up ssh
# openssh-server defaults are ok but see /etc/ssh/sshd_config for details
cd ~m/.ssh
scp m@bitpost.com:/home/m/.ssh/authorized_keys .
scp m@bitpost.com:/home/m/.ssh/id_rsa_3072_nopswd .
ln -s id_rsa_3072_nopswd id_rsa
  • as root, create /root/samba_credentials (get it from another machine), and chmod 400 on it
  • configure git
git config --global user.email m@bitpost.com
git config --global user.name "Michael Behrns-Miller [#machine_name#-ubuntu]"
cd && mkdir development && cd development
git clone bitpost.com:development/scripts.git 
cd && ln -s development/scripts scripts
mkdir scripts/ubuntu/[new machine]
  • set up config repo (remember we need files in git and symlinks to them from the system, YES THIS SUCKS, GIT!)
git clone bitpost.com:development/config.git 
cd config
mkdir [new machine]
# DO ALL THE FOLLOWING AT ONCE or your system will be fubar
cp -r -p [melange or whatever]/ubuntu [new machine]/
# be careful, this will need pruning/updating NOW
grep -R melange *
cd && ln -s /home/m/development/config/[new machine]/ubuntu config
cd && ln -s development/config/[new machine]/ubuntu/home/m/.bashrc .bashrc 
subl .bashrc # update PATH to include custom scripts folder in path
verify_ubuntu_config_symlinks # we need to turn ALL THESE into SYMLINKS
cd .i3 && mv config config.backup && ln -s /home/m/development/config/common/home/m/.i3/config config # and press Mod+Shift+C to reload
cd .gconf/apps/gnome-terminal/profiles/Default && mv %gconf.xml %gconf.xml.backup && ln -s /home/m/development/config/common/home/m/.gconf/apps/gnome-terminal/profiles/Default/%gconf.xml %gconf.xml
# fix up fstab as/if needed
su -
cd /etc
mv fstab /home/m/config/etc/fstab
ln -s fstab /home/m/config/etc/fstab
subl /home/m/config/etc/fstab /home/m/development/config/melange/ubuntu/etc/fstab # and copy samba mounts
ctrl-D, cd && mkdir bitpost && mkdir /spiceflow/bitpost && sudo mount /home/m/bitpost && sudo mount /spiceflow/bitpost
# and set chrome or other default browsers to save to /home/m/bitpost/download/torrents
su -
cd /etc
diff /etc/hosts /home/m/config/etc/hosts (most important: make sure correct hostname is being used)
mv hosts /home/m/config/etc/hosts
ln -s hosts /home/m/config/etc/hosts
# keep going with all remaining symlinks.... until....
verify_ubuntu_config_symlinks # ALL THESE should now be SYMLINKS
  • set up .bashrc - see another machine's as an example; use the common parts at top and bottom; make sure to update script path
  • clone mania!
clone_dev_repos # scripts need clone, clone needs scripts, might take a couple runs
  • download boost, symlink to /home/m/development/boost, build with my script
  • run qtcreator, load CMakeLists.txt files for important projects, and configure release/debug projects
  • Install Scala (Java then sbt then use nop-util to build Causam project)