如何重新安装yum?

az9*_*z93 6 yum

我犯了一个大错误:我删除了 yum。所以现在当我例如运行以下时,它给了我一个错误:

$ yum clean all
yum command not found.
Run Code Online (Sandbox Code Playgroud)

我可以成功下载包:

wget mirror.centos.org/centos/6/os/i386/Packages/yum-3.2.29-40.el6.centos.noarch.rpm
--2014-01-15 15:42:59--  http://mirror.centos.org/centos/6/os/i386/Packages/yum-3.2.29-40.el6.centos.noarch.rpm
Resolving mirror.centos.org... 192.133.139.3
Connecting to mirror.centos.org|192.133.139.3|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1019540 (996K) [application/x-rpm]
Saving to: “yum-3.2.29-40.el6.centos.noarch.rpm.1”

100%[====================================================================================================================>] 1,019,540    649K/s   in 1.5s

2014-01-15 15:43:01 (649 KB/s) - “yum-3.2.29-40.el6.centos.noarch.rpm.1” saved [1019540/1019540]
Run Code Online (Sandbox Code Playgroud)

尝试安装下载的软件包会出现以下错误:

# rpm -ivh yum-3.2.29-40.el6.centos.noarch.rpm
Preparing...                ########################################### [100%]
    file /usr/lib/python2.6/site-packages/yum/__init__.py from install of yum-3.2.29-40.el6.centos.noarch conflicts with file from package yum-3.2.29-30.el6.centos.noarch
[...]
file /usr/share/yum-cli/yummain.pyo from install of yum-3.2.29-40.el6.centos.noarch conflicts with file from package yum-3.2.29-30.el6.centos.noarch
Run Code Online (Sandbox Code Playgroud)

中没有目录“yum” /usr/bin

当我使用命令“rpm -qa | grep yum”时。

yum-metadata-parser-1.1.2-16.el6.x86_64
yum-plugin-fastestmirror-1.1.30-14.el6.noarch
yum-3.2.29-30.el6.centos.noarch
Run Code Online (Sandbox Code Playgroud)

发行版是 CentOS 6.3。
如何重新安装 yum?

slm*_*slm 8

鉴于您已经yum安装,您不能执行rpm -ivh ... 此命令将安装尚未安装的 RPM。相反,您应该使用rpm -Uvh ...升级yum包或先将其删除,rpm -e yum.

我建议对软件包进行升级。

$ wget http://mirror.centos.org/centos/6/os/i386/Packages/yum-3.2.29-40.el6.centos.noarch.rpm
rpm -Uvh yum-3.2.29-40.el6.centos.noarch.rpm
Run Code Online (Sandbox Code Playgroud)

依赖包管理器

RPM 可以帮助您解决此类问题,或者至少有助于识别问题。该rpm命令包括验证它维护的包的能力。

 $ rpm -V yum
Run Code Online (Sandbox Code Playgroud)

如果没有问题,它将简单地不返回任何内容。如果有问题,它会告诉您哪些文件有问题。

$ rpm -V httpd
SM5....T  c /etc/httpd/conf/httpd.conf
Run Code Online (Sandbox Code Playgroud)

字母/数字告诉您有关软件包的各个方面,这些方面与最初安装的内容不符。

摘自 rpm 手册页

9 个字符中的每一个都表示将文件的属性与数据库中记录的那些属性的值进行比较的结果。一个“.” (句号)表示测试通过,而单个“?” (问号)表示无法执行测试(例如文件权限阻止读取)。否则,(助记符加粗)字符表示相应--verify测试失败:

   S file Size differs
   M Mode differs (includes permissions and file type)
   5 digest (formerly MD5 sum) differs
   D Device major/minor number mismatch
   L readLink(2) path mismatch
   U User ownership differs
   G Group ownership differs
   T mTime differs
   P caPabilities differ
Run Code Online (Sandbox Code Playgroud)


小智 0

下载 yum (不知道你正在使用什么发行版)你可以从这里尝试 ,然后安装 pkg

\n\n
rpm -ivh <rpm_file_name>\n
Run Code Online (Sandbox Code Playgroud)\n\n

或者查看 yum 项目页面。例如,对于yum3.2.29-40(32 位):

\n\n
wget http://mirror.centos.org/centos/6/os/i386/Packages/yum-3.2.29-40.el6.centos.noarch.rpm\nrpm -ivh yum-3.2.29-40.el6.centos.noarch.rpm \xe2\x80\x93\n
Run Code Online (Sandbox Code Playgroud)\n