安装方式
linu下的软件包有三种安装方式
Redhat系列
- 源码安装
- rpm安装
- yum安装
Debian系列
- 源码安装
- dpkg安装
- apt-get安装
源码安装
相对于二进制软件包,源码安装配置和编译比较繁琐,但是可移植性却好得多
源码包格式
源码包通常包含以下字样
src:源码包标识,相对于bin.tar.gz:压缩包格式.tgz:tar.gz的缩写
二进制包通常包含以下字样
bin:二进制包格式,相对于src.rpm:Redhat系列二进制包.deb:Debian系列二进制包
源码包安装
源码安装通常有以下几步
通常我们会执行
--prefix参数将软件安装到指定位置以便维护
- 生成Makefile:
./configure --prefix=/opt/XXX - 编译源文件:
make - 安装软件包:
make install
./configre --help可以查看帮助信息来获得更多的设置选项
make clean(不一定有)可以清除编译连接过程中的临时文件
make uninstall(不一定有)可以根据Makefile文件来删除软件
关于configure的更多知识参考configure、make、make install 命令 和 configure和make install背后的故事
rpm安装
rpm包格式
[root@zhujipeng test]# ls telnet-0.17-48.el6.x86_64.rpm
telnet-0.17-48.el6.x86_64.rpm
rpm软件包的组成如下
- telnet: 软件的名称
- 0.17:软件版本号
- el6: redhat系列版本
- x86_64: cpu型号
- devel:软件开发包(包含开发需要的依赖)
- src: 源码形式的安装包
rpm安装
rpm [选项] <软件包>
通用选项如下
| 选项 | 说明 |
|---|---|
| -v | 显示详细信息(通用选项) |
| -vv | 显示调试信息(通用选项) |
安装
rpm -ivh <安装包>
选项如下
| 选项 | 说明 |
|---|---|
| -i, --install | 安装(通常与vh选项一起使用) |
| -h, --hash | 以#显示进度信息 |
| --force | 强制进行安装 |
| --nodeps | 忽略依赖关系 |
| --test | 只测试,不实际执行 |
| --replacepkgs | 重新安装软件包 |
| --oldpackage | 允许安装低版本的包 |
出错后可以使用
--force和--nodeps(no dependency)强制进行安装
升级
rpm -Uvh <安装包>
| 选项 | 说明 |
|---|---|
| -U, --upgrade | 升级(如果没有安装则安装) |
| -F, --freshen | 升级(软件包要事先安装过) |
| -h, --hash | 以#进度显示进度信息 |
| --force | 强制进行升级 |
| --nodeps | 忽略依赖关系 |
| --test | 只测试,不实际执行 |
查询
rpm -q[其他选项] [参数]
| 选项 | 说明 |
|---|---|
| -q, --query | 查询单个软件包 |
| -qa | 查看所有已安装软件包 |
| -qi | 查看软件包摘要信息 |
| -ql | 查看软件包生成的文件列表 |
| -qd | 查看软件包生成的帮助文件 |
| -qf | 查看文件是由哪个软件包安装的 |
| -qR | 查看软件包的依赖关系 |
| -q –scripts | 查看软件包安装脚本 |
| -p, package | 指定查询时使用的本地软件包 |
-p参数的影响如下[root@zhujipeng test]# rpm -q telnet telnet-0.17-48.el6.x86_64 [root@zhujipeng test]# rpm -q telnet-0.17-48.el6.x86_64.rpm package telnet-0.17-48.el6.x86_64.rpm is not installed [root@zhujipeng test]# rpm -qp telnet-0.17-48.el6.x86_64.rpm telnet-0.17-48.el6.x86_64
删除
rpm -e <安装包>
| 选项 | 说明 |
|---|---|
| -e, --erase | 移除软件包 |
| --nodeps | 忽略依赖关系 |
| --test | 只测试,不实际执行 |
| --allmatches | 移除所有匹配的版本 |
yum安装
yum [选项] [子命令] [软件包]...
通用选项如下
| 选项 | 说明 |
|---|---|
| -y, --assumeyes | 所有的询问回答yes |
| --assumeno | 所有的询问回答no |
| -q, --quiet | 不显示输出 |
安装
初始安装软件包
yum install [软件包]...
初始安装软件包
yum localinstall [软件包]...
重新安装软件包
yum reinstall [软件包]...
选项如下
| 选项 | 说明 |
|---|---|
| --nogpgcheck | 不检查GPG签名 |
| --downloadonly | 只下载不安装 |
| --downloaddir=directory | 指定下载的目录 |
升级
升级软件包
yum update [软件包]...
升级软件包
yum localupdate [软件包]...
检查软件更新
yum check-update [软件包]...
选项如下
| 选项 | 说明 |
|---|---|
| --nogpgcheck | 不检查GPG签名 |
| --downloadonly | 只下载不安装 |
| --downloaddir=directory | 指定下载的目录 |
降级
降级安装软件包
yum downgrade [软件包]...
查询
列出安装包
yum list [软件包]...
列出可更新安装包
yum list updates
列出已安装安装包
yum list installed
模糊查找软件包
yum search [软件包]...
查看软件包信息
yum info [软件包]...
查询软件包的提供方
yum provides [软件包]...
查询文件所在的安装包
yum resolvedep [文件]...
查询软件包的依赖
yum deplist [软件包]...
删除
删除软件包
yum erase [软件包]...
删除软件包
yum remove [软件包]...
软件包组
显示所有软件包组
yum grouplist [软件包]...
显示组包含的软件包
yum groupinfo [软件包]...
安装RPM软件包组
yum groupinstall [软件包]...
更新RPM软件包组
yum groupupdate [软件包]...
删除RPM软件包组
yum groupremove [软件包]...
软件仓库
仓库
查看所有的yum仓库
yum repolist all
查看启用的的yum仓库
yum repolist enabled
查看禁用的yum仓库
yum repolist disabled
缓存
清除缓存
yum clean <缓存范围>
| 缓存范围 | 说明 |
|---|---|
| headers | 软件包头信息 |
| packages | 软件包缓存 |
| metadata | 元数据缓存 |
| expire-cache | 过期信息缓存 |
| dbcache | 数据库信息缓存 |
| plugins | 插件缓存 |
| all | 所有缓存 |
建立缓存
yum makecache
历史记录
列出yum历史操作命令
yum history
查看帮助
查看子命令的帮助信息
yum help <子命令>
dnf安装
DNF是新一代的rpm软件包管理器,详情参考这里
参考
rpm、tar及yum使用详解
RPM 和 YUM 包管理
Linux 平台上的软件包管理
Linux软件管理工具rpm详解
Linux软件包管理工具yum详解
yum命令Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
如何使用yum来下载RPM包而不进行安装
Ubuntu的包管理方式简介(apt-get、dpkg、aptitude)
configure、make、make install 命令
configure和make install背后的故事
GNU Autotools的使用方法
Makefile选项CFLAGS,LDFLAGS,LIBS
dnf 命令用法详解
linux devel包 和 非devel包的区别
rpm.bin和bin区别
GPG入门教程