Linux系统yum使用手册Word文档格式.docx
《Linux系统yum使用手册Word文档格式.docx》由会员分享,可在线阅读,更多相关《Linux系统yum使用手册Word文档格式.docx(19页珍藏版)》请在冰点文库上搜索。
11.3配置YUM客户端15
11.3.1基于ftp的方式15
11.3.2基于http的方式16
1引言
1.1目的
本手册的编写目的是对配置Linux系统yum的相关步骤进行总结。
1.2对象
本文档主要供下列人员使用:
⏹开发人员――安装软件包
2修订历史
日期
版本
说明
作者
2012-10-11
1.0.0
初步整理
Marsleo
3参考资料
[1].
4术语与缩写
4.1术语
序号
术语名称
术语定义
4.2缩写
缩写
缩写意义
1
Yum
YellowdogUpdater,Modified软件包管理器
5Yum介绍
5.1Yum简介
使用redhat,fedora的linuxer肯定都为rpm著名的dependencyhell而头疼(这也是所有基于rpm发行版都有的问题)。
fooisneededbybar,barisneededbyfoo。
要装卸个软件,还得辛辛苦苦地梳理清楚所有依赖性问题,rpm的几个搜索站点成了时常光顾的场所,如果不幸碰到循环依赖,那就只有干瞪眼的分了。
有时加个--nodeps参数,倒是眼不见,心不烦,但这样装上的软件,你能保证正常使用吗,这样卸载软件,你能保证不影响其它软件工作吗,恐怕谁也不能给出肯定的答案。
每到这时,帽子们只有看着debian的apt暗自羡慕了。
好在,这些都已经成为过去时了。
基于rpm的发行版现在也有了像apt那样自动解决依赖关系的包管理工具了。
其中一个著名的就是apt4rpm,这基本上是debian系统apt的在rpm发行版的移植。
但是使用Redhat和Fedora的linuxer你们知道吗,还有一个与apt功能类似的rpm包管理系统,那就是yum。
Fedora系统已经自带,Redhat也有相应的rpm下载。
与apt相比,yum的功能一点也不弱,甚至还有许多胜过apt之处。
比如说,yum是Fedora系统自带的,因此它能使用fedora官方的软件源,完成各种官方发布>
的各种升级。
对于第三方软件源的支持,yum也不差,大多数支持apt的repository注,也能支持yum,比如说freshrpms,fedora.us,livna等等。
此外yum有一个比较详细的log,可以查看何时升级安装了什么软件包等。
yum的代码较apt更为精简等。
Yum(全称为YellowdogUpdater,Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的Shell前端软件包管理器。
基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
可供Yum下载的软件包包括Fedora本身的软件包以及源自rpmfusion和rpm.livna.org的FedoraExtras,全部是由Linux社区维护的,并且基本是自由软件。
所有的包都有一个独立的GPG签名,主要是为了您的系统安全。
而对於Fedoracore4.0的用户,rpm.livna.org的签名是自动导入并安装的。
5.2Yum特点
Yum如下几个特点:
⏹可以同时配置多个资源库(Repository)
⏹简洁的配置文件(/etc/yum.conf)
⏹自动解决增加或删除rpm包时遇到的倚赖性问题
⏹使用方便
⏹保持与RPM数据库的一致性
5.3Yum命令
安装软件(以foo-x.x.x.rpm为例):
yuminstallfoo-x.x.x.rpm
yum常用命令删除软件
yumremovefoo-x.x.x.rpm
或者
yumerasefoo-x.x.x.rpm
升级软件:
yumupgradefoo
yumupdatefoo
查询信息:
yuminfofoo
搜索软件(以包含foo字段为例):
yumsearchfoo
其它参数参见manyum。
6yum安装
Fedora自带yum,不用安装。
其他如redhat,centOS如果在安装操作系统时没有选择,则需要自己手动安装,使用如下命令安装:
rpm-ivhyum-2.0.4-2.noarch.rpm
如果在使用yum命令时遇到如下结果:
以上错误内容为importyumImportError:
Nomodulenamedyum,是因为python的版本不正确造成的。
可能是python被替换了,可以用下面的命令:
witchpython
如果不是如下的结果:
则表示python已经是使用其他版本的了。
此时可以通过修改PYTHONPATH、PYTHONHOME和PATH这些环境变量将正确的python地址添加上去。
7yum配置
修改和增加配置文件中的资源库,加快下载速度和拥有更多可更新的rpm包,将/etc/yum.conf的内容全部替换为:
[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=fedora-release
tolerant=1
exactarch=1
[fedora-us-1]
name=FedoraCore1--FedoraUSmirror
baseurl=ftp:
//mirrors.kernel.org/fedora.us/fedora/fedora/1/i386/yum/os
[fedora-us-1-updates]
name=FedoraCore1updates--FedoraUSmirror
//mirrors.kernel.org/fedora.us/fedora/fedora/1/i386/yum/updates
[fedora-us-1-stable]
name=FedoraLinux(stable)forFedoraCore1--FedoraUSmirror
//mirrors.kernel.org/fedora.us/fedora/fedora/1/i386/yum/stable
[freshrpms]
name=FedoraLinux$releasever-$basearch-freshrpms
baseurl=
8yum使用
通过yum服务器安装指定包:
yuminstall[-y]package
其中-y:
不提示用户确认直接安装。
yumlocalinstallrpmfile
install与localinstall的区别:
install直接通过yum服务器端安装指定包及所有依靠关系,而localinstall是本地已有rpm文件,只要到yum服务器上安装依靠关系。
yumgrouplist
显示所有yum服务器定义的组。
yumgroupinstallpackagegroup
一次性安装yum服务器上定义的一组包。
yumremove[-y]package
通过yum服务器安装指定包。
-y:
不提示用户确认直接删除。
yumgroupremovepackagegroup
一次性删除yum服务器上定义的一组包。
yumlist[all]
列出yum服务器所有可用的包。
yuminfopackage
显示指定包。
9使用yum下载软件
有时,我们只需要下载其中的rpm包,而不直接安装时咋办呢?
一般情况下,yum是不提供只下载的功能的。
yuminstall后的下载文件存放在哪?
一般情况下,yuminstall安装软件后rpm包存放在/var/cache/yum/下。
下载yum源中的rpm包的方法就是,安装yum-utils,直接用yumdownloader就可以直接下载yum源中的rpm包。
yum-yinstallyum-utils
接着用yumdownloader就能下载rpm包了。
yumdownloadermysql-devel
10制作yum源
10.1制作互联网源
10.1.1Centos
Centos的yum源更新及下载的速度比较慢,现在普遍用的yum源是网易的。
因为这个源现在下载和更新的速度都比较快。
在可以联网的前提的步骤如下:
cd/etc/yum.repos.d/
wget
然后打开文件:
viCentOS6-Base-163.repo
编辑文件,把文件里面的$releasever全部替换为版本号(如CentOS6.2则改为6)最后保存!
或者直接把下面的内存拷贝到CentOS6-Base-163.repo文件中即可(已经修改好):
#CentOS-Base.repo
#
#ThemirrorsystemusestheconnectingIPaddressoftheclientandthe
#updatestatusofeachmirrortopickmirrorsthatareupdatedtoand
#geographicallyclosetotheclient.YoushouldusethisforCentOSupdates
#unlessyouaremanuallypickingothermirrors.
#Ifthemirrorlist=doesnotworkforyou,asafallbackyoucantrythe
#remarkedoutbaseurl=lineinstead.
[base]
name=CentOS-6-Base-
#mirrorlist=http:
//mirrorlist.centos.org/?
release=6&
arch=$basearch&
repo=os
gpgcheck=1
gpgkey=http:
//mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
#releasedupdates
[updates]
name=CentOS-6-Updates-
repo=updates
#additionalpackagesthatmaybeuseful
[extras]
name=CentOS-6-Extras-
repo=extras
#additionalpackagesthatextendfunctionalityofexistingpackages
[centosplus]
name=CentOS-6-Plus-
repo=centosplus
enabled=0
#contrib-packagesbyCentosUsers
[contrib]
name=CentOS-6-Contrib-
repo=contrib
10.1.2Redhat
在红帽(Redhat)中使用yuminstall经常会出现:
ThissystemisnotregisteredwithRHN
这个的原因是因为红帽中没有注册RHN,所以无法下载上面的软件包。
解决办法:
可以使用centos,(假定你已安装yum,且网络畅通)更改yum的源,即更换/etc/yum.repos.d/rhel-debuginfo.repo这个文件。
进入/etc/yum.repos.d/目录,终端中输入:
wgethttp:
//docs.linuxtone.org/soft/lemp/CentOS-Base.repo
即可在此目录下得到CentOS-Base.repo文件,这是centos的源文件,只需将其重命名为rhel-debuginfo.repo即可,以前的文件做个备份。
也可以按照Centos的说明换作网易的yum源。
10.2制作光盘或者iso镜像源
使用yum安装之前是必须配置yum源的,在不能联网的情况下,我们只能使用本地yum源。
使用本地光盘安装的步骤如下:
1.首先建立一个目录:
mkdir/mnt/cdrom
如果机器有光驱,那么插入光盘后要挂载光盘:
mount/dev/cdrom/mnt/cdrom
如果是上传的iso镜像文件(如centos.iso),则
mount-oloop/opt/iso/centos.iso/mnt/cdrom
2.进入yum配置文件目录:
cd/etc/yum.repos.d
3.备份配置文件,为了防止以后我们还需要从互连网上安装,新建backup文件夹,移动配置文件在里面:
mkdirbackup
mv*.repobackup/
4.在当前目录新建配置文件yum.repo,名字可以随便取,但后缀名必须是repo.然后编辑该配置文件。
后面分别介绍不同系统的编辑内容。
10.2.1CentOS
在CentOS系统中添加如下内容:
name=iso
baseurl=file:
///mnt/cdrom
如果系统可以自动发现光盘的,一般地会自动将其mount到/media/下的一个子目录(例如/media/CentOS_6.2_Final/),此时需要将上述/mnt/cdrom替换为/media/CentOS_6.2_Final/。
到此yum从本地安装已经配置完成,比如我们要安装ftp,则输入:
yuminstallftp.
在安装过程中,可能会报错,如下图:
此时,最简单的做法就是把配置文件yum.repo中的"
gpgcheck"
改为"
0"
:
gpgcheck=0
就可以顺利的完成,但此种方法存在一定的安全隐患,并且不一定可行。
更可行的办法是修改为:
///media/CentOS_6.2_Final/
enabled=1
gpgkey=file:
///media/CentOS_6.2_Final/RPM-GPG-KEY-CentOS-6
10.2.2Redhat
Redhat的内容为:
///mnt/cdrom/Server
///mnt/cdrom/RPM-GPG-KEY-redhat-release
如果您打算基于此安装关于cluster、clusterstorage或者xen相关的软件包,只须再添加以下内容:
[VT]
name=VTLocalSources
///media/rhel/VT
enable=1
gpcheck=1
///media/rhel/RPM-GPG-KEY-redhat-release
[Cluster]
name=ClusterLocalSources
///media/rhel/Cluster
[CS]
name=ClusterStorageLocalSources
///media/rhel/ClusterStorage
当然,以上三段内容均可以单独结合[base]段使用,例如,如果您只需要安装Xen相关rpm包,您只需要添加[VT]段结合[base]段即可。
10.3制作本地硬盘源
有些时候使用yum安装的机器是内部网络,无法连接互联网;
又或者需要安装的软件在光盘或者iso镜像文件中找不到,需要从网上下载。
这个时候的办法是:
在第一次使用的时候必须基于光盘或者iso镜像文件。
1.首先建立一个挂载目录和一个yum源目录:
mkdir/mnt/cdrom/root/yum/root/yum/Packages
2.拷贝GPGKEY到本地磁盘
cp/mnt/cdrom/RPM-GPG-KEY--redhat-release/root/yum/
3.进入yum配置文件目录:
4.备份配置文件,为了防止以后我们还需要从互连网上安装,新建backup文件夹,移动配置文件在里面:
5.在当前目录新建配置文件yum.repo,名字可以随便取,但后缀名必须是repo.然后编辑该配置文件:
[base]
baseurl=file:
///root/yum/Packages
gpgcheck=1
enable=1
GPGKEY=file:
///root/yum/RPM-GPG-KEY-redhat-release
6.导入签名:
rpm--import/root/yum/Server/repodata/RPM-GPG-KEY-redhat-release
完成上述准备后,从网上将需要的rpm包下载到本地电脑的yum源目录(/root/yum/Packages)。
具体需要哪些安装包可以通过一台可以连接网络的Linux机器或者虚拟机上通过yumdownloader下载:
yumdownloaderxxx
最后使用如下命令安装软件:
11配置yum服务器
首先要安装vsftpd服务,并启动它,同时配置为自动启动(配置为自动启动时,除使用下图中方法外还可直接使用chkconfigvsftpdon)。
rpm-ivhvsftpd-2.0.5-10.e15.x86_64.rpm
servicevsftpdstart
chkconfig--level3vsftpdon
chkconfig--level5vsftpdon
然后将光盘中的(Redhat的是Server、VT、Cluster、ClusterStorage,CentOS的是Packages)等几个目录复制到/var/ftp/pub下。
复制完成后切换到/var/ftp/pub目录,删除*.html文件,删除Server/repodata/TRANS.TBL,删除VT/repodata/TRANS.TBL,以上是建议删除的,不删除也可以。
接着确认系统中安装yum(在RHEL5是已默认安装)、createrepo(用于生成rpm依赖关系及组信息)包:
rpm–qa|egrep“yum|createrepo”
如果没有安装则安装它们。