yum库

yum一个可以解决包依赖的神奇命令

yum   :rpm的前端程序,可解决软件包相关依赖性可在多个库之间定位软件包,up2date的替代工具

yum ,存储了众多的rpm包,以及包的相关元数据文件(放置在特定目录repodata下)

yum安装的故障原因:配置文件出错,缓存出现问题

yum的配置文件

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

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

yum的repo配置文件中可用的变量

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

$arch: 平台,i386,i486,i586,x86_64等

$basearch:基础平台;i386, x86_64

$YUM0-$YUM9:自定义变量

yum-config-manager –disable “仓库名” 禁用仓库

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

仓库指向的定义:

[repositoryID]       //仓库名

name=Some name for this repository      //名字

baseurl=url://path/to/repository/       //仓库路径

enabled={1|0}      //启用或禁用默认启用

gpgcheck={1|0}    //是否支持包校验

gpgkey=URL

enablegroups={1|0}

failovermethod={roundrobin|priority}

roundrobin:意为随机挑选,默认值

priority:按顺序访问

cost= 默认为1000

yum命令

yum命令的用法: yum [options] [command] [package …]

显示仓库列表: yum repolist [all|enabled|disabled]

显示程序包: yum list

yum list [all | glob_exp1] [glob_exp2] […]

yum list {available|installed|updates} [glob_exp1] […]

安装程序包

yum install package1 [package2] […]

yum reinstall package1 [package2] […] (重新安装)

升级程序包: yum update [package1] [package2] […]

yum downgrade package1 [package2] […] (降级)

检查可用升级: yum check-update

卸载程序包: yum remove | erase package1 [package2] […]

查看程序包information: yum info […]

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

yum provides | whatprovides feature1 [feature2] […]

清理本地缓存: 清除/var/cache/yum/$basearch/$releasever缓存

yum clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]

构建缓存: yum makecache

搜索:yum search string1 [string2] […]

以指定的关键字搜索程序包名及summary信息

查看指定包所依赖的capabilities:

yum deplist package1 [package2] […]

查看yum事务历史: yum history [info|list|packages-list|packages-info| summary|addon-info|redo|undo|

rollback|new|sync|stats]

yum history

yum history info 6

yum history undo 6   //卸载所有,包括依赖包

yum   history  redo  6    //重复做第6步

日志 :/var/log/yum.log

安装及升级本地程序包:

yum localinstall rpmfile1 [rpmfile2] […] (用install替代)

yum localupdate rpmfile1 [rpmfile2] […] (用update替代)

包组管理的相关命令

yum   grouplist    //查看包组名

yum groupinstall group1 [group2] […]

yum groupupdate group1 [group2] […]

yum grouplist [hidden] [groupwildcard] […]

yum groupremove group1 [group2] […]

yum groupinfo group1 […]

yum的命令行选项:

–nogpgcheck:禁止进行gpg check

-y: 自动回答为“yes”

-q:静默模式

–disablerepo=repoidglob:临时禁用此处指定的repo

–enablerepo=repoidglob:临时启用此处指定的repo

–noplugins:禁用所有插件

Yum仓库:

Yum的repo配置文件中的可用变量:

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

$arch   :平台,i386 ,i486 ,i586 ,x86_64等

$basearch :基础平台;i386, ,x86_64

创建yum仓库:  createrepo [options]    <directory>

构建yum服务

[os7]

name=centos 7.4

baseurl=http://172.20.0.1/centos/7/Packages/

gpgkey=http://172.20.0.1/centos/7/RPM-GPG-KEY-CentOS-7

gpgcheck=0

[epel]

baseurl=http://172.20.0.1/epel/7/x86_64/

gpgkey=file:///root/rpm-gpg-key-epel-7    #localhost

gpgcheck=0

enabled=0

 

[base]

name=centoc 7.4

baseurl=file:///misc/cd

gpgcheck=0

 

构建网络yum服务器

第一步;准备光盘,包,元数据

在/var/www/html下创建路径:mkdir -p centos/{6,7}/x86_64/

第二步,准备网络服务,ftp  ,http, https

rpm –ivh  vsftpd(光盘下的rpm安装包)

Centos6: /etc/rc.d/init.d/vsftpd

service   vsftpd   start   //启动vsftpd

chkconfig      vsftpd   on     //设置为开机自启动

Centos7:  /usr/lib/systemd/system/vsftpd.service

systemctl  start   vsftpd     //启动vsftpd

systemctl    enable  vsftpd     //设置为开机自启动

netstat   -ntl    //查看21端口是否打开

第三步;关闭防火墙:

Centos6: service  iptables   stop    //关闭防火墙

chkconfig   iptables   off     //开机不启动

Centos7: systemctl   stop   firewallld.service     //关闭防火墙

iptables   -vnL    //查看防火墙服务是否停止

systemctl  disable   firewalld.service    //开机不启动

cp   /misc/cd/repodata/     /data/  -r     //复制repodata到指定目录

第四步;复制元数据repodata和rpm包文件

mkdir   /var/ftp/pub/{6,7}

cd   /var/ftp/pub/6

cp   /misc/cd/repodata/     .    -r     //复制repodata到指定目录

cp   /misc/cd/Packages     .    -r     //复制部分rpm包

第五步;客户端配置

[ftpbase]

name= ftp  server    repo

baseurl=ftp://192.168.8.133/pub/$releasever

gpgcheck =0

 

createrepo     //生成元数据

wget      网络文件具体地址       下载文件到当前目录

mkdir     /mnt/cdrom

mount   /dev/sr0   /mnt/cdrom

rpm  -ivh    /mnt/cdrom/Packages/rpm 包名     –root=/mnt/sysimage

yum 与rpm 的关系:yum 是对rpm 的二次封装,rpm不能使用,也不能安装yum

t0131d35baff6a87d64

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/96568

(0)
qljqlj
上一篇 2018-04-19
下一篇 2018-04-19

相关推荐

  • linux常用命令

    系统信息 arch 显示机器的处理器架构(1)uname -m 显示机器的处理器架构(2)uname -r 显示正在使用的内核版本dmidecode -q 显示硬件系统部件 – (SMBIOS / DMI)hdparm -i /dev/hda 罗列一个磁盘的架构特性hdparm -tT /dev/sda 在磁盘上执行测试性读取操作cat /pro…

    2018-03-17
  • sed命令

    sed命令 sed是一种流编辑器,用于对文本逐行读取逐行处理,处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(patternspace),接着用sed命令处理缓冲区中的内容,处理完成后,把处理后结果输出到标准输出。接着处理下一行,这样不断重复,直到文件末尾。 命令语法 sed [OPTION]… {script-only-if-no-othe…

    Linux笔记 2018-06-12
  • 学习笔记(1)

    学习笔记

    Linux笔记 2018-04-01
  • 软raid5制作

     一、准备工作 (1)VMware虚拟机 (2)centos6.9系统 二、在centos6.9关机状态下增加3块硬盘做RAID5,其中一块当校验盘。 三、用远程终端可以清楚的显示新增加的硬盘,将新增加的硬盘进行分区   四、开始制作 mdadm -C /dev/md0 -a yes -l 5 -c 32 -n 2 -x1 /dev/sd{b1,c…

    2018-04-29
  • linux基础2

    1.文件管理常用命令: <1>mkdir,rmdir mkdir:make directory mkdir [OPTION]… DIRECTORY… -p:自动按需创建父目录; -v:verbose,显示详细过程; -m MODE;直接给定权限; 注意:路径基名方为命令的作用对象;基名之前的路径必须存在; rmdir:re…

    Linux笔记 2018-07-01
  • 第六周

    简述OSI七层模型和TCP/IP五层模型应用层:为计算机用户提供应用程序接口和各种网络服务,通常可见的网络服务协议有:http,https,ftp,smtp,pop。会话层:建立、管理和终止表示层之间的通信会话。网络层:进行逻辑地址寻址,实现不同网络之间的路径选择物理层: 建立维护和断开物理连接应用层:对应OSI七层模型中的应用层、表示层、会话层网络层:物理…

    Linux笔记 2018-07-15