Installation of Ubuntu 18.04 LTS on solid state drive for chalkboard
20180709~
-
Used 20180530_fishfish_install_Ubuntu18_notes as reference.
-
First backed up files on the old chalkboard filesystem
-
Backed up the
/home
directory onto fishfish using the custom script backup_to_fishfish.sh (command run from a terminal that ssh’ed onto fishfish):# Log on to fishfish ssh -Y adam@172.28.76.139 # Backup files bash backup_to_fishfish.sh
-
Backed up system configuration settings using the custom script backup_settings.sh:
# Run backup_settings.sh (This saves things under ~/Settings_Linux/backup_settings) sudo bash backup_settings.sh # Change directory to backup_settings cd ~/Settings_Linux/backup_settings # Make a new directory mkdir old_chalkboard # Move files to new directory mv *chalkboard* old_chalkboard
These files are saved under
~/Settings_Linux/backup_settings/old_chalkboard
-
-
Installed Ubuntu 18.04 LTS on new 1 TB solid state drive with a USB stick (prepared with UNetBootIn, see 20180521_fishfish_boot_from_usb_notes)
- Booted the system from the USB stick, with only the new solid state drive inserted
- Double-clicked on Install Ubuntu 18.04 LTS on the desktop
- Chose English (US) for keyboard layout
- Chose Normal installation and Download updates while installing Ubuntu, but not “Install third-party software for graphics and Wi-Fi hardware and additional media formats” (default settings)
- Upon the message: “This computer currently has no deteting operating systems on it. What would you like to do?”, chose “Erase disk and install Ubuntu” and clicked “Continue” for “Write changes to disk”
- For “Where are you?” (time zone settings), maintained the default “New York”
- For “Who are you?” (user setting), used “Adam Lu” for “Your name” and “chalkboard” for “Your computer’s name”
- After the “Installation Complete” message shows up, clicked “Restart Now”
- After reboot, clicked “Set Up Livepath”
- Set up Ubuntu Single Sign-On Account using Adam’s Gmail account
- Updated Ubuntu and restarted
-
Restored custom scripts and shell configuration files
-
Installed git:
sudo apt-get install git
-
Cloned the Setting_Linux repository to the home directory (
/home/adam/
):git clone http://github.com/blabuva/Settings_Linux
-
Created or updated shell configuration files from the sample files using the custom script setup_dotfiles.sh:
cd ~/Settings_Linux/scripts bash setup_dotfiles.sh adam
-
Copied custom scripts to
/usr/local/bin
using the custom script setup_binfiles.sh:cd ~/Settings_Linux/scripts bash setup_binfiles.sh adam
-
-
Mounted external drives
-
Inserted other drives one by one and verified they were detected with the Disks utility. Rebooted and made sure all were still detected
-
Mounted all drives with the custom script mount_all_disks.sh (this also creates mount points if needed):
bash mount_all_disks.sh
-
To ensure disks are mounted at start up, modified the
/etc/fstab
file accordingly, consulting the previous setting backup_etc_fstab_fishfish.log. -
Rebooted and confirmed that all drives are mounted correctly
-
-
Network
-
Set up the firewall (ufw)
-
By default the firewall is disabled:
sudo ufw status
shows:
Status: inactive
-
Enable the firewall:
sudo ufw enable
shows:
Firewall is active and enabled on system startup
-
-
Installed Webmin per these instructions:
-
Edited the file
/etc/apt/sources.list
sudo vi /etc/apt/sources.list
Added this line:
deb http://download.webmin.com/download/repository sarge contrib
-
Next, added the Webmin PGP key so that chalkboard will trust the new repository:
wget http://www.webmin.com/jcameron-key.asc sudo apt-key add jcameron-key.asc
-
Next, updated repositories and installed Webmin:
sudo apt-get update sudo apt-get install webmin
-
The file
jcameron-key.asc
is saved in~/Settings_Linux/Upgrade
-
-
Installed SSH server per these instructions:
- Installed
tasksel
sudo apt-get install tasksel
- Used
tasksel
to install theopenssh-server
sudo tasksel install openssh-server
- Rebooted
- Installed
-
Installed the
net-tools
package forifconfig
:sudo apt-get install net-tools
-
Ran
ifconfig
and discovered that the IP has changed to 128.143.54.23! -
Added IP addresses in ufw_IPs_chalkboard.md to the ufw firewall by applying one of the following:
# This custom command is in adams_commands.sh and adds an IP address to access the ports 22 (SSH), 445 (Samba) and 5900:5920 (VNC) add_IP XXX.XXX.XX.XX # This adds an IP address to access Webmin sudo ufw allow proto tcp from XXX.XXX.XX.XX to any port 10000
-
Used MobaXTerm to verify that SSH worked
-
Webmin was successfully accessed at https://128.143.54.23:10000/
-
Updated User/Group settings to be consistent with the old chalkboard files
/etc/passwd
and/etc/group
-
In Webmin, did the following under
System -> User/Group settings
:- Changed User ID for adam to 1004 (Checked
all files
forChange user ID on files?
) - Added Group LabFolks with ID 1001 and added adam to the group
- Made LabFolks the primary group for adam (Checked
all files
forChange group ID on files?
) - Added Group Collaborators with ID 1005 and added adam to the group
- Created user mark with the following settings not the same as default:
User ID
: 1000Real Name
: Mark BeenhakkerShell
:/bin/bash
Password
:Normal password
(same as all default passwords on fishfish)- Checked
Yes
forForce change at next login?
Primary group
: LabFolksSecondary group
: Collaborators
- Changed User ID for adam to 1004 (Checked
-
In Webmin, did the following under
Webmin -> Webmin users
:- Created the new Webmin users adam and mark
- In
Available Webmin Modules
, clickedSelect all
-
In a terminal, changed root password to Adam’s password (not sure if there is a default password or not):
sudo bash passwd
-
Added the rest of the users according the user ID in the old
/etc/passwd
file and the settings as above. Only the users in the file user_accounts_chalkboard.md were added. -
Added blab members to the sudo group.
-
-
-
Set up links, desktop icons and shell configuration files for all users
-
Ran the custom script setup_all_homedirs.sh:
bash setup_all_homedirs.sh
-
-
Installed and set up Samba Windows File Sharing
-
Installed Samba server per these instructions
Use
tasksel
to install thesamba-server
sudo tasksel install samba-server
-
On Webmin, under
Un-used Modules -> Samba Windows File Sharing -> Samba Users
, clicked onConvert Users
, thenConvert Users
again with default settings -
Changed
User Synchronization
settings- Clicked
Yes
for all, including:Add a Samba user when a Unix user is added
,Change the Samba user when a Unix user is changed
,Delete the Samba user when a Unix user is deleted
,Deleting the roaming profile when a Unix user is deleted
,Rename the roaming profile when a Unix user is renamed
- Clicked
-
Created new files shares for
/home/justin
,/home/barrettlab
and/home/Matlab
:-
For each file share, changed Security and Access Control settings:
- Changed
Writable
toYes
- Add LabFolks and Collaborators to
Read only groups
orRead/write groups
- Added specific users to
Read only users
orRead/write users
- Changed
-
For each file share, changed File Permissions settings:
- Changed
New Unix file mode
to 775 - Changed
New Unix directory mode
to 775
- Changed
-
-
-
Generated public keys:
-
Added the new chalkboard IP (128.143.54.23) to be accepted by the fishfish firewall and removed the old IP.
-
Generated a public key for chalkboard and placed it on fishfish & rivanna with these instructions:
# Generate ssh public key ssh-keygen # Copy the public key to fishfish ssh-copy-id -i ~/.ssh/id_rsa.pub adam@172.28.76.139 # Copy the public key to rivanna ssh-copy-id -i ~/.ssh/id_rsa.pub al4ng@rivanna.hpc.virginia.edu
-
Did the same for fishfish on chalkboard
-
-
Created the folder
/home/Matlab
and restored everything from the lab GitHub site with commands such as:git clone https://github.com/blabuva/Marks_Functions.git
-
Restored cron jobs by copying the backed up directory to
/var/spool/cron/
rsync -avhu --progress ~/Settings_Linux/backup_settings/old_chalkboard/backup_var_spool_cron_chalkboard/ /var/spool/cron/