如何安装 CentOS 软件库?

Jim*_*Jim 29 yum centos

我有一种情况,应该存在于/etc/yum.repos.d/(如centos-base.repo)中的库存回购文件不存在。我需要安装它们。我确信这很简单,但经过数小时的搜索,我似乎没有正确地使用谷歌搜索。

基本上我有一个带有自定义存储库的服务器,对我来说是无用的。我需要 epel,epel 需要centos-base.repo. 我还需要 postgres 仓库。

mid*_*eel 22

在 /etc/yum.repos.d 目录下创建一个名为 Centos-Base.repo 的文件

vi /etc/yum.repos.d/Centos-Base.repo
Run Code Online (Sandbox Code Playgroud)

将以下信息放入文件中:

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=
$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=1

#released updates 
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=
$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=1

#packages used/produced in the build but not released
[addons]
name=CentOS-$releasever - Addons
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=
$basearch&repo=addons
#baseurl=http://mirror.centos.org/centos/$releasever/addons/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=1

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=
$basearch&repo=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=1

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=
$basearch&repo=centosplus
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=2

#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=
$basearch&repo=contrib
#baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=2
Run Code Online (Sandbox Code Playgroud)

保存并运行。

yum clean all 
Run Code Online (Sandbox Code Playgroud)

然后跑。

yum repolist
Run Code Online (Sandbox Code Playgroud)

如果您通过将其复制到腻子中,请vi确保仔细检查换行符。我不得不修复在复制粘贴过程中发生的一些编辑。

  • 不要粘贴到 vi 或 vim 之类的编辑器中,只需使用 cat > filename 并在粘贴后按 ctrl-d 即可。此外,vim 有一个模式,用于从剪贴板接收数据,这将禁用自动格式化等。只需在进入插入模式之前使用 ":set paste"。不过我还是更喜欢cat方法,比较简单。 (5认同)
  • 它不适用于 CentOS-7 (3认同)
  • 为什么这有 CEntOS-5 的 GPG 文件,例如 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 ? (2认同)

Nil*_*ils 11

您可以centos-release使用以下方法手动重新安装-rpm:

rpm -ivh --replacepkgs --replacefiles centos-release*.rpm
Run Code Online (Sandbox Code Playgroud)

  • 这有效,但需要修改。第一步是查看是否安装了 centos-release 软件包,输入 rpm -q centos-release。如果未安装,则应省略命令的 --replacepkgs --replacefiles 部分。在我的情况下,整个东西都被卸载了,所以我使用了:rpm -Uvh centos-release.*.rpm (3认同)