====== Debian Tips ====== ==== Installation ==== * The CD net install image is the smallest one available but comes with fewest packages. * There is a 16GB USB download that contains most popular packages. This is a good middle ground. * If you use the ''jigdo-file'' download method, you can download the entire set with every single repo. Debian 11 had 19 DVDs for the full set. There is also bluray versions available. The entire 80-90GB could fit on a single USB drive. * There are Live images available in addition to just the installer. * Install VirtualBox Guest Additions (for VM only): ''apt install build-essential linux-headers-$(uname -r)'' then run ''VBoxLinuxAdditions.run'' from the disk. There is also a copy of the ISO in the Debian non-free repository. You might need to do ''sudo su - '' to get a "true root" shell, otherwise it might install the drivers under the wrong low-privilege user. * edit apt sources with ''sudo apt edit-sources'' and add right repos whether DVD or remote * Firmware * You can download an unofficial version that includes non-free firmware, or you can download the non-free firmware as a separate zip and install packages only as needed. For example, a wifi driver. * Installing firmware (''apt-get download firmware-iwlwifi'' or download from https://packages.debian.org/buster/all/firmware-iwlwifi/download for X220 drivers.) then simply install with ''sudo dpkg -i firmware-iwlwifi'' - Or download the releases with non-free firmware included (easiest) - The firmware collection download is just all the ''.deb'' packages inside a folder named ''firmware/'', if you have that on a usb stick when you install it can use them. or install manually afterwards - on desktop ROG motherboard: ''sudo dpkg -i firmware-realtek'' ==== GRUB ==== * Setup custom grub boot theme (''curl mygist > /etc/grub.d/99_danostheme; sudo update-grub'' ==== Disks ==== * Setting up disk partitions (partition, encrypt, THEN LVM?? yep!) -- execute shell and do ''vgremove my-volume-group'' and ''vgremove --removemissing my-volume-group'' if it gets into a bad state. * Mount USB drives with ''mount'' and list them with ''dmesg'' * setup disks to auto-mount with `/etc/fstab` entries === Mount SMB drive === # Mounting a CIFS/SMB network drive # Ensure driver installed with `apt install cifs-utils` # To mount manually, run command like this: # Omit the `password=` option to get prompted # uid/gid is for the local Linux account # user is the login for the remote SMB drive sudo mount -t cifs -o uid=myuser,gid=sudo,user=myuser, \\\\192.168.0.100\\home /mnt/smb-drive # Example /etc/fstab entry for mounting CIFS/SMB network drive # `apt install cifs-utils` # Credentials should be in `/root/.smbcredentials` with `chmod 400` # File should have 2 lines and look like: # username=myuser # password=my secret password //mynas.local/home /mnt/smb-drive cifs uid=myuser,gid=sudo,credentials=/root/.smbcredentials ==== Laptops ==== * Make laptop lid close do nothing - ''edit /etc/systemd/login.conf'' and set ''HandleLidSwitchExternalPower=ignore'' or ''HandleLidSwitch=ignore'' * Check battery level on CLI only (''cat /sys/class/power_supply/BAT0/capacity{,_level}')'' or ''upower -i /org/freedesktop/UPower/devices/battery_BAT0'', or use ''sudo apt install acpitool'' and run ''acpitool''. ==== Development ==== * Install Qt5 libraries, QtCreator IDE and UI Designer with `apt install qt5-default qtcreator`. Run with `qtcreator`. Run designer with `/usr/lib/qt5/bin/designer` * List Java versions and change with update-alternatives e.g. ''sudo update-alternatives --list java'' and ''sudo update-alternatives --config java'' ==== Audio/Video ==== * Play DVDs by installing ''vlc'' and ''libdvdcss2''. * Rip DVDs using ''handbrake'' with ''libdvdcss2'' or use ''vlc'' and choose File -> Convert/Stream * Convert .m4v video to .ogg video with ''ffmpeg -i x.m4v x.ogg'' * Extract audio only from a video with ''ffmpeg -i x.m4v -vn x.ogg'' * Flip video vertically with ''ffmpeg -i in.avi -vf vflip -c:a copy out'' * Play PC speaker beep: `echo -ne '\007'` or `sudo apt install beep; beep` * Use `vlc` or `easytag` to edit metadata on a song/video file. * Rip music from CDs with [[https://abcde.einval.com/wiki|abcde]]. (''apt install abcde'') Just run it. It will prompt you and automate everything. * Rip videos from DVD with ''handbrake'' or ''vlc'' (Media->Convert/Save) * Dump CD to ISO image: ''dd if=/dev/sr0 of=disc.iso bs=1MB'' ==== sudo ==== * set visudo to use vim with ''sudo update-alternatives --config editor'' * set sudo nopassword with ''sudo visudo'' and set ''%sudo ALL=NOPASSWD:ALL'' on the line * add user to sudo group ''gpasswd -a sudo myuser'' ==== Misc ==== * Change console fonts with ''sudo dpkg-reconfigure console-setup'' * Bind caps to escape with ''setxkbmap'' https://www.devdungeon.com/content/rebind-caps-lock-key-escapecontrol * Change default shell to [[:terminal:zsh|zsh]] (''which zsh; chsh'') - Customizing [[:terminal:zsh|Zsh]]: [[https://www.youtube.com/watch?v=0yPj-BfGRug]] * To update from Debian 10 to 11, run ''apt edit-sources'' and replace each instance of ''buster'' with ''bullseye''. One exception is the security line which should switch ''buster/updates'' with ''bullseye-security''. Then run ''apt update && apt updgrade'' followed by ''apt full-upgrade''. * Install openbox and put ''exec openbox-session'' in ''~/.xinitrc'' to use openbox. * How to set hostname and use Synology DNS? https://wiki.debian.org/NetworkConfiguration#Defining_the_.28DNS.29_Nameservers - Add `nameserver 1.2.3.4` to `/etc/resolve.conf` * Customize GRUB (colors, background, timeout). See [[:other:grub_bootloader|GRUB]] page for video, theme file, and instructions. * Setup fail2ban with ''sudo apt install fail2ban'' * See what ports/sockets are listening with `netstat` and commonly `netstat -ntlp` (`sudo apt install net-tools)` * Use `nslookup` to find IP of a hostname (`sudo apt install dnsutils`) * Repeat a program and view output with `watch -n3 something`