LInux下如何实现图形化添加/删除程序

linux安装过程中,提供了一个可以选择要安装报的界面,使用很方便。

如图1:

但是在安装完成后,这个工具不能用了(确切地说是不好用):用system-config-packages再调用出这个界面,默认只列出了当前版本radhat中已经安装的rpm包,并不包含将要添加的软件

 

要真正实现system-config-packages的添加/删除程序功能,可以用以下步骤来实现:

 

1、挂载Linux安装盘到mnt目录下:
mount /dev/cdrom /mnt
redhat安装盘的目录结构如下,在其中的Server目录下包含了redhat的全部rpm包:

2、修改 /usr/lib/python2.4/site-packages/yum/yumRepo.py文件:

搜索关键字remote,
RHEL5.3在第644行,根据之前安装盘加载的路径,将
remote = url + '/' + relative
更改为(注意S大写)

remote = '/mnt/Server/' + '/' + relative

3、在 /etc/yum.repos.d/下创建一个文件,文件名不限制,但是后缀一定要是‘.repo’
例如 vi /etc/yum.repos.d/update.repo
然后编辑该文件内容如下:

[update]
name=update
baseurl=file:///mnt/Server
gpgcheck=0
enabled = 1

 

4、运行 yum clean all 清除一下cache.

5、然后再次运行 system-config-packages ,就会看到类似于安装过程中的画面了,而且可以看到已经安装的和未安装的程序包。如图1:

 

6、现在就可以选择自己需要安装的包,而且可以解决依赖性的问题,此时也可以通过yum命令来添加及删除软件
单纯用rpm命令来安装软件无法解决依赖性问题,但是用system-config-packages或者yum就没有这个问题了。

 

7、但是在卸载光驱后,再次执行system-config-packages时会出现如下错误:

解决办法是:点击上幅图片中的“Repository Manager”然后将下幅图片中的“update”前边的对号去掉即可

马上又OK了!

 

此时查看 /etc/yum.repos.d/update.repo 文件就会发现 enabled = 0

[update]
name=update
baseurl=file:///mnt/Server
gpgcheck=0
enabled = 0


在5.1的系统中无法执行第7步以下的内容,也就是不可以用图形界面的方式来屏蔽掉Repositories,只能通过更改

配置文件将 enabled = 0 来实现。