论坛风格切换切换到宽版
  • 1329阅读
  • 5回复

[问题求助][求教]没有yum,如何更新软件? [复制链接]

上一主题 下一主题
离线beleen.
 
发帖
2112
C币
-60346
威望
394
贡献值
1
银元
-1
铜钱
4715
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
我装的红旗,re.dflag5.0,/s.bin,/usr/sbin,/usr/local/sbin下面都没有发现yum。很想知道红旗Linux是如何像rh系列一样更新软件的呢? 既然它没.有yum,那么它用什么? 不会是去网上下载N个rpm包吧!依赖性问题会让人挂掉的.。电影

请指教!


最佳答案cling6394
http://upload.bbs.csuboy.com/Mon_1004/126_6935_c2515fb4e40125e.gif[/img].

QUOTE:原帖由 jeanlove 于 2008-11-10 11:21 发表 http://upload.bbs.csuboy.com/Mon_1004/126_6935_6cff255c8b048b0.gif[/img]           建材


没有找到自带的yum工具 http://upload.bbs.csuboy.com/Mon_1004/126_6935_893987e7a18c182.gif[/img](广告)

确实是没有自.带的工具,你看看下面这个:.
这个很详细:
=========..============================学习
本人是在完全安装红旗Linux6系统盘和工具盘情况下安装的,首先安装yum相关的文件。下载到http://www.oklinux.cn/Linux/2008-03/11862.htm。            杀毒
解压第1个压缩包,得到.5个文件,用r.pm -ivh安装.
yum-updatesd-3.2.3-4.noarch.rpm yumupdater-0.1-9.5..i686.rpm 中有一个.的依赖没解决,我记不请是哪个了,有.依赖的那个不安装。电影

安装完后开始菜.单中实用工具会出现kyum           鲜花
再解压第2个压缩包,得到2个文件,首先安装python-elementtree.-1.2.6-5.i686.rpm,然后安装python-sqlite-1.1.7.-1.2.1.i6.86.rpm。外贸
在kyum的仓库选项如图添加.新仓库。.
其它源自己到everest找吧.。           建材
现在就可以用yum了。
红旗Linux6 .sp1的升级软件其实就是yum。    健康
使用yum更新红旗Linux
最近找到几个新的软件包,觉得挺好用,.也刚编译成rpm包,希望在所有使用到的机器上部署。后来发现,需要每一.台机器去安装一遍,即使可以远程安装,这也是挺麻烦的。决定参考Redhat的升级机制,把yum也迁移到红旗上来。说做.就做,效果还是不错的。教育

一、原理
yum是一个用于管理rpm包的后台程序,用python写成,可以非常方便的解决rpm的依赖关系。在建立好yum服务.器后,yum客户端可以通过http、ftp方式获.得软件包,并使用方便的命令直接管理、更新所有的rpm包.,甚至包.括kernel的更新。它也可以理解为红旗环境下的apt管理工具。外贸

要在.红旗上部署yum服.务,首先需要的就是规划软件包的目录次序:           鲜花

引用
1、我准备要对红旗服务器DC和桌面DT提供服务.;.
2、涉及的平台,服.务器对i386、x86_64平台.,桌面只有i386平台;           女人
3、提供系统本身的升级程序包,官方提供的升级包,自己编译的软件包,.以及从其他途径获得、经过测试的软.件包四大部分提供更新升级。健康

目录架构如下:

二、部署yum服务器
系统平台:
服务端.:红旗DC Server 5..0 for x86.
客户端:红旗DC Server 5.0 for x.86和DT 5.0 .for x86           鲜花

1、准备
需要为yum.提供python环境,可以从系.统光盘获得:    外汇

引用
libxml2-2..6.16-6.i386.rpm(        游戏          )
libxml2-python.-2.6.16-6.i386.r.pm投资
e.lfutils-0.97-5.i386.rpm.
rpm-python.-4..3.3-9_nonptl.1AX.i386.rpm.
p..ython-urlgrabber-2.9.6-2.noarch.rpm[成人用品]

使用rpm -.ivh把上述的包都安装到系统中。[成人用品]
新版的yum使用xm.l格式的数据文件来分析和获得rpm信息,可以使用crea.terepo工具实现[成人用品]

安装:
r.pm -ivh createrepo-0..4.4-1.noarch.rpm教育

2、拷贝
os目录是用于存放系统原来带的所.有软件包的,则我们.这样做:    外汇

mount -t iso9660 -o loop /iso/.redflag-dc5.0-relea.se-disc1.iso /mnt/cdrom.
c.p /mnt/cdrom/* ./o.s/i386/.
umount /mn.t/cdrom(        游戏          )
mount -t iso9660 -o. loop /iso/redflag-dc5.0-release-.disc2.iso /mnt/cdrom    健康
cp /.mnt/cdrom./* ./os/i386/             电子

3、生成yum用的re.podata目录.
运行:
cr.eaterepo /yum/dc/5.0./os/i386    外汇

运行后,会自动在i38.6目录下生成repodata目录,里面存放有对应RPM的依赖信息供后续yum使用.。    外汇

这里只是演示了os目录,同样的,其他目录也存放上对应.的文件,..并用上述命令生成repodata目录。今后若有更新,需重新运行createrepo命令,以更新数据库[成人用品]

4、准备ftp服务
yum是通过http或ftp获得rpm包的,所以我们需要设置http或ftp服务,并把上述的yum目录的.根目录作为ftp的.根目录即可。类似提供这样的关.系:教育

引用
ftp.://ip/dc/5.0/os/i386.

三、部署yum客户端
我使用的是一个用最小化安装的红旗DC Server作为.客户端。要使用yum服务,必须先解.决yum的依赖关系。.

1、准备
下面是需要使用的软件包,请从系统光盘、.rpmfind或cent.os获得:地址             汽车

rpm -ivh libxml2-2.6.16-6.i3.86.rp.m    外汇
rpm -ivh libxml2-python-2..6.16-6.i386..rpm<性病>
rpm -ivh python-elemen.ttree-1.2.6-4.i.386.rpm<性病>
rpm -ivh s.qlite-.3.2.2-1.i386.rpm电影
rpm -ivh python-sql.ite-1.1.6-1.i386..rpm.
rpm -ivh p.ython-urlgrabber-2.9.6.-2.noarch.rpm            杀毒
rpm -ivh elfutils-0..97-5.i386..rpm服务器
rpm -ivh. rpm-4.3..3-9_nonptl.i386.rpm
rpm -iv.h rpm-python-4.3..3-9_nonptl.1AX.i386.rpm             电子

2、安装
我使用.的是自己编译的2.6.1-1版本,可以从下面的地址获得。你也可以使用cent.os提供的2.4.2-2版本。             汽车
下载地址:
r..pm -ivh yum-2.6.1-1.noarch.rpm域名

3、配置
yum客户端的配置非常简单,只有一个配置文件:./etc/yum..conf,如下:.

引用
[main]
cachedir=./var/cache/yum.
keepcache=1
debuglevel=2
logfi.le=/var/log/yum.log          婚庆
pkgp.olicy=newest             汽车
distrover.pkg=red.flag-release.
tolerant=1
exactarch=1
obsoletes=1

# 这.里表示,你可以把配置文件放在/etc./yum.repos.d目录中,用.repo文件名# 结尾即可。.
# PUT YOUR REPOS HERE OR IN separate.. files named file.repo电脑
# in /.etc/yum.repos.d           鲜花
[base]
name=Red Flag L.inux $releasever - $.basearch - Base             电子
# 下面是获得rpm的http.或ftp地址(y.umer是用户名和密码)           建材
baseurl=ftp://yume.r:yumer@192.168.228.153/dc/$r.eleasever/os/$basearch/.

[updates]
name=Re.d Flag Linu.x $releasever - Updates    健康
baseurl=ftp://yumer:yumer@192.168.228.153/dc/$releasever/upd.ates/$base.arch/投资

[extras]
name=Red Fl.ag Linux $.releasever - Extras服务器
baseurl=ftp://yumer:yume.r@192.168.228.153/dc/$releasever/extras/$b.asearch/教育

[addons]
name=Red Flag. Linux .$releasever - Addons域名
base.url=ft.p://yumer:yumer@192.168.228.153/dc/$releasever/addons/$basearch/           鲜花

※注释:配置文件中.可以使用几个变量,其他的.请参考man yum.conf。           建材
$release.ver=distroverpkg定义的对应/etc/r.edflag-release的版本;           鲜花
$arch=python.中os.uname的定义;投资
$base.arch=把$arch降级到最基础的架构,例如i68.6会表示为i386--------------彩票
4、使用
上面已经把yum配置完,.使用方法是:--------------彩票

# yu.m <option.s> <更新项目> <套件名称> 虚拟主机

参数说明:
options:这里仅列出常见的参数.而已。 (        游戏          )
-y 如果 yum 在工作过程中需要使用者响应,这个参数可以直接回答 ye.s  ..
更.新项目:更新的动作有底下几个: 投资
install :安装某.个套件,后面需要接套件名称; .
update  :这就是升级啦!如果 .update 后面接套件名称,表示.只要 yum 升级该套件而已          婚庆
如果 update 后面.不接套件.名称,表示 yum 针对目前该主机所有已经安装的套件进行升级的动作!这是最常使用的项目了。     外汇
list    :列出目前在 yum se.r.ver 上面有的 RPM 套件;            女人
info.    :某个套件的内容,类似 r.pm -qi packages 的内容。 电影
clean   .:将已将下载到本机的 packages 或 hea.ders 移除。              电子
remove  :移除已经安装在我们系统的.某个套.件![成人用品]

例如:

安装所.有和mysql有关的套件--------------彩票
y.um install *mysql*.
检查是否有更新的套件
yu.m check-update健康
检查所有提供php的套件.,并显示简介信息电影
yum search php
显示已经安装的套件
yum list instal.led    健康
移除wget套件
yum remove. wget(广告)

四、其他
1、相关文件

引用
/etc/.cron.daily/yum.cron外贸
每日.进行yum及其他软件包定时升级服务器
/e.tc/init.d/yum.
yum服务启动文件

2、更新套件
服务端.:把新的套件放入对应的目录,然后运行createrepo更新XML.数据库即可;健康
客户端:.yum会定时的情况cache文件,但有时候.我们马上就要更新需要的套件,可以这样做:          婚庆

yum clean all
yum upd.ate mirrordir学习

3、利用其他套件更新
我.们在日常的管理中,也可以利用其他的发行版提供的镜像来进行额外的更新。例如,我常用centos镜像来更.新部分我的工具包:(广告)
在/etc/y.um.conf文件中增加:服务器

引用
[centos.-update]--- 印刷
name=CentO.S-$releasever -. Update(        游戏          )
baseurl=http://mirror.be10.com/centos/4.3/updates/$basearch/健康
gpgcheck=1
gpgkey=http://mirror.be10.com/centos/RPM-GPG-KEY-centos4.

其中不一样的地方就是,centos做了签名,所以,需要加上.gpgcheck和gpgkey,接下.来我就可以进行更新:.

yum clean all
yum install. mysql[成人用品]

可以看到,mysql会使用centos提供的4..1.20-1版本,而不.会使用系统自带的4.1.10a-2。    美容

但千万要注意区分可使用的套件,并不是所有centos的套件都适合红旗使用的。若不知道如.何区.分,建议还是使用官方的SP补丁包吧。服务器


评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线asterye.
发帖
1935
C币
-199233
威望
347
贡献值
1
银元
-2
铜钱
4307
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-14


QUOTE:原帖由 jeanlove 于 2008-11-10 11:21 发表


没有找到自带的yum工具

确实是没有自带的工具,你看看下面这个:
这个很详细:
=====================================
本人是在完全安装红旗Linux6系统盘和工具盘情况下安装的,首先安装yum相关的文件。下载到http://www.oklinux.cn/Linux/2008-03/11862.htm
解压第1个压缩包,得到5个文件,用rpm -ivh安装
yum-updatesd-3.2.3-4.noarch.rpm yumupdater-0.1-9.5.i686.rpm 中有一个的依赖没解决,我记不请是哪个了,有依赖的那个不安装。

安装完后开始菜单中实用工具会出现kyum
再解压第2个压缩包,得到2个文件,首先安装python-elementtree-1.2.6-5.i686.rpm,然后安装python-sqlite-1.1.7-1.2.1.i686.rpm。
在kyum的仓库选项如图添加新仓库。
其它源自己到everest找吧。
现在就可以用yum了。
红旗Linux6 sp1的升级软件其实就是yum。
使用yum更新红旗Linux
最近找到几个新的软件包,觉得挺好用,也刚编译成rpm包,希望在所有使用到的机器上部署。后来发现,需要每一台机器去安装一遍,即使可以远程安装,这也是挺麻烦的。决定参考Redhat的升级机制,把yum也迁移到红旗上来。说做就做,效果还是不错的。

一、原理
yum是一个用于管理rpm包的后台程序,用python写成,可以非常方便的解决rpm的依赖关系。在建立好yum服务器后,yum客户端可以通过http、ftp方式获得软件包,并使用方便的命令直接管理、更新所有的rpm包,甚至包括kernel的更新。它也可以理解为红旗环境下的apt管理工具。

要在红旗上部署yum服务,首先需要的就是规划软件包的目录次序:

引用
1、我准备要对红旗服务器DC和桌面DT提供服务;
2、涉及的平台,服务器对i386、x86_64平台,桌面只有i386平台;
3、提供系统本身的升级程序包,官方提供的升级包,自己编译的软件包,以及从其他途径获得、经过测试的软件包四大部分提供更新升级。

目录架构如下:

二、部署yum服务器
系统平台:
服务端:红旗DC Server 5.0 for x86
客户端:红旗DC Server 5.0 for x86和DT 5.0 for x86

1、准备
需要为yum提供python环境,可以从系统光盘获得:

引用
libxml2-2.6.16-6.i386.rpm
libxml2-python-2.6.16-6.i386.rpm
elfutils-0.97-5.i386.rpm
rpm-python-4.3.3-9_nonptl.1AX.i386.rpm
python-urlgrabber-2.9.6-2.noarch.rpm

使用rpm -ivh把上述的包都安装到系统中。
新版的yum使用xml格式的数据文件来分析和获得rpm信息,可以使用createrepo工具实现

安装:
rpm -ivh createrepo-0.4.4-1.noarch.rpm

2、拷贝
os目录是用于存放系统原来带的所有软件包的,则我们这样做:

mount -t iso9660 -o loop /iso/redflag-dc5.0-release-disc1.iso /mnt/cdrom
cp /mnt/cdrom/* ./os/i386/
umount /mnt/cdrom
mount -t iso9660 -o loop /iso/redflag-dc5.0-release-disc2.iso /mnt/cdrom
cp /mnt/cdrom/* ./os/i386/

3、生成yum用的repodata目录
运行:
createrepo /yum/dc/5.0/os/i386

运行后,会自动在i386目录下生成repodata目录,里面存放有对应RPM的依赖信息供后续yum使用。

这里只是演示了os目录,同样的,其他目录也存放上对应的文件,并用上述命令生成repodata目录。今后若有更新,需重新运行createrepo命令,以更新数据库

4、准备ftp服务
yum是通过http或ftp获得rpm包的,所以我们需要设置http或ftp服务,并把上述的yum目录的根目录作为ftp的根目录即可。类似提供这样的关系:

引用
ftp://ip/dc/5.0/os/i386

三、部署yum客户端
我使用的是一个用最小化安装的红旗DC Server作为客户端。要使用yum服务,必须先解决yum的依赖关系。

1、准备
下面是需要使用的软件包,请从系统光盘、rpmfind或centos获得:地址

rpm -ivh libxml2-2.6.16-6.i386.rpm
rpm -ivh libxml2-python-2.6.16-6.i386.rpm
rpm -ivh python-elementtree-1.2.6-4.i386.rpm
rpm -ivh sqlite-3.2.2-1.i386.rpm
rpm -ivh python-sqlite-1.1.6-1.i386.rpm
rpm -ivh python-urlgrabber-2.9.6-2.noarch.rpm
rpm -ivh elfutils-0.97-5.i386.rpm
rpm -ivh rpm-4.3.3-9_nonptl.i386.rpm
rpm -ivh rpm-python-4.3.3-9_nonptl.1AX.i386.rpm

2、安装
我使用的是自己编译的2.6.1-1版本,可以从下面的地址获得。你也可以使用centos提供的2.4.2-2版本。
下载地址:
rpm -ivh yum-2.6.1-1.noarch.rpm

3、配置
yum客户端的配置非常简单,只有一个配置文件:/etc/yum.conf,如下:

引用
[main]
cachedir=/var/cache/yum
keepcache=1
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=redflag-release
tolerant=1
exactarch=1
obsoletes=1

# 这里表示,你可以把配置文件放在/etc/yum.repos.d目录中,用.repo文件名# 结尾即可。
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
[base]
name=Red Flag Linux $releasever - $basearch - Base
# 下面是获得rpm的http或ftp地址(yumer是用户名和密码)
baseurl=ftp://yumer:yumer@192.168.228.153/dc/$releasever/os/$basearch/

[updates]
name=Red Flag Linux $releasever - Updates
baseurl=ftp://yumer:yumer@192.168.228.153/dc/$releasever/updates/$basearch/

[extras]
name=Red Flag Linux $releasever - Extras
baseurl=ftp://yumer:yumer@192.168.228.153/dc/$releasever/extras/$basearch/

[addons]
name=Red Flag Linux $releasever - Addons
baseurl=ftp://yumer:yumer@192.168.228.153/dc/$releasever/addons/$basearch/

※注释:配置文件中可以使用几个变量,其他的请参考man yum.conf。
$releasever=distroverpkg定义的对应/etc/redflag-release的版本;
$arch=python中os.uname的定义;
$basearch=把$arch降级到最基础的架构,例如i686会表示为i386
4、使用
上面已经把yum配置完,使用方法是:

# yum <options> <更新项目> <套件名称>

参数说明:
options:这里仅列出常见的参数而已。
-y 如果 yum 在工作过程中需要使用者响应,这个参数可以直接回答 yes  
更新项目:更新的动作有底下几个:
install :安装某个套件,后面需要接套件名称;
update  :这就是升级啦!如果 update 后面接套件名称,表示只要 yum 升级该套件而已
如果 update 后面不接套件名称,表示 yum 针对目前该主机所有已经安装的套件进行升级的动作!这是最常使用的项目了。
list    :列出目前在 yum server 上面有的 RPM 套件;
info    :某个套件的内容,类似 rpm -qi packages 的内容。
clean   :将已将下载到本机的 packages 或 headers 移除。
remove  :移除已经安装在我们系统的某个套件!

例如:

安装所有和mysql有关的套件
yum install *mysql*
检查是否有更新的套件
yum check-update
检查所有提供php的套件,并显示简介信息
yum search php
显示已经安装的套件
yum list installed
移除wget套件
yum remove wget

四、其他
1、相关文件

引用
/etc/cron.daily/yum.cron
每日进行yum及其他软件包定时升级
/etc/init.d/yum
yum服务启动文件

2、更新套件
服务端:把新的套件放入对应的目录,然后运行createrepo更新XML数据库即可;
客户端:yum会定时的情况cache文件,但有时候我们马上就要更新需要的套件,可以这样做:

yum clean all
yum update mirrordir

3、利用其他套件更新
我们在日常的管理中,也可以利用其他的发行版提供的镜像来进行额外的更新。例如,我常用centos镜像来更新部分我的工具包:
在/etc/yum.conf文件中增加:

引用
[centos-update]
name=CentOS-$releasever - Update
baseurl=http://mirror.be10.com/centos/4.3/updates/$basearch/
gpgcheck=1
gpgkey=http://mirror.be10.com/centos/RPM-GPG-KEY-centos4

其中不一样的地方就是,centos做了签名,所以,需要加上gpgcheck和gpgkey,接下来我就可以进行更新:

yum clean all
yum install mysql

可以看到,mysql会使用centos提供的4.1.20-1版本,而不会使用系统自带的4.1.10a-2。

但千万要注意区分可使用的套件,并不是所有centos的套件都适合红旗使用的。若不知道如何区分,建议还是使用官方的SP补丁包吧。


离线zystc.
发帖
2161
C币
-313522
威望
401
贡献值
3
银元
-2
铜钱
4696
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-14
红旗没有用过不了解。你的意思是说红旗完全不用yum,还是红旗中没有像Rhel中的/etc/yum.repos.d/那样指定yum源?


离线ac2004.
发帖
2062
C币
-60745
威望
376
贡献值
1
银元
-1
铜钱
4591
人人网人气币
0
只看该作者 地板  发表于: 2010-04-14


QUOTE:原帖由 Peifei 于 2008-11-10 10:59 发表
红旗没有用过不了解。你的意思是说红旗完全不用yum,还是红旗中没有像Rhel中的/etc/yum.repos.d/那样指定yum源?


没有找到自带的yum工具


发帖
2112
C币
-235117
威望
406
贡献值
1
银元
-2
铜钱
4772
人人网人气币
0
只看该作者 4楼 发表于: 2010-04-14


QUOTE:原帖由 cling6394 于 2008-11-10 12:06 发表

确实是没有自带的工具,你看看下面这个:
这个很详细:
=====================================
本人是在完全安装红旗Linux6系统盘和工具盘情况下安装的,首先安装yum相关的文件。下载到http://www.oklinux. ...

谢谢,这个很强大了,分送出啊!


发帖
1196
C币
-237767
威望
219
贡献值
1
银元
-1
铜钱
2449
人人网人气币
0
只看该作者 5楼 发表于: 2010-04-14
收藏了,很细致!

快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个