我最近租用服务器进行网络应用测试。下面是我的服务器信息,我假设它是Redhat linux。 (我已经使用了Ubuntu一段时间了。)
Python 2.6.6 (r266:84292, Jul 23 2015, 15:22:56) [GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linux2
当我想在服务器上安装tmux时,我正在考虑使用YUM轻松(不自行编译)。当我在终端输入yum时,什么都没有出来。
nl0391 [~]$ which yum
nl0391 [~]$
也没有转速。
我认为没有安装yum。所以我在考虑从源头安装yum。我得到了yum的来源,发现我需要gettext来安装yum。所以我成功地在我家编译了gettext并继续编译yum。
首先,我使用./configure --configure=~/.usr/local
指向我的家庭目录,我有权写。
然后make
和make install
。
在make install
期间,/etc/yum.config
存在一些问题。这也是权限问题,因此我将MakeFile
更改为~/ect/yum.config
中的配置。这有助于成功编译yum并完成安装。
我可以成功运行命令yum
或man yum
。我相信安装是正确的。
但是,当我运行yum install tmux
或yum info
(让yum做某事)时,错误就会如下所示:
error: cannot open Packages database in /var/lib/rpm
Traceback (most recent call last):
File "/home/wxx920521/.usr/local/bin/yum", line 31, in <module>
yummain.main(sys.argv[1:])
File "/home/wxx920521/.usr/local/src/yum-2.0.7/yummain.py", line 163, in main
(log, errorlog, filelog, conf, cmds) = parseCmdArgs(args)
File "/home/wxx920521/.usr/local/src/yum-2.0.7/yummain.py", line 75, in parseCmdArgs
conf=yumconf(configfile=yumconffile)
File "/home/wxx920521/.usr/local/src/yum-2.0.7/config.py", line 155, in __init__
self.yumvar['releasever'] = self._getsysver()
File "/home/wxx920521/.usr/local/src/yum-2.0.7/config.py", line 285, in _getsysver
idx = ts.dbMatch('provides', self.distroverpkg)
_rpm.error: rpmdb open failed.
我甚至更改了YUM的python文件来修复yum.conf
文件路径问题,但是对于rpmdb问题,我只是意识到手动解析这条路径可能是噩梦而且不可能。
所以我想知道我是否可以在我没有root权限的root上使用YUM?我可以在家里直接编译tmux。是否值得花时间编译yum,如果没有root则可能无法使用?既然我知道ubuntu apt-get install
在使用之前需要sudo吗?
任何想法都表示赞赏。