使用yum无法进行系统更新的原因
2008-08-22 10:31
337 查看
使用yum无法进行系统更新的原因
这些天一直在trixbox上进行二次开发,trixbox是一个开源PBX的分发版,它将所有依赖的软件安装在centerOS(一个linux的分发版)上,打包成一个ISO镜像,你只需要安装十几
分钟就可以将一个PC格式化安装成一个家用的PBX.然而,我想要在上边做开发,需要一些第三方的软件,比如GCC,kernel-devel(用来编译),subversion(用来取得一个更新的
软件包);这些都是trixbox默认没有安装的。
所以我使用了yum管理软件,参考了yum的使用,发现它很强大,
一方面他可以管理软件:
1,安装新软件
2.更新软件
3.移除软件
另一方面还可以使用yum搜索软件
当然,最普通的用户,使用yum可以更新您的系统,这个功能相当于windows的自动更新一样,可以为您的系统打上补丁。
在使用之前,我们首先来了解软件仓库(repository),一般社区的成员会维护一个适用于操作系统的软件仓库,另外,一些软件的作者可能也提供了一个单独的仓库。而这个仓库的
信息是存放在您系统中的/etc/yum.repos.d、目录下的若干个描述文件中。仓库的维护者一般会在网站上公布自己仓库的描述文件。仓库描述文件的名称以.repo结尾,您必须有
root权限才能向这个目录添加文件。
而此次,我遇到的问题就是,当我使用yum -y update想要更新我的系统时,发生了如下报告:
http://download.skype.com/linux/repo...ta/repomd.xml: [Errno 14] HTTP Error 404: Server: nginx/0.5.14
Trying other mirror.
Error: Cannot open/read repomd.xml file for repository: skype )
当然,从字面意思理解是不能找到目标的服务器,也就是取得软件仓库中的软件了;但另我困惑的是,为什么要去一个skype的网站上去更新软件呢?后来查阅了资料发现有人这样
回复:
You have installed a lot of useless repos and Yum is not working properly because of that.
Post the output of this
也就是说,你配置了太多的目标软件仓库库,导致yum在寻找的时候发生了混乱。果然,我查看了一下:
ls /etc/yum.repos.d
发现好多的*.repo,试着打开一个,看到就是类似与一个地址的配置。看到有两个貌似官方的配置文件,保留下来,其他的通通删除。
然后执行了yum clean all
OK,然后再执行yum -y update,我靠,成功了,就看着一直下载,等了N长的时间。
那边等边写了,yum不需要任何日常的维护,为了保证yum的操作速度,应当禁用或删除那些不再需要的仓库,可以删除yum缓存中的文件,从而节省硬盘空间。
禁用的方法可以在仓库的描述文件中设置enable=0,yum工具忽略包含这一设置的描述文件。
要彻底删除一个仓库,可以从/etc/yum.repos.d/目录中删除相关的文件,从/var/cache/yum中删除相关的缓存目录
默认情况下,yum保留它下载的软件包和软件信息文件,这样下次不用重新下载,要删除软件文件信息,使用命令:
yum clean headers
要删除缓存中所有的软件包,使用命令:
yum clean packages
这些天一直在trixbox上进行二次开发,trixbox是一个开源PBX的分发版,它将所有依赖的软件安装在centerOS(一个linux的分发版)上,打包成一个ISO镜像,你只需要安装十几
分钟就可以将一个PC格式化安装成一个家用的PBX.然而,我想要在上边做开发,需要一些第三方的软件,比如GCC,kernel-devel(用来编译),subversion(用来取得一个更新的
软件包);这些都是trixbox默认没有安装的。
所以我使用了yum管理软件,参考了yum的使用,发现它很强大,
一方面他可以管理软件:
1,安装新软件
2.更新软件
3.移除软件
另一方面还可以使用yum搜索软件
当然,最普通的用户,使用yum可以更新您的系统,这个功能相当于windows的自动更新一样,可以为您的系统打上补丁。
在使用之前,我们首先来了解软件仓库(repository),一般社区的成员会维护一个适用于操作系统的软件仓库,另外,一些软件的作者可能也提供了一个单独的仓库。而这个仓库的
信息是存放在您系统中的/etc/yum.repos.d、目录下的若干个描述文件中。仓库的维护者一般会在网站上公布自己仓库的描述文件。仓库描述文件的名称以.repo结尾,您必须有
root权限才能向这个目录添加文件。
而此次,我遇到的问题就是,当我使用yum -y update想要更新我的系统时,发生了如下报告:
http://download.skype.com/linux/repo...ta/repomd.xml: [Errno 14] HTTP Error 404: Server: nginx/0.5.14
Trying other mirror.
Error: Cannot open/read repomd.xml file for repository: skype )
当然,从字面意思理解是不能找到目标的服务器,也就是取得软件仓库中的软件了;但另我困惑的是,为什么要去一个skype的网站上去更新软件呢?后来查阅了资料发现有人这样
回复:
You have installed a lot of useless repos and Yum is not working properly because of that.
Post the output of this
也就是说,你配置了太多的目标软件仓库库,导致yum在寻找的时候发生了混乱。果然,我查看了一下:
ls /etc/yum.repos.d
发现好多的*.repo,试着打开一个,看到就是类似与一个地址的配置。看到有两个貌似官方的配置文件,保留下来,其他的通通删除。
然后执行了yum clean all
OK,然后再执行yum -y update,我靠,成功了,就看着一直下载,等了N长的时间。
那边等边写了,yum不需要任何日常的维护,为了保证yum的操作速度,应当禁用或删除那些不再需要的仓库,可以删除yum缓存中的文件,从而节省硬盘空间。
禁用的方法可以在仓库的描述文件中设置enable=0,yum工具忽略包含这一设置的描述文件。
要彻底删除一个仓库,可以从/etc/yum.repos.d/目录中删除相关的文件,从/var/cache/yum中删除相关的缓存目录
默认情况下,yum保留它下载的软件包和软件信息文件,这样下次不用重新下载,要删除软件文件信息,使用命令:
yum clean headers
要删除缓存中所有的软件包,使用命令:
yum clean packages
相关文章推荐
- 使用Android系统提供的ContentResolver,无法进行distinct查询的workaround
- libc.so.6被删后导致系统无法使用的原因及解决方法
- MySQL之前一直正常使用,更新了一下系统之后出现“MySQL 服务无法启动,发生系统错误 1067 ”
- (转)巧妙使用YUM更新系统
- Mac 更新系统后无法使用git
- activity使用fragment transaction.commit()进行fragment切换,activity被系统回收后再点应用就无法切换
- 解决centos5系统不受支持yum无法使用的问题
- 使用JVM管理工具jvisualvm,系统提示"无法检测到本地java应用程序"的原因和解决办法
- CentOS使用yum更新系统,但不更新内核的方法!
- 使用yum更新系统
- win8 系统,无法进行管理员操作,总是提示连接智能卡,什么原因?
- 使用SDK Manager.exe无法进行更新(No system images installed for this target)
- 关于SubSonic3.0插件使用实体进行更新操作时(执行T.Update()或T.Save()),某些列无法进行修改操作的问题处理
- “在使用Samba进行建立Wisamba无法访问,你可能没有权限使用网络”的一种问题原因及解决
- RedHat 未注册的服务系统使用yum命令进行软件安装
- iOS 9系统策略更新,微信分享无法使用解决办法
- win10每次更新后,指纹识别无法使用的解决方法,系统慢解决
- CentOS7安全设置 yum-cron系统自动更新,firewalld防火墙简单使用
- 关于Jpa使用Update方法进行更新操作,却没有同步到数据库的原因
- 使用YUM自动更新Linux系统