Linux和CentOS软件包管理

简介:

(此处以httpd-2.2.15-56.el6.centos.3.x86_64.rpm为例)

  • 安装:# rpm -ivh httpd-2.2.15-56.el6.centos.3.x86_64.rpm

选项:

-i:安装,install

-v:以详细信息输出

-h:以#的个数显示安装进度,一个#表示2%的进度,hash

--test:仅测试,并不是真正执行安装过程,# rpm -ivh --test httpd-2.2.15-56.el6.centos.3.x86_64.rpm

备注:如果存在软件包的依赖关系,要么解决依赖关系后再安装,或者忽略依赖关系安装--nodeps

# rpm -ivh --nodeps httpd-2.2.15-56.el6.centos.3.x86_64.rpm

  • 重新安装:# rpm -ivh --replacepkgs httpd-2.2.15-56.el6.centos.3.x86_64.rpm

  • 删除:# rpm -e httpd

选项-e:删除,erase

备注:如果卸载被其他程序所依赖的包,要么不再卸载,或者把依赖的软件包一同卸载,或者忽略依赖关系卸载--nodeps# rpm -e --nodepshttpd

  • 查询:

  • 查询所有已安装的软件包:# rpm -qa

  • 查询所有已安装的、和httpd有关系的软件包:# rpm -qa httpd  # rpm -qa|grep httpd

  • 查询已安装的软件包信息:# rpm -qi httpd

  • 查询软件包是否安装:# rpm -q httpd

  • 查询软件包安装后生成的文件列表:# rpm -ql httpd

  • 查询指定文件是由哪个软件包安装后生成的:# rpm -qf /etc/passwd  # rpm-qf /bin/grep

  • 查询软件包安装后生成的帮助文档:# rpm -qd httpd

  • 查询软件包安装后生成的配置文件:# rpm -qc httpd

  • 查询软件包安装后相关的脚本文件:# rpm -q --scripts httpd

包括preinstall安装前脚本、postinstall安装后脚本、preuninstall卸载前脚本和postuninstall卸载后脚本

  • 查询尚未安装的软件包信息:# rpm -qpi httpd-2.2.15-56.el6.centos.3.x86_64.rpm

  • 查询尚未安装的软件包安装后生成的文件列表:# rpm -qpl httpd-2.2.15-56.el6.centos.3.x86_64.rpm

  • 查询尚未安装的软件包安装后生成的帮助文档:# rpm -qpd httpd-2.2.15-56.el6.centos.3.x86_64.rpm

  • 查询尚未安装的软件包安装后生成的配置文件:# rpm -qpc httpd-2.2.15-56.el6.centos.3.x86_64.rpm

  • 查询尚未安装的软件包安装后相关的脚本文件:# rpm -qp --scripts httpd-2.2.15-56.el6.centos.3.x86_64.rpm

包括preinstall安装前脚本、postinstall安装后脚本、preuninstall卸载前脚本和postuninstall卸载后脚本

  • 升级:# rpm {-Uvh | -Fvh} httpd-2.2.15-56.el6.centos.3.x86_64.rpm

选项:

-U:升级或安装软件包,老版本的软件包安装或未安装均可

-F:升级软件包,老版本的软件包必须事先已安装好

-v:以详细信息输出

-h:以#的个数显示安装进度,一个#表示2%的进度,hash

--nodeps:忽略依赖关系

--force:强行安装

备注:不要对内核进行升级操作,多版本内核可共存

  • 校验(检查软件包安装后生成的文件是否被修改过):# rpm -V httpd

  • 导入制作者的公钥CentOS发行版的公钥在iso文件中):# rpm --import RPM-GPG-KEY-CentOS-6

  • 检查(软件包完整性和软件包来源合法性):# rpm -K httpd-2.2.15-56.el6.centos.3.x86_64.rpm

选项:

--nosignature:不检查软件包来源合法性,只检查软件包完整性

--nodigest:不检查软件包完整性,只检查软件包来源合法性

  • rpm包数据库/var/lib/rpm初始化:# rpm --initdb

初始化:事先不存在该数据库,新建一个数据库

  • rpm包数据库/var/lib/rpm重建:# rpm --rebuilddb

重建:直接重建数据库,会覆盖原有的数据库


yum:要使用yum管理软件包,首先需要配置可用的yum仓库,一般保存在配置文件/etc/yum.conf/etc/yum.repos.d/*.repo

配置文件/etc/yum.conf格式:由主配置段[main]和仓库配置段[repo]两段组成,默认只有主配置段[main]

# vim /etc/yum.conf

[main]

cachedir=/var/cache/yum/$basearch/$releasever

keepcache=1

debuglevel=2

logfile=/var/log/yum.log

exactarch=1

obsoletes=1

gpgcheck=1

plugins=1

installonly_limit=5

bugtracker_url=http://bugs.centos.org/set_project.php?project_id=19&ref=http://bugs.centos.org/bug_report_page.php?category=yum

distroverpkg=centos-release


yum常用命令:

  • 安装指定的软件包:# yum [-y] install httpd

  • 删除指定的软件包:# yum [-y] erase | remove httpd

  • 安装本地软件包:# yum [-y] [--nogpgcheck] installhttpd-2.2.15-56.el6.centos.3.x86_64.rpm

选项:

-y:不询问,自动安装

--nogpgcheck:手动禁止检查软件包的来源合法性和完整性

  • 重新安装指定的软件包:# yum [-y] reinstall httpd

  • 显示已配置的yum仓库:# yum repolist [all]

  • 删除缓存的数据:# yum clean {all | packages | metadata | expire-cache | rpmdb |plugins | dbcache | headers}

  • 显示符合要求的所有rpm包:# yum list [all | installed | available]

  • 显示软件包的相关信息:# yum info httpd

  • 显示所有软件包组:# yum grouplist    //CentOS 6.x中常用的3个软件包开发包组,"DevelopmentTools""ServerPlatform Development""Desktop Platform Development"

  • 显示软件包组的相关信息:# yum groupinfo "Desktop Platform Development"

  • 安装指定的软件包组:# yum [-y] groupinstall "Desktop Platform Development"

  • 删除指定的软件包组:# yum [-y] groupremove "Desktop Platform Development"

  • 检查可升级的软件包:# yum check-update

  • 升级指定的软件包为最新版本:# yum update | upgrade [httpd]

  • 降级指定的软件包:# yum downgrade httpd

  • 查询指定文件是由哪个软件包安装后生成的:# yum provides | whatprovides /etc/passwd /bin/grep

  • 显示yum的操作历史记录:# yum history

  • 显示指定软件包的依赖关系:# yum deplist httpd

  • 生成元数据缓存:# yum makecache

  • 在软件包详细信息中搜索指定字符串:# yum search httpd





      本文转自Marion0728  51CTO博客,原文链接:http://blog.51cto.com/qiuyue/1908645,如需转载请自行联系原作者


相关文章
|
2月前
|
存储 Linux 开发工具
Linux环境下使用Buildroot配置软件包
使用Buildroot可以大大简化嵌入式Linux系统的开发和维护工作,但它需要对Linux系统和交叉编译有深入的理解。通过上述步骤,可以有效地配置和定制软件包,为特定的嵌入式应用构建高效、稳定的系统。
231 11
|
7月前
|
人工智能 安全 Linux
Alpine Linux设定指定的软件包安装源
以上就是如何为Alpine Linux设置特定的软件包的安装源的全部流程。这个过程非常简洁、明了,希望你在使用过程中能够找到乐趣。这个过程不仅可以提供你需要的软件,还可以根据你的网络条件和地域性需求进行调整,使你的Alpine Linux系统达到最佳性能。
714 24
|
7月前
|
Linux Shell
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
207 4
|
7月前
|
Linux Shell 数据安全/隐私保护
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
416 3
|
8月前
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
652 25
|
6月前
|
Oracle 关系型数据库 Linux
MyEMS开源系统安装之CentOS/RHEL/Rocky/AlmaLinux/Oracle Linux
本指南介绍如何在CentOS/RHEL/Rocky/AlmaLinux/Oracle Linux服务器上部署MyEMS开源能源管理系统。内容涵盖系统准备、数据库配置、多个MyEMS服务(如myems-api、myems-admin、myems-modbus-tcp等)的安装与配置,以及Nginx服务器设置和防火墙规则调整。通过完成所有步骤,您将能够访问MyEMS Admin UI和Web UI,默认端口分别为8001和80,初始登录凭据已提供。
309 0
|
9月前
|
存储 IDE Linux
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
本文详细介绍了在VMware虚拟机中安装CentOS 6.8的全过程。首先,需确保已安装VMware并开启V-CPU虚拟化功能,可通过BIOS设置或使用LeoMoon CPU-V工具检测。接着,下载CentOS镜像文件,并在VMware中新建虚拟机,配置CPU、内存、硬盘等参数。最后,加载ISO镜像启动虚拟机,按照提示完成CentOS的安装,包括语言、键盘、存储方式、地区、密码设置及硬盘分区等步骤。安装完成后,以root用户登录即可进入系统桌面,开始学习Linux命令和操作。
916 12
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
|
8月前
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
344 10
|
10月前
|
缓存 Ubuntu Linux
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
1081 25
|
10月前
|
存储 Ubuntu 前端开发
Linux软件包管理工具概览
在Linux系统中,dpkg、apt、rpm、yum和dnf是几种常见的包管理工具,它们分别属于不同的Linux发行版或家族,并有着各自的诞生顺序和特点。下面将按照这些工具的诞生顺序,并结合Debian、Red Hat、CentOS、Ubuntu和Kali等系统,进行详细的介绍。
260 4