yum的Traceback錯誤解決

就是這錯誤,據說是fastestmirror插件的錯。

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
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 345, in doCommands
    self._getTs(needTsRemove)
  File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 101, in _getTs
    self._getTsInfo(remove_only)
  File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 112, in _getTsInfo
    pkgSack = self.pkgSack
  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/lib64/python2.4/threading.py", line 416, in start
    _start_new_thread(self.__bootstrap, ())
thread.error: can't start new thread

解決是這樣的,在/root/.bashrc裡加一行:

alias yum='yum --disableplugin=fastestmirror'

然後重新登錄一下。這句說的是把fastestmirror這個插件禁用,雖說是治標不治本的東西,但起碼yum又能用了吧。

利用SSH上传下载文件

这里的上传是指把你正在使用的电脑中的文件上传到服务器中,功能类似ftp;同理,下载就是把服务器中的文件下载到你使用的电脑中。这里特意说明一下是因为网上讲的基本都是把服务器当成本地,然后上传到另外一台服务器。

最近放弃了使用多年的putty,改用了SecureCRT这款拥有更多功能的ssh操作软件。SecureCRT可以利用多标签对多个帐户进行操作、可以记住帐号的用户名和密码、直接用命令上传下载文件到本地……当然拥有这么多功能的软件注定不会是个免费软件,而且价格不菲。

这里说的就是利用SecureCRT和服务器中的ZModem协议进行上传下载文件的操作。
Read More »

VPS的安全问题

买了VPS后,很困扰冰古的事情是:有时内存的占用会变得很高。询问客服后,他们说可以使用rkhunter和chkrootkit测试是否有被装上黑客后台程序。好吧,先装上试试:

rkhunter的安装使用
1、登录上SSH,到rkhunter的主页找到最新版本的下载链接,用wget下载到服务器上;

wget http://jaist.dl.sourceforge.net/sourceforge/rkhunter/rkhunter-1.3.2.tar.gz

2、解压并进入到解压的目录内(一定要进入到目录内才能安装)

tar -xzvf rkhunter-1.3.2.tar.gz
cd rkhunter-1.3.2

3、运行installer.sh进行安装,如下面命令即是安装到/usr/local下:

installer.sh --layout /usr/local --install

4、现在可以运行下列命令进行检查

/usr/local/bin/rkhunter -c

chkrootkit的安装使用
chkrootkit的安装就更简单了,因为冰古使用的是CentOS,就像升级PHP和MySQL那样,使用YUM就可以了:
安装:

yum install chkrootkit

使用:

chkrootkit

使用了两个搜索黑客后台的程序后并没有发现,继续问客服的时候,他们又是以冰古的VPS是非管理VPS为理由,拒绝给更多的援助。只能很愤怒地自己去找原因了。经过一番查看,在/usr/log/secure文件中发现很多未明IP都在尝试登录到VPS的管理后台内,有点问题,在Block IP那里限制了只有自己的IP段才能登录VPS管理后台。限制后,一看内存使用,哈哈,降到平时水平,原来就是这个原因。

用YUM升级CentOS系统中PHP和MySQL

用上umVPS后,很多时候在虚拟主机不用自己动手的事情都要自己搞定了,例如:PHP和MySQL的升级。因为不用自己动手,也动不了,所以冰古不太清楚虚拟主机的PHP和MySQL是不是会及时地更新。但用VPS,可以动手玩一下也保证安全,冰古是很乐意进行更新的。以下就是用YUM升级CentOS系统中PHP和MySQL的过程:

yum是CentOS系统自带的用于方便地添加/删除/更新RPM包的工具,它能自动解决包的倚赖性问题。
用yum更新PHP,只需用一条命令就可以搞定:

#yum update php

但问题来了,使用此命令后,系统告诉我,没有发现可更新的包。而当前的PHP版本只是5.2.1,PHP官方已经更新到5.2.6了。
经过一番询问,才知道原来CentOS系统的源里PHP仍旧是5.2.1,需要额外的源才能升级PHP。
根据外国网友的介绍,冰古添加了额外的源
登录SSH后依次运行下列命令:

#rpm --import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka

#vi /etc/yum.repos.d/utterramblings.repo #文中这里是使用nano,但VPS不能启动nano,用vi代替也是可以的

在打开的文档中加入下面内容:

[utterramblings]
name=Jason's Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka

保存。
再次运行下面的命令就可以完成php的升级了

#yum update php

同理,运行下面命令,升级mysql

#yum update mysql