2533
Comment: Added some suggestions
|
16715
added teamviewer to win packages
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
One day, it would be nice to have a standard operating environment for UCC clubroom machines. Currently the state of them could be described as varying degrees of broken, partly due to having no defined procedure for setting them up. The purpose of this page is to brainstorm what this procedure should be. | This page is intended as a guide to set up UCC machines in some sort of standard way. Please update this if you find any problems when installing things (especially if using newer versions than described here). <<TableOfContents(2)>> |
Line 5: | Line 7: |
== Steps to do before/during installation == * Add forward and reverse DNS entries for the machine. <!> ''Not essential for setup'' * Add the machine to DHCP. <!> ''Not essential for setup'' * Add the machine to Samba (create a local account for it on musundo). <!> ''Probably only needs to be added in LDAP, and thus could be made available to winadmins via ACLs'' == During/after installation == * Install Windows XP SP2 and configure it to be part of the domain 'UCCDOMAIN'. <!> ''why does this require wheel rights?'' * Install device drivers (graphics and sound most importantly). * Set up printing. * Add Winadmins to computer administrators. * Configure WPKG. * Turn Windows Updates on to fully-automatic. == Software to install == Software in this list should either be free to download and install, or something that the UCC has a license for. * 7zip * OpenOffice * Media Player 11 * Adobe Reader * Firefox * PuTTY ''also add the binary directory to %PATH% [RVS]'' * CD Burning Software ''such as? possibilities include http://www.deepburner.com/ and http://infrarecorder.sourceforge.net/'' * F-Prot Antivirus ''more details coming once [DAA] fixes the ACLs'' * VLC * Flash player * Daemon Tools * Windows Live messenger * Steam * Java Runtime Environment * Audacity * Google Talk * irfanview (and the plugin that knows about jpeg orientation jfif tags) * winscp ''filezilla is probably a better option [DAA]'' * DirectX 9 runtime === What about... === * ActiveState ActivePython and/or ActivePerl * Eclipse? Massive but apparently Java programmers love it * NetBeans? Not nearly as massive (but still quite large) * Komodo Edit, a rather nice lightweight programmers' editor * gVim, the logical alternative to the above * TortoiseSVN * Cygwin ''I vote no, it's horrible [DAA]'' * an X11 server, perhaps the one packaged with Cygwin * Thunderbird or another mail client ''Second [RVS]'' * an MPD client (http://sccs.swarthmore.edu/~cbr/PlayGUI/) ''how about gmpc + gtk? [RVS]'' * sequoiaview? |
= Before you start = == Steps to do before installation == * <!> Add forward and reverse DNS entries for the machine. * <!> Add the machine to DHCP. * <!> Make sure all licenses required are on hand (see `/home/wheel/docs/software-license/` on a user server) == Steps to do after == * Check everything works as expected * Email [email protected] with a summary of what was set up/re-installed = Dualboot Machines = '''These instructions relate to Dualbooting Windows 10 and Linux Mint'''. If installing a dualboot machine, always install Windows first where possible. 1. [[#Windows_10|Install Windows]] following the below. Make note of the following when setting up the disks: * Depending on the size of the disk, try to reserve up to 500GB or more for Windows. * Linux works fine on anything down to about 100GB but 200GB+ is preferable. 2. [[#Linux_Desktops|Install Linux]], making sure to use the previously reserved disk space. * Use a '''different hostname''' for the Linux installation (eg. `catfish` on Windows, and `catfish-linux` on Linux, or vice-versa) * This is necessary so that the machine accounts in AD don't have the same name, otherwise one OS's entry overwrites the other and things get broken. 3. Set up a scheduled task on Windows to reboot into Linux each day. = Windows 10 = All new Windows machines in UCC should be installed with Windows 10 by default. Previous versions are deprecated. 1. Find a Windows install disk or make a new one. Make sure you select the Professional edition. * You can download the latest ISO image [[https://www.microsoft.com/en-au/software-download/windows10ISO|here]] and USB imaging tool [[https://www.microsoft.com/en-us/download/details.aspx?id=56485|here]]. 2. Plug in the install disk and boot from it. * Select the US keyboard layout and Australian time/date format. * Agree to the license terms etc. 3. Partition the disks. * Delete all existing partitions (if any) on the designated install disk. * Select the empty space and click "New" to create a new partition. Enter the desired size or use the whole disk (if not doing dualboot). 4. Create a dummy user account (call it something like `accmurph`) 5. Finish the installer. Once it has rebooted into the new Windows system and you have logged in you can continue. 6. Install software. * Software in this list should either be free to download and install, or something that the UCC has a license for. * sshd , to automate the rest of the following * invoking CMD.EXE ? bash? PowerShell? * Open '''Powershell''' as Administrator and run the following: {{{ Set-ExecutionPolicy Bypass; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')) choco install -y 7zip.install adobereader chocolateygui discord firefox flashplayerplugin foxitreader freecad gimp git.install googlechrome hwmonitor inkscape javaruntime keepass.install kicad kitty libreoffice lyx miktex notepadplusplus.install opera paint.net python3 teamviewer texstudio tor-browser vivaldi vlc vscode windirstat winscp.install }}} * Install '''Steam''' and '''Battle.net''' to the games drive (if any). * Install the ocsinventory agent from [[https://www.ocsinventory-ng.org/en/]]. * This software maintains a registry of all our hardware and is used to determine which machines need upgrading. The server to point it at is https://ocsinventory.ucc.asn.au/ocsinventory and turn off SSL cert verification. No auth is required. * https://github.com/da2x/EdgeDeflector/blob/master/README.md ? 7. Set the Windows computer name - the installer picks a random one automatically and this is bad. * Right click on the Start button, select "System", then click "Rename this PC" and enter the desired name. 7. Configure the system for the UCC network. (type any `commands` below into the Administrator Powershell window you just opened) * Delete the dummy user created during install, enable the local Administrator account and set the password: {{{ net user accmurph /delete net user Administrator /active:yes net user Administrator <Clubroom Password> }}} * Join the machine to the domain `UCCDOMAYNE` as described in [[ActiveDirectory#Windows]]. * '''REBOOT.''' * You may need to manually set the time if it is out of sync, run Command Prompt (not powershell!) as administrator and use the command `time HH:MM:SS` * Force update group policy on the machine (now in the admin Command Prompt window): {{{ gpupdate /force }}} * Once Group Policy has been successfully applied (or before the machine is joined to the domain at all) you can force an NTP time sync with `w32tm /resync /force` * Add static route for 130.95.13.0/26: (''This prevents a VPN connection from trying to steal the default route to users home directories.''){{{ route add -p 130.95.13.0 MASK 255.255.255.192 130.95.13.65 }}} * Enable pings (alternatively, follow [[http://www.fixya.com/support/r5359816-allow_ping_icmp_echo_request_windows_7|this guide]]): . {{{ netsh firewall set icmpsetting 8 enable }}} 8. Add the UCC printer `blacklight` and set it as the default. = Linux Desktops = '''Linux Mint x64 ''Cinnamon'' (not the LMDE / Debian version) is the only Linux installation we support.''' These instructions have been updated and checked with Linux Mint 19.1 - please update them to be compatible with any newer versions if you choose to install them. 1. Find or create an install USB. * Download the ISO from [[https://www.linuxmint.com/download.php]] onto an existing Linux system. {{{ wget http://mirror.waia.asn.au/pub/linux/linuxmint/linuxmint-isos/linuxmint.com/stable/19.1/linuxmint-19.1-cinnamon-64bit.iso }}} * Plug in the USB and get the device node with `lsblk` (look at the size of each drive) * Copy the image to the USB: (this will take a few minutes) {{{ sudo dd if=linuxmint-19.1-cinnamon-64bit.iso of=/dev/<usb identifier> bs=1M; sync; }}} 2. Boot from the USB and run the installer. 3. Partition the disks. Select "something else" rather than the automagic guided options. * If you are setting up dualboot, do NOT delete any Windows-related partitions. * Create a new partition for the Linux system. No swap partition is required - mint no longer creates a swap partition by default, and can use a swap file in the root partition if swap space is required. * Use as ext4 file system and use `/` as the mount point. * Configure a dummy user, for example `accmurph`. * Use sensible values for the other options. 4. Boot into the newly installed system and configure it * Set up [[ActiveDirectory#Linux|Active Directory]] * Ensure wheel group and sprocket group have sudo permission: {{{sudo visudo}}} {{{ %wheel ALL=(ALL:ALL) ALL %sprocket ALL=(ALL:ALL) ALL }}} * Ensure wheel group and sprocket group have administrative rights in Polkit. Create the file {{{/etc/polkit-1/localauthority.conf.d/90-ucc-desktops.conf}}} with the following contents: {{{ [Configuration] AdminIdentities=unix-group:wheel;unix-group:sprocket }}} * Modify `/etc/fstab` to mount `/away`. Use something like this (can differ with distro): {{{ away.ucc.gu.uwa.edu.au:/space/away/home /home nfs nfsvers=3,auto,rw,tcp,nosuid,nodev,soft,x-systemd.automount,x-systemd.device-timeout=10,x-systemd.requires=network-online.target 0 1 }}} * x-systemd.requires=network-online.target is oddly insufficient, but x-systemd.automount is relatively robust, see [[https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/|systemd]] . According to [[https://www.freedesktop.org/software/systemd/man/systemd.mount.html|mount]] , systemd-fstab-generator implicitly defeats retries and continues without "failing" by means of "x-systemd.mount-timeout=infinity,retry=10000,fg,nofail" , so try [[https://www.freedesktop.org/software/systemd/man/systemd.automount.html|automounts]] * Network configuration is via DHCP and handled entirely by `NetworkManager` * Use a local package repository mirror with `sudo mint-switch-to-local-mirror` 5. Install software. {{{ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb sudo dpkg -i google-chrome-stable_current_amd64.deb wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add - sudo apt install apt-transport-https echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list sudo apt update sudo apt install -y adobe-flashplugin arduino blender build-essential cvs chromium-browser etckeeper fish freecad freeglut3-dev geeqie gimp glew-utils gnucash google-chrome-stable gtk2-engines-oxygen hugin inkscape jhead keepassxc kicad ladvd libreoffice mlocate mplayer nasm nfs-common ocsinventory-agent openjdk-11-jdk openssh-server parallel pepperflashplugin-nonfree pidgin python remmina remmina-plugin-rdp rdesktop subversion thunderbird tig vim-gtk vlc zsh lyx texlive torbrowser-launcher xdotool sublime-text }}} * The server hostname for OCSInventory is `https://ocsinventory.ucc.asn.au/ocsinventory` * Check everything works by running '''ocsinventory-agent''' from the command line and then check https://ocsinventory.ucc.asn.au for an entry * <!> Set the root password, then add the UCC root SSH keys: add the hostname to `/home/wheel/bin/uccroot/push.sh`, then run that script. * Install vivaldi browser (there's no repo package at the moment) - go to https://www.vivaldi.com and install from there 6. Set up the UCC printer `blacklight` * Open the '''Printers''' settings panel * Add printer directly (list its hostname in the insert field) * If the definition file cannot be located, download from the manufacturer's website (some googling may be required) 7. Log in '''as your own user''' (reboot if necessary to do so) and go to login window preferences in the main menu * Set theme to elegance * Go to options and deselect "automatically select the last logged in user" * Also change the default session from "Automatically detected" to "cinnamon" * Delete the initial user: {{{ sudo userdel -r accmurph }}} (ignore any errors) 8. Enable automatic upgrades in the Update Manager (GUI) . {{attachment:mintupdates.png|Tick the box "Apply updates automatically" and ignore any warnings about system stability|height=250}} . Tick the box "Apply updates automatically" and ignore any warnings about system stability. === Proprietary NVidia Drivers === NOTE: `nouveau` is preferred if it works, as it integrates with the kernel. 1. Locate the driver edition for the card (the major number of the driver version specified on http://www.nvidia.com/Download/index.aspx?lang=en-us) * DON'T DOWNLOAD FROM HERE * Remember to select "Linux x64" as the OS 1. Install the relevant package `sudo apt install nvidia-<VER>` * E.g. `nvidia-340` for the GeForce 9600 1. Reboot 1. If the graphics don't work (e.g. falls back to software rendering), `sudo apt purge nvidia-<VER>` = Linux Servers = * At installation: * Avoid setting package sources to the UWA mirror as they are frequently out of date. AARNET seems to be the most reliable mirror at this stage * Keep APT sources.list (or software repositories) as minimal as possible, but if you don't: * Beware of copying the apt sources.list from another server without copying the apt_preferences file too. You might suddenly find yourself with much newer versions of packages than you want. * The UCC standard install has all volumes in LVM on md raid. Generally var and home are put on a separate logical volume to root. You had better have a good reason if you're not following this guideline! * Add a root user and nuke the initial unprivileged user: * That's as simple as running `passwd` as a super user, re-logging in as root and running `deluser` on the original user * If the machine has an SSD (or several thereof), ensure that TRIM (aka discard) is enabled at all layers (lvm and disk layer) * Set up DNS on [[Mooneye]]: * Add an entry to /etc/bind/domains/primary/ucc.machines then close the file and run zonemake.py in the same directory * If zonemake has errors, go back and fix them before proceeding! * Use `rndc reload` to get bind to reload the zone files * Set up DHCP on [[Murasoi]]: * Add the ethernet (MAC) address /etc/dhcp/dhcpd.conf * Restart the DHCP server with `service isc-dhcp-server restart` * Set up NFS: * Only do this once you have DNS set up and working properlyChangeLog#preview * Add the machine to the /etc/exports files on the appropriate servers ([[Motsugo]] for /home, [[Molmol]] (or just host "away") for /away and nortel+onetel for /services). Reload the server config with `exportfs -r` (Linux) or `service mountd reload` (FreeBSD) * Remember that only machines on the machine room subnet and physically within the machine room should mount /home while pretty much every machine should mount /away * Add the fstab line (copy off [[Motsugo]] or something) * `mount -av` and hope * Configure the SSH server: * Copy the SSH banner (usually in /etc/issue.net) from another server and modify it to suit * Ensure the correct banner file is set in /etc/ssh/sshd_config * Enable root ssh logins and X11 forwarding in /etc/ssh/sshd_config * Restart the SSH server and confirm all working * Add the UCC root SSH keys: * Add the hostname to /home/wheel/bin/uccroot/push.sh (this will add wheel keys to the machine when the script is run) * For adding non-wheelians to certain machines, add their public key to the <machine name>-extra in that same folder * Start an ssh-agent using {{{eval `ssh-agent`}}} and authenticate your root key using {{{ssh-add ~<username>/.ssh/id_rsa}}}, then run the updated push.sh script * Setup Active Directory. Follow the instructions at [[ActiveDirectory]] * Allow wheel members sudo access to the machine by running {{{visudo}}} and adding the following lines: . {{{ # Allow wheel members to execute any command %wheel ALL=(ALL:ALL) ALL }}} * Install dispense: Go to {{{/home/wheel/tpg/gitclones/opendispense2}}}, run {{{make -C src/client clean all}}} and copy {{{dispense}}} to {{{/usr/local/bin}}} on the target server. * Add the machine's address as trusted in {{{/etc/opendispense2/dispsrv.conf}}} on `merlo`, and then restart `dispsrv` with {{{systemctl restart dispsrv}}} * For users to be able to dispense, you also need to install {{{oidentd}}} * Install postfix, set the mail host to {{{mailhost.ucc.gu.uwa.edu.au}}} * To have mail delivered locally, see [[http://www.postfix.org/STANDARD_CONFIGURATION_README.html|http://www.postfix.org/STANDARD_CONFIGURATION_README.html]] * Packages to install: ##these are formatted like this so you can paste them straight into the terminal after "apt install", keep them in alphabetical order please. [BOB] . {{{ alpine apache2 biff etckeeper finger fish joe ladvd logwatch mlocate molly-guard mosh ncurses-term ocsinventory-agent openbsd-inetd parallel rkhunter rssh screen subversion sudo strace sxid tig tmux tshark uptimed vim zsh }}} * For file servers, you should also install: . {{{ acl clamav iotop nfs-common nfs-kernel-server }}} * Drop the following file into /etc/sysctl.d/50-local-ucc.conf {{{ # [msh] 201910.. kernel.dmesg_restrict=0 # [NTU][BOB][MTL] 2020-04-25 # enable Magic SysRequest key https://www.kernel.org/doc/html/latest/admin-guide/sysrq.html kernel.sysrq=1 }}} * Copy rkhunter.conf, mailname from another server * Install the UCC motd system on machines which mount /home: * Add the following line to /etc/inetd.conf: . {{{ motda stream tcp nowait root /home/wheel/bin/motd.update.sh motda }}} * Also add the following line to /etc/services (keeping things in order!): . {{{ motda 377/tcp # UCC MOTD update }}} * Finally, run vimotd as root on mussel, add the appropriate information and save the file (which then triggers a global motd push to all servers) * Add the following line to the bottom of /etc/rsyslog.conf to enable central logging . {{{ *.* @130.95.13.1 }}} * TODO: cron'ed weekly fstrim(8) |
This page is intended as a guide to set up UCC machines in some sort of standard way. Please update this if you find any problems when installing things (especially if using newer versions than described here).
Contents
Steps marked with require a wheel member, anything else can be done by a winadmin.
Before you start
Steps to do before installation
Add forward and reverse DNS entries for the machine.
Add the machine to DHCP.
Make sure all licenses required are on hand (see /home/wheel/docs/software-license/ on a user server)
Steps to do after
- Check everything works as expected
Email [email protected] with a summary of what was set up/re-installed
Dualboot Machines
These instructions relate to Dualbooting Windows 10 and Linux Mint. If installing a dualboot machine, always install Windows first where possible.
Install Windows following the below. Make note of the following when setting up the disks:
- Depending on the size of the disk, try to reserve up to 500GB or more for Windows.
- Linux works fine on anything down to about 100GB but 200GB+ is preferable.
Install Linux, making sure to use the previously reserved disk space.
Use a different hostname for the Linux installation (eg. catfish on Windows, and catfish-linux on Linux, or vice-versa)
- This is necessary so that the machine accounts in AD don't have the same name, otherwise one OS's entry overwrites the other and things get broken.
- Set up a scheduled task on Windows to reboot into Linux each day.
Windows 10
All new Windows machines in UCC should be installed with Windows 10 by default. Previous versions are deprecated.
- Find a Windows install disk or make a new one. Make sure you select the Professional edition.
- Plug in the install disk and boot from it.
- Select the US keyboard layout and Australian time/date format.
- Agree to the license terms etc.
- Partition the disks.
- Delete all existing partitions (if any) on the designated install disk.
- Select the empty space and click "New" to create a new partition. Enter the desired size or use the whole disk (if not doing dualboot).
Create a dummy user account (call it something like accmurph)
- Finish the installer. Once it has rebooted into the new Windows system and you have logged in you can continue.
- Install software.
- Software in this list should either be free to download and install, or something that the UCC has a license for.
- sshd , to automate the rest of the following
invoking CMD.EXE ? bash? PowerShell?
Open Powershell as Administrator and run the following:
Set-ExecutionPolicy Bypass; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')) choco install -y 7zip.install adobereader chocolateygui discord firefox flashplayerplugin foxitreader freecad gimp git.install googlechrome hwmonitor inkscape javaruntime keepass.install kicad kitty libreoffice lyx miktex notepadplusplus.install opera paint.net python3 teamviewer texstudio tor-browser vivaldi vlc vscode windirstat winscp.install
Install Steam and Battle.net to the games drive (if any).
Install the ocsinventory agent from https://www.ocsinventory-ng.org/en/.
This software maintains a registry of all our hardware and is used to determine which machines need upgrading. The server to point it at is https://ocsinventory.ucc.asn.au/ocsinventory and turn off SSL cert verification. No auth is required.
https://github.com/da2x/EdgeDeflector/blob/master/README.md ?
- Set the Windows computer name - the installer picks a random one automatically and this is bad.
- Right click on the Start button, select "System", then click "Rename this PC" and enter the desired name.
Configure the system for the UCC network. (type any commands below into the Administrator Powershell window you just opened)
Delete the dummy user created during install, enable the local Administrator account and set the password:
net user accmurph /delete net user Administrator /active:yes net user Administrator <Clubroom Password>
Join the machine to the domain UCCDOMAYNE as described in ActiveDirectory#Windows.
REBOOT.
You may need to manually set the time if it is out of sync, run Command Prompt (not powershell!) as administrator and use the command time HH:MM:SS
Force update group policy on the machine (now in the admin Command Prompt window):
gpupdate /force
Once Group Policy has been successfully applied (or before the machine is joined to the domain at all) you can force an NTP time sync with w32tm /resync /force
Add static route for 130.95.13.0/26: (This prevents a VPN connection from trying to steal the default route to users home directories.)
route add -p 130.95.13.0 MASK 255.255.255.192 130.95.13.65
Enable pings (alternatively, follow this guide):
netsh firewall set icmpsetting 8 enable
Add the UCC printer blacklight and set it as the default.
Linux Desktops
Linux Mint x64 Cinnamon (not the LMDE / Debian version) is the only Linux installation we support.
These instructions have been updated and checked with Linux Mint 19.1 - please update them to be compatible with any newer versions if you choose to install them.
- Find or create an install USB.
Download the ISO from https://www.linuxmint.com/download.php onto an existing Linux system.
wget http://mirror.waia.asn.au/pub/linux/linuxmint/linuxmint-isos/linuxmint.com/stable/19.1/linuxmint-19.1-cinnamon-64bit.iso
Plug in the USB and get the device node with lsblk (look at the size of each drive)
Copy the image to the USB: (this will take a few minutes)
sudo dd if=linuxmint-19.1-cinnamon-64bit.iso of=/dev/<usb identifier> bs=1M; sync;
- Boot from the USB and run the installer.
- Partition the disks. Select "something else" rather than the automagic guided options.
- If you are setting up dualboot, do NOT delete any Windows-related partitions.
- Create a new partition for the Linux system. No swap partition is required - mint no longer creates a swap partition by default, and can use a swap file in the root partition if swap space is required.
Use as ext4 file system and use / as the mount point.
Configure a dummy user, for example accmurph.
- Use sensible values for the other options.
- Boot into the newly installed system and configure it
Set up Active Directory
Ensure wheel group and sprocket group have sudo permission: sudo visudo
%wheel ALL=(ALL:ALL) ALL %sprocket ALL=(ALL:ALL) ALL
Ensure wheel group and sprocket group have administrative rights in Polkit. Create the file /etc/polkit-1/localauthority.conf.d/90-ucc-desktops.conf with the following contents:
[Configuration] AdminIdentities=unix-group:wheel;unix-group:sprocket
Modify /etc/fstab to mount /away. Use something like this (can differ with distro):
away.ucc.gu.uwa.edu.au:/space/away/home /home nfs nfsvers=3,auto,rw,tcp,nosuid,nodev,soft,x-systemd.automount,x-systemd.device-timeout=10,x-systemd.requires=network-online.target 0 1
x-systemd.requires=network-online.target is oddly insufficient, but x-systemd.automount is relatively robust, see systemd . According to mount , systemd-fstab-generator implicitly defeats retries and continues without "failing" by means of "x-systemd.mount-timeout=infinity,retry=10000,fg,nofail" , so try automounts
Network configuration is via DHCP and handled entirely by NetworkManager
Use a local package repository mirror with sudo mint-switch-to-local-mirror
Install software.
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb sudo dpkg -i google-chrome-stable_current_amd64.deb wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add - sudo apt install apt-transport-https echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list sudo apt update sudo apt install -y adobe-flashplugin arduino blender build-essential cvs chromium-browser etckeeper fish freecad freeglut3-dev geeqie gimp glew-utils gnucash google-chrome-stable gtk2-engines-oxygen hugin inkscape jhead keepassxc kicad ladvd libreoffice mlocate mplayer nasm nfs-common ocsinventory-agent openjdk-11-jdk openssh-server parallel pepperflashplugin-nonfree pidgin python remmina remmina-plugin-rdp rdesktop subversion thunderbird tig vim-gtk vlc zsh lyx texlive torbrowser-launcher xdotool sublime-text
The server hostname for OCSInventory is https://ocsinventory.ucc.asn.au/ocsinventory
Check everything works by running ocsinventory-agent from the command line and then check https://ocsinventory.ucc.asn.au for an entry
Set the root password, then add the UCC root SSH keys: add the hostname to /home/wheel/bin/uccroot/push.sh, then run that script.
Install vivaldi browser (there's no repo package at the moment) - go to https://www.vivaldi.com and install from there
Set up the UCC printer blacklight
Open the Printers settings panel
- Add printer directly (list its hostname in the insert field)
- If the definition file cannot be located, download from the manufacturer's website (some googling may be required)
Log in as your own user (reboot if necessary to do so) and go to login window preferences in the main menu
- Set theme to elegance
- Go to options and deselect "automatically select the last logged in user"
- Also change the default session from "Automatically detected" to "cinnamon"
Delete the initial user: sudo userdel -r accmurph (ignore any errors)
- Enable automatic upgrades in the Update Manager (GUI)
- Tick the box "Apply updates automatically" and ignore any warnings about system stability.
Proprietary NVidia Drivers
NOTE: nouveau is preferred if it works, as it integrates with the kernel.
Locate the driver edition for the card (the major number of the driver version specified on http://www.nvidia.com/Download/index.aspx?lang=en-us)
- DON'T DOWNLOAD FROM HERE
- Remember to select "Linux x64" as the OS
Install the relevant package sudo apt install nvidia-<VER>
E.g. nvidia-340 for the GeForce 9600
- Reboot
If the graphics don't work (e.g. falls back to software rendering), sudo apt purge nvidia-<VER>
Linux Servers
- At installation:
- Avoid setting package sources to the UWA mirror as they are frequently out of date. AARNET seems to be the most reliable mirror at this stage
- Keep APT sources.list (or software repositories) as minimal as possible, but if you don't:
- Beware of copying the apt sources.list from another server without copying the apt_preferences file too. You might suddenly find yourself with much newer versions of packages than you want.
- The UCC standard install has all volumes in LVM on md raid. Generally var and home are put on a separate logical volume to root. You had better have a good reason if you're not following this guideline!
- Add a root user and nuke the initial unprivileged user:
That's as simple as running passwd as a super user, re-logging in as root and running deluser on the original user
- If the machine has an SSD (or several thereof), ensure that TRIM (aka discard) is enabled at all layers (lvm and disk layer)
Set up DNS on Mooneye:
- Add an entry to /etc/bind/domains/primary/ucc.machines then close the file and run zonemake.py in the same directory
- If zonemake has errors, go back and fix them before proceeding!
Use rndc reload to get bind to reload the zone files
Set up DHCP on Murasoi:
- Add the ethernet (MAC) address /etc/dhcp/dhcpd.conf
Restart the DHCP server with service isc-dhcp-server restart
- Set up NFS:
- Only do this once you have DNS set up and working properlyChangeLog#preview
Add the machine to the /etc/exports files on the appropriate servers (Motsugo for /home, Molmol (or just host "away") for /away and nortel+onetel for /services). Reload the server config with exportfs -r (Linux) or service mountd reload (FreeBSD)
- Remember that only machines on the machine room subnet and physically within the machine room should mount /home while pretty much every machine should mount /away
Add the fstab line (copy off Motsugo or something)
mount -av and hope
- Configure the SSH server:
- Copy the SSH banner (usually in /etc/issue.net) from another server and modify it to suit
- Ensure the correct banner file is set in /etc/ssh/sshd_config
- Enable root ssh logins and X11 forwarding in /etc/ssh/sshd_config
- Restart the SSH server and confirm all working
- Add the UCC root SSH keys:
- Add the hostname to /home/wheel/bin/uccroot/push.sh (this will add wheel keys to the machine when the script is run)
For adding non-wheelians to certain machines, add their public key to the <machine name>-extra in that same folder
Start an ssh-agent using eval `ssh-agent` and authenticate your root key using ssh-add ~<username>/.ssh/id_rsa, then run the updated push.sh script
Setup Active Directory. Follow the instructions at ActiveDirectory
Allow wheel members sudo access to the machine by running visudo and adding the following lines:
# Allow wheel members to execute any command %wheel ALL=(ALL:ALL) ALL
Install dispense: Go to /home/wheel/tpg/gitclones/opendispense2, run make -C src/client clean all and copy dispense to /usr/local/bin on the target server.
Add the machine's address as trusted in /etc/opendispense2/dispsrv.conf on merlo, and then restart dispsrv with systemctl restart dispsrv
For users to be able to dispense, you also need to install oidentd
Install postfix, set the mail host to mailhost.ucc.gu.uwa.edu.au
To have mail delivered locally, see http://www.postfix.org/STANDARD_CONFIGURATION_README.html
- Packages to install:
alpine apache2 biff etckeeper finger fish joe ladvd logwatch mlocate molly-guard mosh ncurses-term ocsinventory-agent openbsd-inetd parallel rkhunter rssh screen subversion sudo strace sxid tig tmux tshark uptimed vim zsh
- For file servers, you should also install:
acl clamav iotop nfs-common nfs-kernel-server
- Drop the following file into /etc/sysctl.d/50-local-ucc.conf
# [msh] 201910.. kernel.dmesg_restrict=0 # [NTU][BOB][MTL] 2020-04-25 # enable Magic SysRequest key https://www.kernel.org/doc/html/latest/admin-guide/sysrq.html kernel.sysrq=1
- Copy rkhunter.conf, mailname from another server
- Install the UCC motd system on machines which mount /home:
- Add the following line to /etc/inetd.conf:
motda stream tcp nowait root /home/wheel/bin/motd.update.sh motda
- Also add the following line to /etc/services (keeping things in order!):
motda 377/tcp # UCC MOTD update
- Finally, run vimotd as root on mussel, add the appropriate information and save the file (which then triggers a global motd push to all servers)
- Add the following line to the bottom of /etc/rsyslog.conf to enable central logging
*.* @130.95.13.1
- TODO: cron'ed weekly fstrim(8)