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,如需转载请自行联系原作者


相关文章
|
24天前
|
Linux
Linux中centos桌面消失网络图标
Linux中centos桌面消失网络图标
13 0
|
29天前
|
存储 算法 Linux
【Linux 应用开发 共享内存】深入理解和实践 ftruncate:共享内存的有效管理
【Linux 应用开发 共享内存】深入理解和实践 ftruncate:共享内存的有效管理
61 5
|
1月前
|
搜索推荐 Shell Linux
【Shell 命令集合 系统管理 】Linux 管理用户配置文件 userconf命令 使用指南
【Shell 命令集合 系统管理 】Linux 管理用户配置文件 userconf命令 使用指南
37 2
|
16天前
|
关系型数据库 MySQL Linux
linux CentOS 7.4下 mysql5.7.20 密码改简单的方法
linux CentOS 7.4下 mysql5.7.20 密码改简单的方法
19 0
|
17天前
|
网络协议 Linux
在Linux中,管理和配置网络接口
在Linux中管理网络接口涉及多个命令,如`ifconfig`(在新版本中被`ip`取代)、`ip`(用于网络设备配置)、`nmcli`(NetworkManager的CLI工具)、`nmtui`(文本界面配置)、`route/ip route`(处理路由表)、`netstat/ss`(显示网络状态)和`hostnamectl/systemctl`(主机名和服务管理)。这些命令帮助用户启动接口、设置IP地址、查看连接和路由信息。不同发行版可能有差异,建议参考相应文档。
19 4
|
11天前
|
消息中间件 监控 Linux
Linux进程和计划任务管理
通过这些命令和工具,你可以有效地管理Linux系统中的进程和计划任务,监控系统的运行状态并保持系统的稳定和可靠性。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
102 2
|
16天前
|
缓存 Linux
linux centos7 挂载本地iso yum源
linux centos7 挂载本地iso yum源
73 0
|
17天前
|
存储 缓存 监控
Linux内存和硬盘空间管理技巧
了解Linux内存和硬盘管理技巧,提升系统性能和稳定性。使用`free`, `top`, `vmstat`监控内存,通过`sync`, `echo 1 > /proc/sys/vm/drop_caches`清理缓存。利用Swap分区释放内存。借助`df`, `du`检查硬盘空间,清理无用文件,使用`clean-old`, `gzip`, `tar`压缩归档。查找大文件用`find`和`du`,确保
33 0
|
24天前
|
存储 固态存储 Unix
Linux中磁盘分区和文件系统管理
在Linux系统中,磁盘是存储数据的物理设备,如HDD或SSD,以文件形式存在于`/dev`目录下,如`sda`、`sdb`等。文件系统定义了如何在磁盘上组织和访问数据,常见的Linux文件系统有ext2、ext3、ext4、xfs等。通过虚拟机软件如VMware,用户可以向Linux虚拟机添加新的硬盘。
|
28天前
|
Linux
linux中服务管理
在Linux服务管理中,从传统的System V init到Upstart,再到广泛采用的systemd,管理方式不断发展。systemd以其强大的功能和依赖解决成为现代Linux的核心。`systemctl`是管理服务的关键命令,如启动(`start`)、停止(`stop`)、重启(`restart`)服务及设置开机启动(`enable`)或取消(`disable`)。了解和服务管理,特别是systemd和`systemctl`的使用,对系统管理员至关重要。其他如xinetd用于控制网络服务,而特定环境下有OpenRC等工具。
17 2

热门文章

最新文章