====== Devuan Management ======
Some are applicable to any APT-based distro.
//**Note:** To remove translations,//$ cd /etc ; echo "Acquire::Languages { \"none\"; };" > apt/apt.conf.d/99translation ; cd - >/dev/null
//**Note:** To automatically update system essentials,//$ apt install unattended-upgrades ; dpkg-reconfigure --priority=low unattended-upgrades
===== Upgrading =====
To do an upgrade:
* Modify ''/etc/apt/sources.list'' and replace the release codenames # sed -i 's/old_release/new_release/g' /etc/apt/sources.list
* skip ''-i'' option for a dry-run
* Update package list # apt update
* Upgrade distribution # apt dist-upgrade
* To make sure EVERYTHING is upgraded (avoids old packages held back)
* # apt full-upgrade
* Do house cleaning
# apt autoremove
# apt clean
That should do it!
===== List Installed Packages =====
Using ''apt'' tool $ apt list --installed 2>/dev/null | grep installed
Note that apt will issue a warning when piping its output in shell. Hence, the need to redirect ''stderr'' to ''/dev/null''. We can further grep away the packages that were automatically installed.
Using the basic ''dpkg'' tool $ dpkg --get-selections | sed -n 's/^\([^\t]*\)\t.*$/\1/ p'
This version, however, only provides package name. To extract similar output from ''apt'' (assuming output was redirected into a file called ''temp.txt''), run $ cat temp.txt | sed -n 's|^\(.*\)/.*$|\1| p'
===== Adding More Repo =====
Get proper signature key from that source (''*.asc'' file) and add to system using ''apt-key''.
# cat | apt-key add -
Create a listing file for source URL in ''/etc/apt/sources.list.d/''.
# echo "deb [arch=?] main" > /etc/apt/sources.list.d/new-repo.list
After doing an ''apt update'', should be able to ''apt install ''...
===== Reconfigure Package =====
Basically, run a ''dpkg-reconfigure ''
e.g. To change timezone # dpkg-reconfigure tzdata
===== Search package for specific binary =====
* There is a specific tool for that # apt install apt-file
* Update the package/file mapping database # apt-file update
* Search for "top" # apt-file search --regexp '/top$'
===== Avoiding marking package as manually installed =====
* Use dry-run (simulation) option ''-s'' # apt install -s ... 2>/dev/null|grep manually
* Removed the package(s) displayed from your install list and re-run without ''-s''
===== GRUB Stuffs =====
To prevent GRUB from looking for other OS every time it is updated:
* edit ''/etc/default/grub'' and insert GRUB_DISABLE_OS_PROBER=true
* run update-grub
To add a custom entry:
* add a menuentry in ''/etc/grub.d/40_custom''
* uses the same menuentry format as in ''/boot/grub/grub.cfg''
* e.g. to boot my Slackware partition I can insert
menuentry 'Slackware' --class slackware --class gnu-linux --class gnu --class os $menuentry_id_option 'my1part-' {
insmod part_gpt
insmod ext2
set root='hd0,gpt4'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt4 --hint-efi=hd0,gpt4 --hint-baremetal=ahci0,gpt4
else
search --no-floppy --fs-uuid --set=root 4d95a526-2518-4fd6-a904-f7bd2729145d
fi
linux /boot/vmlinuz-huge-4.4.240 root=/dev/sda4
}
* use ''initrd'' (after ''linux'' line) to specify an initrd/initramfs
* of course, should be a valid filesystem uuid
* run update-grub
===== KVM Stuffs =====
If KVM group is missing, simply create one...
# [ -z "$(cat /etc/group|grep kvm)" ] && addgroup --gid 125 kvm