Linux 软件管理(yum, apt/apt-get, dpkg/rpm)
yum
操作 | 命令 |
---|---|
更新源 | sudo yum clean all && sudo yum makecache |
安装包 | sudo yum install <package_name>[-<version>] |
升级包 | sudo yum upgrade <package_name> 升级所有: sudo yum update |
卸载包 | sudo yum remove <package_name> |
降级包 | sudo yum downgrade <package_name>-<version> |
查找包 | yum search <package_name> |
已安装 | yum list installed [<package_name>] |
可用版本 | yum list <package_name> --showduplicates |
锁定版本 | sudo yum versionlock add <package_name>[-version] |
解锁锁定 | sudo yum versionlock delete <package_name> |
清空锁定 | sudo yum versionlock clear |
查看锁定 | yum versionlock list |
tip: 锁定版本需要自己安装 sudo yum install yum-plugin-versionlock
apt/apt-get
操作 | 命令 |
---|---|
编辑源 | sudo apt edit-sources [<source_name>] |
更新源 | sudo apt/apt-get update |
安装包 | sudo apt/apt-get install <package_name>[=<version>] |
升级包 | sudo apt/apt-get upgrade <package_name> |
卸载包 | sudo apt/apt-get remove <package_name> |
清除包 | sudo apt/apt-get purge <package_name> |
已安装 | apt list [<package_name>] -i/--installed |
查找包 | apt/apt-cache search <package_name> --names-only |
安装细节 | apt/apt-cache show <package_name> |
修复依赖 | sudo apt-get -f install |
卸载依赖 | sudo apt-get autoremove |
历史版本 | apt-cache policy <package_name> |
可用版本 | apt list <package_name> -a/--all-versions apt-cache madison <package_name> |
锁定版本 | sudo apt-mark hold <package_name> |
解锁锁定 | sudo apt-mark unhold <package_name> |
查看锁定 | apt-mark showhold |
dpkg/rpm
操作 | dpkg | rpm |
---|---|---|
安装 | sudo dpkg -i <deb_name> [--force-depends] | sudo rpm -ivh <rpm_name> |
升级 | sudo rpm -Uvh <rpm_name> | |
卸载 | sudo dpkg -r <deb_name> | sudo rpm -e [--nodeps] <rpm_name> |
清除 | sudo dpkg -P/--purge <deb_name> | |
查找 | dpkg -l <deb_name> sudo dpkg-query -W "chrome" |
rpm -qa <rpm_name> |
包信息 | dpkg -s <deb_name> | rpm -qi <rpm_name> |
包内容 | dpkg -L <deb_name> | rpm -ql <rpm_name> |
查包名 | dpkg -S <file_name> | rpm -qf <file_name> |
源码编译安装
以 nginx 安装为例:
-
准备源代码包
#从项目的官方网站或代码仓库(如 GitHub)下载源代码 wget https://nginx.org/download/nginx-1.24.0.tar.gz #下载 tar -xzvf nginx-1.24.0.tar.gz #解压 cd nginx-1.24.0
-
准备编译环境
#安装编译工具和依赖,比如 gcc(GNU 编译器集合)和 make。 sudo yum install pcre-devel zlib-devel # 安装 nginx 依赖包
-
安装(3步曲)
#配置构建环境 ./configure --prefix=/usr/local/nginx #--prefix指定了Nginx的安装目录,其他的配置项按需添加 make #编译 sudo make install #安装
-
验证
#启动验证 /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx -version
-
卸载
sudo rm -rf /usr/local/nginx # make uninstall(部分软件支持)
note:因为没有使用包管理器安装,所以需要手动删除安装的文件。如果你在配置时指定了 --prefix,只需删除该目录即可。
结论
- 方便性:“apt-get机制”最优,“dpkg机制”次之,“从源码编译安装机制”最末。“apt-get机制”已经预先解决依赖问题,“从源码编译安装机制”需要我们自己解决依赖问题
- 可定制性:“从源码编译安装机制”最优,“dpkg机制”次之,“apt-get机制”最末。“从源码编译安装机制”允许我们自定义安装参数,“apt-get机制”几乎完全采用默认的安装参数
- 所需权限:“从源码编译安装机制”所需权限可以是最小,“dpkg机制”次之,“apt-get机制”所需权限最大。在我们不拥有较高权限(比如root权限)的情况下,只能采用“从源码编译安装机制”
Via