Linux软件安装方式 - Tarball&RPM&YUM( 三 )

  • RPM安装软件
# 光盘安装软件$ rpm -ivh /光盘挂载路径/rp-pppoe-3.11-5.el7.x86_64.rpm# 安装多个软件$ rpm -ivh a.i386.rpm b.i386.rpm *.rpm #*.rpm表示许多的软件文件# 联网安装软件$ rpm -ivh http://website.name/path/pkgname.rpm
  • RPM升级
# -Uvh: 后面接的软件即使没有安装过, 则系统将予以直接安装; 若后面接的软件有安装过旧版, 则系统自动更新至新版;# -Fvh: 如果后面接的软件并未安装到你的 Linux 系统上, 则该软件不会被安装; 亦即只有已安装至你 Linux 系统内的软件会被"升级";
  • RPM查询
# 显示所有安装软件$ rpm -qa# 显示已安装的软件$ rpm -q[licdR] 已安装的软件名称# 显示已安装的软件$ rpm -qf 存在于系统上面的某个文件名# 查看RPM文件$ rpm -qp[licdR] 未安装的某个文件名称#选项与参数:#查询已安装软件的信息:##-q: 仅查询 , 后面接的软件名称是否有安装;##-qa: 列出所有的 , 已经安装在本机 Linux 系统上面的所有软件名称;##-qi: 列出该软件的详细信息 (information)  , 包含开发商、版本与说明等;##-ql: 列出该软件所有的文件与目录所在完整文件名 (list) ;##-qc: 列出该软件的所有配置文件 (找出在 /etc/ 下面的文件名而已)##-qd: 列出该软件的所有说明文档 (找出与 man 有关的文件而已)##-qR: 列出与该软件有关的相依软件所含的文件 (Required 的意思)##-qf: 由后面接的文件名称 , 找出该文件属于哪一个已安装的软件;##-q --scripts:列出是否含有安装后需要执行的脚本档 , 可用以 debug 喔!#查询某个 RPM 文件内含有的信息:##-qp[icdlR]:注意 -qp 后面接的所有参数以上面的说明一致 。但用途仅在于找出某个 RPM 文件内的信息 , 而非已安装的软件信息;# 查找是否安装 docker-ce 软件# 不必要加上版本$ rpm -q docker-cedocker-ce-19.03.2-3.el7.x86_64# 显示 docker-ce 软件所有目录与文件$ rpm -ql docker-ce/usr/bin/docker-init/usr/bin/docker-proxy/usr/bin/dockerd/usr/lib/systemd/system/docker.service/usr/lib/systemd/system/docker.socket/var/lib/docker-engine/distribution_based_engine-ce.json# 显示 docker-ce 说明资料$ rpm -qi docker-ceName: docker-ceEpoch: 3Version: 19.03.2Release: 3.el7Architecture: x86_64Install Date: Wed 21 Sep 2022 09:51:07 PM CSTGroup: Tools/Docker# 显示 docker-ce 配置文件$ rpm -qc docker-ce$ rpm -qd docker-ce# 显示 docker-ce 以来$ rpm -qR docker-ce/bin/shcontainer-selinux >= 2:2.74containerd.io >= 1.2.2-3device-mapper-libs >= 1.02.90-1docker-ce-cli# 显示 /bin/sh 由那个软件包提供的$ rpm -qf /bin/sh# 查看 RPM 文档$ rpm -qpR filename.xxx.rpm
RPM 可选项参数
可下达的选项代表意义--nodeps使用时机:当发生软件属性相依问题而无法安装 , 但你执意安装时 危险性: 软件会有相依性的原因是因为彼此会使用到对方的机制或功能 , 如果强制安装而不考虑软件的属性相依 ,  则可能会造成该软件的无法正常使用!--replacefiles使用时机: 如果在安装的过程当中出现了“某个文件已经被安装在你的系统上面”的信息 , 又或许出现版本不合的讯息 (confilcting files) 时 , 可以使用这个参数来直接覆盖文件 。危险性: 覆盖的动作是无法复原的!所以 , 你必须要很清楚的知道被覆盖的文件是真的可以被覆盖喔!否则会欲哭无泪!--replacepkgs使用时机: 重新安装某个已经安装过的软件!如果你要安装一堆 RPM 软件文件时 , 可以使用 rpm -ivh *.rpm  , 但若某些软件已经安装过了 ,  此时系统会出现“某软件已安装”的信息 , 导致无法继续安装 。此时可使用这个选项来重复安装喔!--force使用时机:这个参数其实就是 --replacefiles 与 --replacepkgs 的综合体!--test使用时机: 想要测试一下该软件是否可以被安装到使用者的 Linux 环境当中 , 可找出是否有属性相依的问题 。范例为:

经验总结扩展阅读