linux系统学习(三)

包管理器

- RPM管理

rpm命令

[root@test ~]# rpm --help

Usage: rpm [OPTION...]

 

常用使用方式:

rpm -ivh Package_file.rpm

 

-i : Install 安装

-v :打印调试信息

-h : 包档如果没有破解,则打印50个破折号

 

常用参数:

--test : 测试安装,但不真正执行安装过程

--nodeps : 忽略依赖关系

--replacepkgs : 重新安装

--nofiledigest : 不检查文件的来源完整性

--nodigest : 忽略包的完整性校验

    --nosignature : 不检查包的来源合法性

 --noscripts: 不执行程序包脚本片段

 

- 升级:

常用使用方式:

rpm -Uvh package_file.rpm

rpm -Fvh package_file.rpm

 

-U --upgrade=<packagefile>+: 升级软件包

-F, --freshen=<packagefile>+ : 升级软件包

 

- 查询:

 

rpm -q [query-options]

-a, --all 查询所有安装包

-f, --file 查询安装包及其相关文件

--whatprovides : 查询指定包由哪一个包所提供

--whatrequires  :  查询指定包由哪个包所依赖

--changelog : 查询rpm包的changelog

-c : 查询软件包的配置文件

-d : 查询软件包的文档

-i : 查询软件包的信息

-l : 查看指定软件包安装后生成的所有文件

--scripts: 查询程序包自带的脚本片段

-R : 查询指定的程序包所依赖的

--provides: 列出指定程序包所提供的

 

 

- 卸载:

常用使用方式:

rpm -e package_file.rpm

 

-e : 卸载软件包

 

- 校验:

常用使用方式:

rpm -V package_file.rpm

 

Verify options (with -V or --verify):

  --nofiledigest  不验证文件的完整性

  --nofiles     不验证包中的文件

  --nodeps     不验证包的依赖

  --noscript     不验证包中执行片段

  

 

YUM包管理: rpm包存在依赖;YUM管理能够很好的解决依赖关系(YUM包管理能够自动安装该

包的所有依赖包)

 

实例:

[root@test ~]# rpm -q --whatrequires net-tools

[root@test ~]# rpm -q --whatrequires python

rpm -qi net-tools

rpm -ql net-tools

rpm -qd net-tools

rpm -qa | more

rpm -qc chrony-3.2-2.el7.x86_64

 

YUM管理:

配置文件:

/etc/yum.conf : 为所有仓库提供公共配置

/etc/yum.repos.d/*.repo : 为仓库的指定提供配置

 

仓库:

远程仓库: 阿里镜像仓库  163 ...

本地仓库:  自建的镜像仓库

 

 

仓库指定定义:

[root@test ~]# cat /etc/yum.repos.d/CentOS-Base.repo

[base] #仓库ID

name=CentOS-$releasever - Base # 仓库名称

mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra

# 镜像列表

#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ # 仓库的URL(远程 本地)

远程: http ftp

本地: file:///

 

gpgcheck=1 # gpg密钥验证 : 1: 开启验证 0: 不开启验证

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 # 指定gpg密钥文件的路径

 

enabled=0 # 是否启用这个仓库  0:启用 1: 不启用

 

 

常见变量说明:

$releasever : 当前OS发行版本的主板本号

$arch:   平台

$basearch :  基础平台

 

 

常用命令:

[root@test ~]# yum --help

Loaded plugins: fastestmirror

Usage: yum [options] COMMAND

 

安装软件包:

yum install package_file....

 

显示仓库列表:

yum repolist [all|enabled|disabled] 显示所有仓库列表;显示启用的仓库列表;显示禁用的仓库列表

 

显示软件包:

yum list [all | glo_exp1 ....]

yum list available [glo_exp1...]

 

升级软件包:

yum update [package_file...]

 

降级软件包:

yum downgrade [package_file...]

 

检查可用升级:

yum check-udate

 

卸载软件包:

yum remove | erase package_file...

 

查看软件包信息:

yum info package_file...

 

查看指定的特性(可以是某个文件)是由哪个软件包所提供的

yum provides | whatprovides  feature....

实例:

[root@test ~]# yum whatprovides netstat

 

 

构建缓存:

yum makecache

 

清理缓存

yum clean

 

搜索

yum search string....

以指定的关键字搜索软件包名及其summary信息

 

查看yum相关历史:

yum history [info|list|........]

 

常用参数:

 

--nogpgcheck: 禁止进行gpg check

-y: 自动回答为"yes"

-q: 静默模式

--disablerepo=repoID : 临时禁用此处指定的repo

--enablerepo=repoID  :  临时启用此处指定的repo

--noplugins: 禁止所有插件

 

 

 

 

包仓库管理介绍

 

- 使用远程仓库

远程仓库: 阿里镜像仓库   网易  ....

CentOS仓库: 包含基本使用的所有软件包

EPEL仓库: 补充基本仓库中的软件包

 

Centos仓库配置:

http://tel.mirrors.163.com/.help/centos.html

 

EPEL仓库配置:

https://developer.aliyun.com/mirror/epel?spm=a2c6h.13651102.0.0.7bf81b110F7hDy

 

 

1. 备份

2. /etc/yum.repo.d/下配置好相关文件

3. 清除-生成缓存

 

 

- 本地仓库配置(使用光盘)

1. 备份

[root@test ~]# mv /etc/yum.repos.d/* /mnt/

2. 挂载本地光盘

[root@test ~]# mkdir /media/cdrom

[root@test ~]# mount /dev/cdrom /media/cdrom

mount: /dev/sr0 is write-protected, mounting read-only

3. 配置文件

[root@test ~]# cat /etc/yum.repos.d/CentOS-7.repo

[centos]

name=centos-7

baseurl=file:///media/cdrom  # 还可以使用ftp http;如果是在本地话需要配置ftp服务和httpd服务

gpgcheck=0

enabled=1

4. 生成缓存并查看仓库列表

[root@test ~]# yum clean all

[root@test ~]# yum makecache

[root@test ~]# yum repolist

 

- 关于本地仓库的自建(同步远程仓库的软件包到本地来)

 

#备份源文件,编辑新文件

[root@node1 ~]# mv /etc/yum.repos.d/CentOS-Base.repo{,.bak}

[root@node1 ~]# cat /etc/yum.repos.d/CentOS-Base.repo

[centos7]

name=Centos-7

baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/

enable=1

gpgcheck=0

 

#同步源 : reposync 命令可以去同步远程仓库中的软件包

[root@node1 ~]# reposync --repoid=centos7

 

#生成repodata

[root@node1 ~]# createrepo centos7

 

#验证并生成缓存

[root@node1 ~]# yum repolist

[root@node1 ~]# yum makecache

 

 

#如果添加或者删除了个人的rpm包,不需要再次重新create,浪费时间,只需要--update就可以了

[root@node1 ~]# createrepo --update  ./

 

## 以上步骤: 将远程仓库的软件包下载到本地,然后生成仓库配置文件;这样的话,我们可以拿着这些软件包

再次构建本地仓库,这样可以提升安装速度,另一个获取更多的软件包

 

日常使用的话:

建议: 使用远程仓库(centosepel)就够用了

 

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

yum clean all

yum makecache

yum repolist

 

posted @ 2020-04-27 10:54  喜欢玩基金的运维哥  阅读(177)  评论(0编辑  收藏  举报