设为首页 收藏本站
查看: 670|回复: 0

[经验分享] Linux命令:YUM

[复制链接]

尚未签到

发表于 2018-5-19 07:05:11 | 显示全部楼层 |阅读模式
YUM令简介:

全称为Yellow dog Updater, Modified,
是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,且简洁而又好记。


1.命令格式:
  yum [选项][文件]

2.命令功能:
HTML: HyperText Mark Language
XML: eXtended Mark Language (半结构化的数据XML, JSON
yum仓库中的元数据文件:
1)primary.xml.gz   (主要信息)  
    所有RPM包的列表;
    依赖关系;
    每个RPM安装生成的文件列表;
2)filelists.xml.gz   (文件列表
    当前仓库中所有RPM包的所有文件列表;
3)other.xml.gz   (额外信息
    额外信息,RPM包的修改日志;
4)repomd.xml
    记录的是上面三个文件的时间戳校验和
5)comps*.xml: RPM包分组信息



ftp://172.16.0.1/pub/{Server,VT,Cluster,ClusterStorage}

如何为yum定义repo文件  /etc/yum.repos.d/server.repo
[Repo_ID]
name=Description
baseurl=
    ftp://
    http://
    file:///   第三个/为根路径
enabled={1|0}
gpgcheck={1|0}
gpgkey=

[root@localhost yum.repos.d]# yum list |less
Loaded plugins: rhnplugin, security
This system is not registered with RHN.
RHN support will be disabled.
Installed Packages
Deployment_Guide-as-IN.noarch    5.2-11    installed
Deployment_Guide-bn-IN.noarch    5.2-11    installed
...

[root@localhost yum.repos.d]# vim server.repo
[Base]
name=RHEL5 Server
baseurl=fpt://110.199.134.200//pub5.4_64/Server
enabled=1
gpgcheck=0



  
3.命令参数:
  3.1.RPM 安装包
  

  yum [options] [command] [package ...]
  -y: 自动回答为yes
  --nogpgcheck

list: 列表     支持glob
    all
    available:可用的,仓库中有但尚未安装的
    installed: 已经安装的
    updates: 可用的升级
  eg1.yum list all zsh*
  

  clean: 清理缓存
    [ packages | headers | metadata | dbcache | all ]
  eg1.yum clean all

  

  repolist: 显示repo列表及其简要信息
    all
    enabled: 默认
    disabled

install: 安装
  yum install PACKAGE_NAME

update: 升级
update_to: 升级为指定版本

remove|erase:卸载      相依赖的一起卸载

info:
[root@JackTest yum.repos.d]# yum info zsh
Available Packages
Name   : zsh
Arch   : i386
Version: 4.3.4
Release: 4.fc8
Size   : 1.9 M
Repo   : Base01
Summary: A powerful interactive shell
Description:
The zsh shell is a command interpreter usable as an interactive login
shell and as a shell script command processor.  Zsh resembles the ksh
shell (the Korn shell), but includes many enhancements.  Zsh supports
command line editing, built-in spelling correction, programmable
command completion, shell functions (with autoloading), a history
mechanism, and more.
  

  provides| whatprovides:  查看指定的文件或特性是由哪个包安装生成的;
[root@JackTest yum.repos.d]# yum provides /etc/inittab
filelists.sqlite.bz2      100% |=========================| 2.6 MB    00:00     
initscripts.i386 : The inittab file and the /etc/init.d scripts
initscripts.i386 : The inittab file and the /etc/init.d scripts
  

  groupinfo
grouplist
groupinstall
groupremove
groupupdate
[root@JackTest yum.repos.d]# yum grouplist
Setting up Group Process
Fedora-8-comps.xml      100% |=========================| 1.2 MB    00:00     
Installed Groups:
   Office/Productivity
   MySQL Database
   Administration Tools
   Editors
   System Tools
   Fonts
   Text-based Internet
   GNOME Desktop Environment
   Authoring and Publishing
   Hardware Support
   Games and Entertainment
   Network Servers
   X Window System
   Graphics
   Web Server
   Printing Support
   Mail Server
   Server Configuration Tools
   Legacy Fonts
   Sound and Video
   Graphical Internet
Available Groups:
   Engineering and Scientific
   Window Managers
   GNOME Software Development
   News Server
   ...
   PostgreSQL Database
   Development Libraries
   Development Tools
Done
[root@JackTest yum.repos.d]# yum groupinstall   “Development Libraries”  “Development Tools”

  Package gcc - 4.1.2-33.i386 already installed and latest version
...
Resolving Dependencies
--> Running transaction check
---> Package gdbm-devel.i386 0:1.8.0-27.fc7 set to be updated
---> Package ctags.i386 0:5.6-1.1 set to be updated

  ...

  Dependencies Resolved
=============================================================================
Package         Arch       Version    Repository        Size
=============================================================================
Installing:
automake14     noarch     1.4p6-15.fc7     Base01      243 k
automake15     noarch     1.5-22        Base01      283 k
...
Transaction Summary
=============================================================================
Install     94 Package(s)         
Update       0 Package(s)         
Remove       0 Package(s)         

Total download size: 77 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: zlib-devel        ####################### [ 1/94]
  Installing: pciutils-devel    ####################### [ 2/94]
  ...
  Installing: perl-ExtUtils-Embed  ####################### [94/94]

Installed: automake14.noarch 0:1.4p6-15.fc7 automake15.noarch 0:1.5-22 automake16.noarch 0:1.6.3-14 automake17.noarch 0:1.7.9-11 binutils-devel.i386 0:2.17.50.0.18-1 bison.i386 0:2.3-4.fc8 boost-devel.i386 0:1.34.1-5.fc8 byacc.i386 0:1.9.20050813-2.fc8 bzip2-devel.i386 0:1.0.4-12.fc8

  ...
Complete!
  a

  php-ldap.i386    5.2.4-3  Base01
php-mbstring.i386  5.2.4-3    Base01
php-mysql.i386    5.2.4-3      Base01
php-odbc.i386     5.2.4-3      Base01
php-pdo.i386    5.2.4-3      Base01
php-pecl-apc.i386    3.0.14-2.fc8    Base01
php-pgsql.i386  5.2.4-3     Base01
php-xml.i386    5.2.4-3    Base01
phpldapadmin.noarch   1.0.1-1.fc6   Base01  
[root@JackTest yum.repos.d]# yum install php-mysql.i386    自动安装
  Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package php-mysql.i386 0:5.2.4-3 set to be updated
--> Processing Dependency: php-pdo for package: php-mysql
--> Processing Dependency: php-common = 5.2.4-3 for package: php-mysql
--> Running transaction check
---> Package php-common.i386 0:5.2.4-3 set to be updated
---> Package php-pdo.i386 0:5.2.4-3 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
=============================================================================
Package  Arch  Version  Repository  Size
=============================================================================
Installing:
php-mysql     i386   5.2.4-3   Base01   80 k
Installing for dependencies:
php-common   i386   5.2.4-3   Base01   221 k
php-pdo     i386   5.2.4-3   Base01   60 k
Transaction Summary
=============================================================================
Install      3 Package(s)         
Update       0 Package(s)         
Remove       0 Package(s)         
Total download size: 360 k
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: php-common     ######################### [1/3]
  Installing: php-pdo      ######################### [2/3]
  Installing: php-mysql     ######################### [3/3]
Installed: php-mysql.i386 0:5.2.4-3
Dependency Installed: php-common.i386 0:5.2.4-3 php-pdo.i386 0:5.2.4-3
Complete!
[root@JackTest yum.repos.d]#

  

  2、创建yum源
  [root@JackTest yum.repos.d]# yum list createrepo
Available Packages
createrepo.noarch           0.4.10-1.fc8           Base01         
[root@JackTest yum.repos.d]# yum install createrepo
  

  [root@localhost ~]# mkdir -pv /yum/VT   *1*创建个目录  *2*安装createrepo
mkdir: created directory `/yum'
mkdir: created directory `/yum/VT'
  [root@localhost ~]# cp /media/VT/*.rpm /yum/VT/    **复制RPM包
[root@localhost ~]# cd /yum/VT/
  [root@localhost VT]# ls |wc -l
72
  [root@localhost VT]# cd /etc/yum.repos.d/
  [root@localhost yum.repos.d]# ls
rhel-debuginfo.repo.bk  server.repo
[root@JackTest yum.repos.d]# yum list    **无源仓库文件而报错
file:///yum/VT/repodata/repomd.xml: [Errno 5] OSError: [Errno 2] No such file or directory: '/yum/VT/repodata/repomd.xml'
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: VT. Please verify its path and try again
  [root@JackTest yum.repos.d]# yum repolist

  Loaded plugins: rhnplugin, security
This system is not registered with RHN.
RHN support will be disabled.
file:///yum/ServerRH5/repodata/repomd.xml: [Errno 5] OSError: [Errno 2] No such file or directory: '/yum/ServerRH5/repodata/repomd.xml'
Trying other mirror.

  Error: Cannot retrieve repository metadata (repomd.xml) for repository: ServerRH5. Please verify its path and try again
  

  [root@localhost ~]# cp  /media/repodata/Fedora-8-comps.xml  ./
  [root@JackTest ~]# createrepo -g /root/Fedora-8-comps.xml /yum/VT/    *3*生成/repodata源仓库文件
116/116 - arts-devel-1.5.8-4.fc8.i386.rpm                                       
Saving Primary metadata
Saving file lists metadata
Saving other metadata
You have new mail in /var/spool/mail/root
  [root@JackTest yum.repos.d]# ls /yum/VT/repodata/
Fedora-8-comps.xml filelists.xml.gz  other.xml.gz  primary.xml.gz  repomd.xml
  [root@JackTest yum.repos.d]# yum clean all
Cleaning up Everything
[root@JackTest yum.repos.d]# yum repolist  
repo id        repo name         status
Base01        RHEL5 Server       enabled
VT               VT            enabled
  

  [root@JackTest ~]# createrepo -g /root/Fedora-8-comps.xml /yum/VT/
116/116 - arts-devel-1.5.8-4.fc8.i386.rpm                                       
Saving Primary metadata
Saving file lists metadata
Saving other metadata
  [root@localhost yum.repos.d]# vim server.repo    *4*配置repo文件

  [Base01]          #yum块区域
  name=aaa        #名字可以随便起)
baseurl=file:///yum/VT/    #搜索路径,必须指向你本机的yum源路径
enabled=1       #0为不启用,1为启用,无一项就是启用
gpgcheck=0     #gpg验证是否开启,1是开启,0是不开启,一般为0
  
[root@JackTest ~]# yum list all | grep php
php-common.i386      5.2.4-3        installed
php-mysql.i386       5.2.4-3        installed
php-pdo.i386       5.2.4-3        installed
php.i386     5.2.4-3        Base01
php-cli.i386        5.2.4-3      Base01
php-gd.i386       5.2.4-3      Base01
  

  3、自动创建yum源
  此脚本能于同一个repo文件中创建多个Yum源的指向;
  1、接受一个文件名做为参数,此文件存放至/etc/yum.repos.d目录中,且文件名以.repo为后缀;要求,此文件不能事先存,否则,报错;
  2、在脚本中,提醒用户输入repo id;如果为quit,则退出脚本;否则,继续完成下面的步骤;
  3、repo name以及baseurl的路径,而后以repo文件的格式将其保存至指定的文件中;
  4、enabled默认为1,而gpgcheck默认设定为0;
  5、此脚本会循环执行多次,除非用户为repo id指定为quit;
  

  #!/bin/bash
# mkrepo.sh

REPOFILE=/etc/yum.repos.d/$1

if  [ -e $1 ];then
  echo "$1 exists."
  exit 3
fi

read -p "Repository ID:" REPOID
until [ $REPOID == 'quit' ];do
    echo "[$REPOID]" >> $REPOFILE
    read -p "Repository name:" REPONAME
    echo "name=$REPONAME" >> $REPOFILE
    read -p "Repository Baseurl:" REPOURL
    echo "baseurl=$REPOURL" >> $REPOFILE
    echo -e "enabled=1\ngpgcheck=0" >> $REPOFILE
  read -p "Repository ID again or keyin 'quit' to exit:" REPOID
done

cat $REPOFILE | grep baseurl    #显示新加的REPO地址

  

---end---

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-461840-1-1.html 上篇帖子: Linux 系统时区更改 下篇帖子: linux tree 乱码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表