一、rpm包管理器

rpm是一个功能强大的包管理工具,可用于构建,安装,查询,验证,更新和卸载软件包。

用法:

  rpm [OPTION...]

配置文件:

/var/lib/rpm/ 已安装rpm包的元数据

选项:

  • -i:安装

    • --test:测试安装
    • --nodeps:忽略依赖关系
    • --replacepkgs | replacefiles 重装
    • --nosignature:不检查来源合法性
    • --nodigest:不检查包完整性
    • --noscript:不执行程序包脚本
    • --nopre:不执行安装前脚本
    • --nopost:不执行安装后脚本
    • --nopreun:不执行卸载前脚本
    • --nopostun:不执行卸载后脚本
    • -v|-vv:显示过程
    • -h:显示进度条
    • --force:强制
  • -e:卸载
    • --allmatches:卸载包的所有版本
  • -U:升级安装
  • -F:升级
  • --oldpackage:降级
  • -q:查询
    • -a:显示所有包
    • -f:查询文件是由哪个包生成的
    • -p:查询未安装的文件名
    • -c:只看配置文件
    • -d:显示文档
    • -i:包的说明信息
    • -l:查看程序包提供了哪些文件
    • --scripts:查询包的脚本信息
    • -R:查询包所依赖的“能力”
    • --whatprovides CAPABILITY:查询指定的”能力“由哪个包所提供
    • --whatrequires CAPABILITY:查询指定的“能力”被哪个包所依赖
    • --changelog:查询rpm包的更新日志
    • --provides:列出包提供的“能力”
  • -V:校验包属性是否发生变化,以下为变化的信息
    • S file Size differs
    • M Mode differs (includes permissions and file type)
    • 5 digest (formerly MD5 sum) differs
    • D Device major/minor number mismatch
    • L readLink(2) path mismatch
    • U User ownership differs
    • G Group ownership differs
    • T mTime differs
    • P capabilities differ
  • -K:检查包的签名和完整性
  • --import /etc/pki/rpm-gpg/KEY导入公钥
  • --root=/path/ 安装到指定“/”下
  • --initdb:初始化rpm数据库
  • --rebuilddb:重建rpm数据库

相关命令:

ldconfig -p 查看系统中所有的库
rpm2cpio FILE.rpm |cpio -tv 预览包内文件
rpm2cpio FILE.rpm |cpio -idv /path/file 解压rpm包指定文件

二、yum包管理器

yum(Yellowdog Update Modifier)是一个基于rpm的交互式软件包管理器。

用法:

  yum [options] [command] [package ...]

配置文件:

/etc/yum.conf 配置文件

  • cachedir 缓存目录
  • keepcache=0|1 安装时是否保留缓存的rpm包
  • logfile 日志文件
  • gpgcheck=0|1 检查签名和完整性

/var/log/yum.log 日志

/etc/yum.repos.d/FILE.repo  yum源文件

[base]
name=base #描述信息
baseurl=http|ftp|file #yum仓库,路径指向repodata的父目录
enabled=0|1
gpgcheck=0|1
gpgkey=/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
failovermethod={roundrobin|priority}
#roundrobin:意为随机挑选,为默认值
#priority:按顺序访问
cost= #优先级,默认1000,值越小越优先
mirror=http|ftp|file #指向repo地址的文件

/var/cache/yum/x86_64/6 缓存路径

# yum-config-manager --add-repo=https://mirrors.aliyun.com/centos/6/os/x86_64/

# yum-config-manager --disable “仓库名" 禁用仓库

# yum-config-manager --enable “仓库名” 启用仓库

# createrepo /rpmdir 创建元数据

选项:

  • -y 安装或卸载是直接回答yes,不进入交互式
  • -q 静默模式
  • --disablerepo=repoidglob:临时禁用此处指定的repo
  • --enablerepo=repoidglob:临时启用此处指定的repo
  • --noplugins:禁用所有插件

子命令:

  • list 列出repo源包含的所有软件包
  • installed 列出所有已安装的包
  • install 安装
  • reinstall 重新安装
  • repolist [all|disabled] 列出当前生效的repo源[所有|已关闭的]
  • clean all 清除缓存
  • update [package1...] 升级软件包
  • downgrade [package1...] 降级软件包
  • check-update 检查可升级的包
  • remove 卸载软件包
  • info 查看包的详细信息
  • provides 查找命令由哪些包提供
  • makecheck 手动生成缓存
  • search 模糊搜索包信息
  • deplist 检查依赖包
  • history 安装卸载的历史
    • list # 列出指定的操作
    • info # 列出指定操作的详细信息
    • undo # 撤销指定id的操作
    • redo # 重新执行
  • groupinstall 安装包组
  • groupupdate 升级包组
  • grouplist 列出所有包组
  • groupremove 移除包组
  • groupinfo 查看包组的详细信息

示例1:搭建一个本地yum源(CentOS6.9)

1、先将系统自带的repo文件移动到其他地方

[root@web1 ~]# cd /etc/yum.repos.d/
[root@web1 yum.repos.d]# ls
CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo epel-testing.repo
CentOS-Debuginfo.repo CentOS-Media.repo epel.repo
[root@web1 yum.repos.d]# mv ./* ~
[root@web1 yum.repos.d]# ls

2、将本地cdrom挂载到指定目录并设置开机挂载

[root@web1 ~]# mkdir /media/cdrom
[root@web1 ~]# mount -r /dev/sr0 /media/cdrom
[root@web1 ~]# ls /media/cdrom
CentOS_BuildTag isolinux RPM-GPG-KEY-CentOS-Debug-6
EFI Packages RPM-GPG-KEY-CentOS-Security-6
EULA RELEASE-NOTES-en-US.html RPM-GPG-KEY-CentOS-Testing-6
GPL repodata TRANS.TBL
images RPM-GPG-KEY-CentOS-6
[root@web1 ~]# vim /etc/fstab
/dev/sr0 /media/cdrom iso9660 defaults 0 0 #加入开机自动挂载

3、配置yum源并测试

# vim /etc/yum.repos.d/base.repo

[base]
name=cdrom
baseurl=file:///media/cdrom/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
[root@web1 ~]# yum repolist
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
base | 4.0 kB 00:00 ...
base/primary_db | 4.7 MB 00:00 ...
repo id repo name status
base cdrom 6,706
repolist: 6,706

测试OK!

示例2:配置网络源(epel源)

以阿里源为例,下载repo文件到指定目录,测试OK!

[root@web1 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
[root@web1 ~]# cat /etc/yum.repos.d/epel.repo
[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
baseurl=http://mirrors.aliyun.com/epel/6/$basearch
http://mirrors.aliyuncs.com/epel/6/$basearch
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 [epel-debuginfo]
name=Extra Packages for Enterprise Linux 6 - $basearch - Debug
baseurl=http://mirrors.aliyun.com/epel/6/$basearch/debug
http://mirrors.aliyuncs.com/epel/6/$basearch/debug
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-6&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=0 [epel-source]
name=Extra Packages for Enterprise Linux 6 - $basearch - Source
baseurl=http://mirrors.aliyun.com/epel/6/SRPMS
http://mirrors.aliyuncs.com/epel/6/SRPMS
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-6&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=0[root@web1 ~]# yum repolist
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
* epel: mirrors.aliyun.com
repo id repo name status
base cdrom 6,706
epel Extra Packages for Enterprise Linux 6 - x86_64 12,497
# rpm -ivh https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm  #CentOS7安装repo源

记录于2018.04.19 20:41

最新文章

  1. C# dynamic 动态创建 json
  2. [译]WebForms vs. MVC
  3. Test Driven Development
  4. AngularJs form.FormController、ngModel.NgModelController
  5. hexdump—Linux系统的二进制文件查看工具
  6. Django数据模型及操作
  7. Ueditor上传图片到本地改造到上传图片到云存储
  8. equal 和 ==
  9. if exists用法
  10. HDOJ 1070 Milk(水题,考英文的)
  11. SQL Server 2008 R2 跟踪标志
  12. Content-Type小解
  13. KafKa介绍(分布式架构)
  14. ArrayList Vector
  15. [经验共享] MapGIS实用小功能图解——由excel文件导成MapGIS点文件
  16. oracle导出用户下单表或者多表,导入到别的服务器用户下
  17. Win7下mysql的安装
  18. Unable to install SQL Server (setup.exe), VS Shell installation has failed with exit code 1638.
  19. 解决 jdk8 Illegal key size or default parameters 错误
  20. SpringMVC+Thymeleaf +HTML的简单框架

热门文章

  1. python中的排序函数
  2. Hibernate - 配置c3p0
  3. C语言小程序(二)、计算第二天日期
  4. Codeforces Round #402 (Div. 2) 题解
  5. POJ3417Network
  6. [转]基于phantomJS实现web性能监控
  7. Cloudera安装要点
  8. understanding of Pipe line & Timing Logic
  9. Java 的 Tuple 元组数据类型
  10. Android Studio配置使用git