Debian-Based Server Setup¶
Run update and upgrade distro first. Install NTP package is there are errors with that. Reboot
Setup powertop and powersaving features
Powersave governor and at reboot. Remember to run the command again
@reboot echo "powersave" | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor >/dev/null 2>&1
Ensure these packages are installed
powertop htop iotop fio curl gnupg wget ntfs-3g neofetch ca-certificates lsb-release hdparm hd-idle openssh-server at autojump screen bash-completion
- after installing
bash-completion
, need to source.bashrc
for Docker autocomplete to work
HDD¶
lsblk
and blkid
to get the ntfs hard drive /dev name and the /dev/by-uuid/…
Edit the fstab to mount the drive, same entry for nvme drive
If the mounted device is HDD array, need to spindown disk with hdparm
For the -S spindown, 0-240 is multiple of 5s, 241-255 is multiple of 30 min. The above command set spindown every 30min.
If hdparm does not work, hd-idle can be used. Edit the file in /etc/defaults/hd-idle
Sudo without password, go to visudo and add the lines to the bottom, replace $USER with the actual username.
Edit shortcuts in bashrc
OpenSSH with Keys¶
^7003a1
Generate the key using the terminal¶
- give a location to put the key pair
- this generate a public (.pub) and private key pair
key.pub
is the public key that was generated
The key is ready to use for authorization.
Generate keys using PuTTY software¶
- Copy the red part and use nano to add it in the server
~/.ssh/authorized_keys
- Make sure permissions are correct
- Save private key as ppk file on the root ssh folder.
-
If the client with private key is Linux machine, need to change the permission of the private key.
-
Convert the private key Conversion > Export OpenSSH Keys and save the file to a folder OpenSSH Keys
SSH Config¶
Configuration file for easy SSH access. The permission for that file is 644.
Use with OliveTin
To have seamless ssh experience with OliveTin, make sure to copy the ssh config
file and all the keys to /root
, since in OliveTin ~
means /root
not your user home directory.
Setting Up SMB¶
Refer to Samba(SMB) Setup to setup SMB server.
bashrc¶
The bashrc will contain server specific variable and functions.
Bashrc can also link to
bash_aliases
for more alias. Installing additional software may require bashrc changes, eg. ffsubsync
, autojump
To have a consistent experience even when using SSH, ensure these lines are removed from
bashrc
. However, contents of bash_aliases
and aliases will not be loaded, only variables.Desktop Environment Setup¶
Firefox¶
The location of firefox profile is at /home/$USER/.mozilla/firefox/xxxxx.default
Make a tarball and copy it and extract it in destination.
In the profile folder, look for compatibility.ini, go to a random profile in the dest machine and copy the compatibility.ini settings to the one that is copied over. This ensure compatibility so that the new profile works without warning.
Check the profile.ini with the name and the location of the new profile folder, firefox should be the same as before.
Themes
To backup/restore settings of cinnamon
Icons
The icons are located at these locations.
Scripts
Copy the scripts and put it into ~/script for organization and copy the old crontab for executing these scripts.