主题 : Linux如何实现图形化添加删除程序(方便初学者) 复制链接 | 浏览器收藏 | 打印
奔跑的蜗牛……
级别: 侠客
UID: 11357
精华: 4
发帖: 69
金钱: 565 两
威望: 125 点
贡献值: 4 点
综合积分: 218 分
注册时间: 2009-12-04
最后登录: 2013-04-05
楼主  发表于: 2010-03-25 11:55

 Linux如何实现图形化添加删除程序(方便初学者)

管理提醒: 本帖被 kasim 执行取消置顶操作(2012-02-26)
Linux如何实现图形化添加删除程序 (方便初学者)

Red Hat Enterprise Linux下如何实现图形化添加/删除程序
Fedora 9中的实现和Red Hat Enterprise Linux类似。

关键字: Red Hat Enterprise Linux Fedora 9 图形化 添加/删除程序


最近发现以前发表的那个帖子“《在Red Hat 9上编译Qtopia 2.2.0遇到的若干问题的解决方案》”
不断有人询问软件包不知道怎么安,或者是添加删除软件包的时候找不到源,特此开了个新帖,以解疑惑。

很多同志都还在使用老版本的Red Hat Linux 9,哈哈,我已经不再使用这个版本了,虽然说这个版本十分的经典,但是它是2.4.20-18内核的,确实太老了,不太适合2.6.x内核的学习与开发。在此推荐安装Red Hat Enterprise Linux 5.x(简称RHEL5.x,好像最新的是5.5了吧),或者友善推荐的Fedora(友善推荐的是9,但不妨可以试一下最新的12,另外13好像马上就发布了)。但是安装好RHEL5.x和Fedora 9之后发现一个问题,就是图形化的添加删除程序界面不好用了,而且使用yum命令的时候,Fedora 9无法在互联网上找到源(我查看了原因,是因为Fedora社区已经不再对Fedora 9进行维护了,里边源的那个地址里已经没有东西了,新版本的Fedora 12应该没有这个问题),或者像RHEL是要求你有安装序列号才可以使用它的源的。这样一来,很多初学者使用rpm命令安装软件包的时候,最头疼的应该就是各个软件包的相互依赖的问题。下面我就来讲解如何使你的Linux的图形化添加删除程序重新生效,或者是让你的yum命令可以使用你的DVD安装光盘作为源,这样一来,就不用再为软件包的依赖问题头疼了。另外Ubuntu我没有使用过,在此不发表意见,不过据网友推荐,这个发行版也是很好用的,它有apt命令,可以自动解决软件包的依赖问题。
下面是操作的具体过程:
---------------------------------------------------------------------

linux安装过程中,提供了一个可以选择要安装报的界面,使用很方便。
如图1(见附件一,1.jpg):

但是在安装完成后,这个工具不能用了(确切地说是不好用):用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 ,就会看到类似于安装过程中的画面了,而且可以看到已经安装的和未安装的程序包。
如图2(见附件二,2.jpg):


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

7、但是在卸载光驱后,再次执行system-config-packages时会出现如下错误(如图3(见附件三,3.jpg)):

解决办法是:点击上幅图片中的“Repository Manager”然后将下幅图片中的“update”前边的对号去掉即可(如图4(见附件四,4.jpg)):

马上又OK了!

此时查看 /etc/yum.repos.d/update.repo 文件就会发现 enabled = 0
[update]
name=update
baseurl=file:///mnt/Server
gpgcheck=0
enabled = 0

在Red Hat Enterprise Linux 5.1的系统中无法执行第7步以下的内容,也就是不可以用图形界面的方式来屏蔽掉Repositories,只能通过更改配置文件将 enabled = 0 来实现。

-----------------------------------------------------


后记:
Fedora 9中的操作和最终实现和Red Hat Enterprise Linux类似,可参考该文档。但在Fedora 9中,添加删除应用程序的工具不是system-config-packages,而是system-install-packages。另外,因为在Fedora 9中selinux的使用使其无权限安装删除程序,所以该方法并不好用,但是该工具可以图形化的查看当前的RPM包安装情况和安装目录,依赖项和被依赖项等信息,仅供参考。
不过好在Fedora终于推出了类似于ubuntu中的apt的命令yum。我们可以通过此方法Fedora 9 linux可以挂载DVD光盘或ISO镜像为源,并且使用#yum命令轻松解决安装软件包时的依赖项问题。
例如:
#yum install xxx
xxx为软件包的名称,并不包含版本号和架构名。例如要安装httpd-tools-2.2.9-1.fc8.i386的软件包,只需
#yum install httpd-tools
即可。yum命令会根据依赖描述文件自动安装其所依赖的软件包。

另外,卸载时好像是使用"yum remove xxx软件包名称"的命令,这个卸载的yum用法我并没有去验证,在此保留意见,请知情者及时指正,谢谢。
[ 此帖被cs2003happy在2010-03-25 12:08重新编辑 ]
附件设置隐藏,需要回复后才能看到
Continue Study of Embedded Linux Development and Application

奔跑的蜗牛……
奔跑的蜗牛……
级别: 侠客
UID: 11357
精华: 4
发帖: 69
金钱: 565 两
威望: 125 点
贡献值: 4 点
综合积分: 218 分
注册时间: 2009-12-04
最后登录: 2013-04-05
1楼  发表于: 2010-03-25 12:28
我不愿意隐藏帖子,那样搜索引擎就搜不到了,有悖于GNU Linux的开源精神,不利于大家共同学习。
但是如果你看了帖子觉得有用,请顶贴,如果觉得有用就别让它沉了。
Continue Study of Embedded Linux Development and Application

奔跑的蜗牛……
级别: 新手上路
UID: 16942
精华: 0
发帖: 6
金钱: 30 两
威望: 6 点
贡献值: 0 点
综合积分: 12 分
注册时间: 2010-03-23
最后登录: 2010-08-05
2楼  发表于: 2010-03-25 12:38
加油啊!虽然我还是新手 不知道先学什么后学什么!但是我会加油的!!!收藏了!以后来看!
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
3楼  发表于: 2010-03-25 13:08

 回 1楼(cs2003happy) 的帖子

好,就冲这句话,加精,哈哈(我是滥用权利的版主)
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 9680
精华: 0
发帖: 11
金钱: 70 两
威望: 23 点
贡献值: 0 点
综合积分: 22 分
注册时间: 2009-10-10
最后登录: 2011-07-06
4楼  发表于: 2010-03-25 13:10
技术文章就是好啊
级别: 新手上路
UID: 15129
精华: 0
发帖: 11
金钱: 55 两
威望: 11 点
贡献值: 0 点
综合积分: 22 分
注册时间: 2010-02-28
最后登录: 2010-04-20
5楼  发表于: 2010-03-25 13:10
来顶下
kennth
级别: 新手上路
UID: 15262
精华: 0
发帖: 17
金钱: 85 两
威望: 17 点
贡献值: 0 点
综合积分: 34 分
注册时间: 2010-03-02
最后登录: 2010-06-16
6楼  发表于: 2010-03-25 20:11
学习
级别: 骑士
UID: 14324
精华: 0
发帖: 160
金钱: 810 两
威望: 162 点
贡献值: 0 点
综合积分: 320 分
注册时间: 2010-02-06
最后登录: 2015-06-02
7楼  发表于: 2010-03-26 13:32
vxvxvxcvxc
级别: 新手上路
UID: 16617
精华: 0
发帖: 14
金钱: 75 两
威望: 15 点
贡献值: 0 点
综合积分: 28 分
注册时间: 2010-03-19
最后登录: 2011-04-01
8楼  发表于: 2010-03-28 00:50
这个得好好学习呀
级别: 新手上路
UID: 6082
精华: 0
发帖: 13
金钱: 65 两
威望: 13 点
贡献值: 0 点
综合积分: 26 分
注册时间: 2009-05-19
最后登录: 2012-02-21
9楼  发表于: 2010-04-01 16:25

 回 楼主(cs2003happy) 的帖子

谢谢楼主分享