7. 使用其他软件仓库
Fedora系统自动使用Fedora项目软件仓库。这些包含Fedora Extras,缺省软件源中的软件未包含在Fedora Core中。
以前版本的Fedora Core使用Fedora Extras仓库
你必须手动配置Fedora 3系统来使用Fedora Extras,使用说明在https://fedora.redhat.com/projects/extras/。对Fedora 1和Fedora 2的附加包,参考https://www.fedora.us/
。
如果Fedora项目(Fedora Project)没有提供的软件包,制作者可能提供或推荐有单独的软件仓库。社区成员维护软件仓库也会为Fedora系统提供软件包。如https://www.jpackage.org/发布流行的Java软件包。
7.1 添加一个软件仓库作为软件包源
要添加一个额外软件仓库,放入一个定义好的文件到你的系统/etc/yum.repos.d/目录下。软件包提供者会定义该文件让他们的web站成为有效的软件仓库。
定义文件的扩展名
软件仓库定义文件的扩展名用.repo。
你必须有root权限来添加文件到定义目录中。要复制定义文件example.repo,输入命令:
在提示处输入root密码。
配置文件为每个软件仓库包含一个gpg密钥设定。该设定指定公共key的位置,来为软件仓库中的软件包提供校验。这个公共密钥会在你第一次从该仓库安装软件时自动导入。如果配置文件倘未包含这个设定,请参考第7.2节“手动许可软件包源”。
仓库和up2date通道
从Fedora 4开始,yum软件仓库自动用于up2date通道。在Fedora 3和更早的系统中,你必须手动配置up2date来使用这些通道。要这样做,请编辑/etc/sysconfig/rhn/sources文件。
7.2. 手动认可软件包源
要手动添加一个公共密钥到你的rpm keyring中,使用rpm程序的导入功能。如要导入GPG-PUB-KEY.asc文件,键入下列命令:
在提示处输入root密码。
你也可以从一个web站直接导入公共密钥。例如,要从www.therepository.com导入文件GPG-PUB-KEY.asc就用这个命令:
在提示处输入root密码。
在Fedora 3中导入Fedora的密钥
要在Fedora 3系统中添加Fedora公共密钥到rpm keyring,运行命令su -c ‘rpm –import /usr/share/rhn/RPM-GPG-KEY-fedora’。
7.3 理解软件仓库兼容
Fedora Extras软件仓库提供的Fedora Core软件包是用同样的标准创建的。除非提供者另外特别声明,否则第三方软件包必须与这些Fedora Project软件包相兼容。
在你添加一个软件包源之前,需要阅读软件仓库所在web站的有关软件包的兼容性信息。独立的软件仓库提供者可能对同一软件提供不同甚至不兼容的版本。第三方软件仓库也可能提供其中一种包给Fedora软件仓库。
独立或第三方的软件包所包含的软件版本功能可能与包含在Fedora Project的版本功能不同,用这种版本替换Fedora Project软件包之前,要注意确定其是否有用或不兼容。
不兼容仓库
如果使用不兼容的软件仓库配置你的系统,yum操作可能失败。
为某一版本的Fedora创建的软件包通常会与其他版本的Fedora不兼容。软件包提供者的web站会特别声明这些软件包支持哪一个Fedora版本。
旧版的yum与当前仓库
yum的2.1版后软件仓库索引的数据格式已经发生变化。Fedora 3已经支持该版本。软件仓库提供者会指定他们所支持的Fedora的版本。要确定一个无标识的软件仓库是否与当前yum版本相兼容,可以查看它的repodata/子目录。
==============================
8. 维护yum
yum系统不需要任何日常维护。要保证yum操作达到理想的速度,可禁用或删除你并不再需要的软件仓库定义。你也可以为恢复磁盘空间而从yum缓存中清除一些文件。
8.1. 禁用或删除软件包源
在定义文件中设置enable=0来阻止yum使用该软件仓库。yum程序会忽略使用这种设置的所有已定义文件。
要完全移除访问某一软件仓库:
1. /etc/yum.repos.d/中删除相关文件。
2. 从/var/cache/yum/中删除cache目录。
8.2. 清理yum缓存
缺省的话,yum会保留软件包和下载该包的数据文件,这样它们可能在将来操作时被重新使用而不需要再次下载它。要清理软件包的数据文件,使用这个命令:
运行该命令来删除所有保存在缓存中的软件包:
当使用这些命令时,在提示处输入root密码。
清理缓存文件会导致下次再次需要这些文件时重新下载,这样会增加完成这些操作的时间。
==============================
9. 手动安装软件
除非软件包不存在于任何软件仓库,否则一般都使用软件仓库和规定的yum命令来定位和安装新软件。如果这样,可使用本地安装功能从软件包文件安装软件。
公共密钥的需要
在你安装没有软件仓库的软件包之前,请确认已经导入这个软件包源的公共密钥。参考第7.2节“手动许可软件包源”。
输入这个命令来安装包tsclient-0.132-4.i386.rpm:
在提示处输入root密码。
升级先前安装的软件
如果已安装在你系统的软件又提供了较新的软件版本包,用yum升级已安装软件。
如果软件包所需的一些软件没有安装在你的系统中,yum会尝试从已配置的软件仓库中解决与这些软件包的依赖问题。为使满足所有的依赖关系,你可能需要手动下载和安装这些附属的软件包。
维护手动安装的软件
如果你安装软件不是通过软件仓库提供进行的,yum update无法自动升级它为有效的新版。要确认你有最新版的软件包,你可以可预订e-mail和RSS服务,当新版被释放时就会通知你。
==============================
10. 通过代理服务器使用yum
你可以通过标准的web代理服务器来访问软件仓库。如果你的系统通过一个web代理服务器访问Internet,在/etc/yum.conf里要指定代理服务器详细资料。代理服务器设置项必须指定该代理服务器的完整URL,包括TCP端口号。如果你的代理服务器需要用户名或密码,通过添加代理服务器用户名(username)和代理服务器密码(password)设置项来指定。
下面设置yum使用代理服务器mycache.mydomain.com,连接到端口3128,使用用户名yum-user和密码qwerty。
QUOTE:
# The proxy server – proxy server:port number
proxy=https://mycache.mydomain.com:3128
# The account details for yum connections
proxy_username=yum-user
proxy_password=qwerty
例3.使用代理服务器配置文件设置
全局设置
如果你在/etc/yum.conf中定义代理服务器,则当使用yum时所有用户都以这些定义连接这个代理服务器。
要允许特定用户访问代理服务器,则添加下列一些行到用户的shell profile文件中。缺省是bash shell,profile文件是~/.bash_profile。下面的设置允许shell所在用户的yum使用代理服务器 mycache.mydomain.com,连接到端口3128。
QUOTE:
# The Web proxy server used by this account
http_proxy=”https://mycache.mydomain.com:3128″
export http_proxy
例4. 为使用代理服务器的Profile文件设置
如果代理服务器需要用户名或密码,添加这些到URL。要包含用户名yum-user和密码qwerty,设置如下:
QUOTE:
# The Web proxy server, with the username and password for this account
http_proxy=”https://yum-user:[email protected]:3128″
export http_proxy
例5. 为代理服务器安全的Profile文件设置
http_proxy环境变量
The http_proxy environment variable is also used by curl and other utilities. Although yum itself may use http_proxy in either upper-case or lower-case, curl requires the name of the variable to be in lower-case.
==============================
11. 鸣谢
保罗·弗里尔兹(Paul Frields)编辑了本文档。蒂莫西·墨菲(Timothy Murphy)校对beta版。
——————————————————————————–
中文翻译:月下刀客 于2005年11月12日第一版
原文出处:https://fedora.redhat.com/docs/yum/en/
Leave A Comment