某些国内centos系统在进行yum操作时会从奇怪的镜像地址获取包,速度很慢,这里修改CentOS系统的镜像mirrors为网易镜像地址。
修改说明见:http://mirrors.163.com/.help/centos.html
0、查看你的CentOS系统是5还是6
cat /etc/issue.net
1、先备份系统默认的CentOS-Base.repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2、下载网易repo文件
- CentOS5:wget http://mirrors.163.com/.help/CentOS5-Base-163.repo
- CentOS6:wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
3、把repo文件移到/etc/yum.repos.d/目录下
- CentOS5:mv CentOS5-Base-163.repo CentOS-Base.repo && mv CentOS-Base.repo /etc/yum.repos.d/
- CentOS6:mv CentOS6-Base-163.repo CentOS-Base.repo && mv CentOS-Base.repo /etc/yum.repos.d/
4、运行yum makecache生成缓存
再次感受下速度是不是提升了。
在某台15美元一年的OpenVZ虚拟化的VPS上安装pptpd服务,结果遭遇yum无法使用的问题。执行yum后的错误代码如下:
- Loaded plugins: fastestmirror
- Setting up Remove Process
- No Match for argument: pptpd
- Determining fastest mirrors
- Traceback (most recent call last):
- File "/usr/bin/yum", line 29, in ?
- yummain.user_main(sys.argv[1:], exit_code=True)
- File "/usr/share/yum-cli/yummain.py", line 309, in user_main
- errcode = main(args)
- File "/usr/share/yum-cli/yummain.py", line 178, in main
- result, resultmsgs = base.doCommands()
- File "/usr/share/yum-cli/cli.py", line 349, in doCommands
- return self.yum_cli_commands[self.basecmd].doCommand(self, self.basecmd, self.extcmds)
- File "/usr/share/yum-cli/yumcommands.py", line 366, in doCommand
- return base.erasePkgs(extcmds)
- File "/usr/share/yum-cli/cli.py", line 638, in erasePkgs
- self._checkMaybeYouMeant(arg, always_output=False)
- File "/usr/share/yum-cli/cli.py", line 533, in _checkMaybeYouMeant
- matches = self.doPackageLists(patterns=[arg], ignore_case=False)
- File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 1632, in doPackageLists
- avail = self.pkgSack.returnNewestByNameArch(patterns=patterns,
- File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 662, in <lambda>
- pkgSack = property(fget=lambda self: self._getSacks(),
- File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 502, in _getSacks
- self.repos.populateSack(which=repos)
- File "/usr/lib/python2.4/site-packages/yum/repos.py", line 232, in populateSack
- self.doSetup()
- File "/usr/lib/python2.4/site-packages/yum/repos.py", line 79, in doSetup
- self.ayum.plugins.run('postreposetup')
- File "/usr/lib/python2.4/site-packages/yum/plugins.py", line 179, in run
- func(conduitcls(self, self.base, conf, **kwargs))
- File "/usr/lib/yum-plugins/fastestmirror.py", line 181, in postreposetup_hook
- all_urls = FastestMirror(all_urls).get_mirrorlist()
- File "/usr/lib/yum-plugins/fastestmirror.py", line 333, in get_mirrorlist
- self._poll_mirrors()
- File "/usr/lib/yum-plugins/fastestmirror.py", line 376, in _poll_mirrors
- pollThread.start()
- File "/usr/lib/python2.4/threading.py", line 416, in start
- _start_new_thread(self.__bootstrap, ())
- thread.error: can't start new thread
从下面这个博客中找到了解决方案:
http://www.tuccuay.com/2012/01/%E8%A7%A3%E5%86%B3thread-error-cant-start-new-thread%E9%94%99%E8%AF%AF/
在一些廉价VPS上运行Yum时可能会出 现:”thread.error: can’t start new thread”的错误, 原因就是因为内存太小了,以至于导致在寻找最快镜像的时候内存不足。
发生的原因在于fastestmirror,而禁用fastestmirror就可以解决这个问题,具体的解决办法是将fastestmirror.conf中的enabled=1改成enabled=0。
在登录SSH之后,编辑/etc/yum/pluginconf.d/fastestmirror.conf文件,把enabled从其中的把enabled=1改为enabled=0即可。
执行如下命令一键修改:
sed -i 's/enabled=1/enabled=0/g' /etc/yum/pluginconf.d/fastestmirror.conf