Package managers on Linux (TBC)
Published at 2023-03-11
Last update over 365 days ago
Licensed under CC BY-NC-SA 4.0
unix
tool
package-manager
linux
apt
This post tries to simply introduce some package managers and their basic usage.
pacman
The pacman package manager is the default package manager of Arch Linux. Learn more about pacman on the official wiki here.
pacman - Changing to mirror
Before you start to use pacman, changing its source to mirror source in your country might be greatly helpful.
Firstly, find a mirror you need on Mirror Overview of ArchLinux offical site. Here I choose the mirror from my mother school, whose URL is https://mirrors.njupt.edu.cn/archlinux/
.
Then, edit /etc/pacman.d/mirrorlist
, and paste the string below into the file.
Server = https://mirrors.njupt.edu.cn/archlinux/$repo/os/$arch
Last, save the file and run sudo pacman -Syu
to update.
The file
/etc/pacman.d/mirrorlist
has already provided many mirrors in it. So you can just skip the first step above, just edit the mirrorlist file. Find the server you want, and delete the#
at the begining of that line to uncomment it.
For an easy copy, here are some mirrors in China:
### China
## Aliyun
# Server = https://mirrors.aliyun.com/archlinux/$repo/os/$arch
## Netease
# Server = https://mirrors.163.com/archlinux/$repo/os/$arch
## Tsinghua
# Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
## NJU
# Server = https://mirrors.nju.edu.cn/archlinux/$repo/os/$arch
## NJUPT
# Server = https://mirrors.njupt.edu.cn/archlinux/$repo/os/$arch
pacman - Upgrading packages
Run the command below to upgrade packages.
sudo pacman -Syu
You are recommended to immediately run this command after changing to a mirror.
pacman - Querying package(s)
To find the package you need in the sync database:
pacman -Ss <package_name>
The “s” in the small case means “search”.
To list the packages installed:
pacman -Qq // list all the packages, ignore version (-q)
pacman -Qqe // list explicitly installed packages (-e)
pacman -Qqd // list the packages installed as dependencies (-d)
pacman -Qqdt // list the packages which are no longer dependencies (-t), usually can be removed
pacman - Installing package(s)
This command helps install one or more packages.
sudo pacman -S <package_name1> <package_name2> ...
For example, to install bat, run:
sudo pacman -S bat
pacman - Removing package(s)
This command helps remove a single package, leaving all of its dependencies installed:
sudo pacman -R <package_name>
To remove a package and its dependencies that are not required by any other installed package:
sudo pacman -Rs <package_name>
Here I found a helpful article that provides more information: 《Arch Linux 软件包的查询及清理》.
APT
The APT(Advanced Packaging Tools) is(Maybe “are”? Since it’s “tools”?) widely used in Debian and Ubuntu etc. It mainly includes apt-get
,apt-cache
and apt-file
.
APT - Changing to mirror
Take Tsinghua’s mirror as an example:
## Tsinghua
## from https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
# deb-src http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
APT - Useful commands
sudo apt update // update the package info
sudo apt upgrade // upgrade all the packages installed
apt list --upgradeable // list all the packages that can upgrade
sudo apt install <package_name> // install a specific package
sudo apt install -f // fix the dependencies
sudo apt remove <package_name> // remove a specific package
sudo apt autoremove // auto remove the packages that no longer needed
apt show <package_name> // show the info about a specific package