This is an old revision of the document!
Table of Contents
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
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 <key-file.asc> | apt-key add -
Create a listing file for source URL in /etc/apt/sources.list.d/.
# echo "deb [arch=?] <new-repo-url> <version> main" > /etc/apt/sources.list.d/new-repo.list
After doing an apt update, should be able to apt install <pkg>…
Reconfigure Package
Basically, run a dpkg-reconfigure <pkg>
e.g. To change timezone
# dpkg-reconfigure tzdata
Upgrading APT-based systems
To do an upgrade:
- Modify
/etc/apt/sources.listand replace the release codenames# sed -i 's/old_release/new_release/g' /etc/apt/sources.list
- skip
-ioption 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!
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 <pg1> ... <pkgN> 2>/dev/null|grep manually
- Removed the package(s) displayed from your install list and re-run without
-s
