软件包管理

返回 Linux


apt(Debian / Ubuntu)

# 更新索引
apt update
 
# 安装 / 卸载
apt install nginx
apt remove nginx          # 保留配置
apt purge nginx           # 彻底删除(含配置)
 
# 升级
apt upgrade               # 升级所有包
apt full-upgrade          # 升级并处理依赖变更
 
# 搜索 / 查看
apt search nginx
apt show nginx
apt list --installed
 
# 清理缓存
apt autoremove            # 删除不再需要的依赖
apt clean                 # 清空下载缓存

yum / dnf(RHEL / CentOS / Fedora)

# dnf 是 yum 的继任者,语法相同
dnf install nginx
dnf remove nginx
dnf update                # 升级所有包
dnf update nginx          # 升级指定包
 
# 搜索 / 查看
dnf search nginx
dnf info nginx
dnf list installed
 
# 清理
dnf autoremove
dnf clean all
 
# 组安装
dnf groupinstall "Development Tools"

rpm(底层包管理)

rpm -ivh package.rpm      # 安装(i=install v=verbose h=进度条)
rpm -Uvh package.rpm      # 升级
rpm -e package            # 卸载
rpm -qa                   # 列出所有已安装包
rpm -qi nginx             # 包详细信息
rpm -ql nginx             # 包安装的文件列表
rpm -qf /usr/sbin/nginx   # 查询文件属于哪个包

dpkg(底层包管理)

dpkg -i package.deb       # 安装
dpkg -r package           # 卸载(保留配置)
dpkg -P package           # 彻底卸载
dpkg -l                   # 列出所有已安装包
dpkg -L nginx             # 包安装的文件列表
dpkg -S /usr/sbin/nginx   # 查询文件属于哪个包

添加第三方仓库

apt(Ubuntu PPA)

# 添加 PPA
add-apt-repository ppa:ondrej/php
apt update
 
# 手动添加 GPG 密钥 + 源
curl -fsSL https://pkg.example.com/gpg.key | gpg --dearmor \
    -o /usr/share/keyrings/example-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/example-keyring.gpg] \
    https://pkg.example.com stable main" \
    > /etc/apt/sources.list.d/example.list
apt update

yum/dnf(repo 文件)

# 添加 repo 文件
cat > /etc/yum.repos.d/nginx.repo << 'EOF'
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
EOF
 
dnf install nginx

snap / flatpak

# snap(Ubuntu)
snap install code --classic
snap list
snap remove code
snap refresh              # 更新所有 snap 包
 
# flatpak
flatpak install flathub org.gimp.GIMP
flatpak list
flatpak uninstall org.gimp.GIMP
flatpak update

编译安装

# 典型流程
tar -xzf package.tar.gz
cd package/
./configure --prefix=/usr/local/nginx
make -j$(nproc)
make install

相关文档