红旗linux怎么升级,[原]使用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:这里仅列出常见的参数而已。
-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补丁包吧。
五、附录
1、我使用的yum.conf文件:下载
2、yum客户端需要的rpm软件包:下载
红旗linux怎么升级,[原]使用yum更新红旗Linux相关推荐
- linux centos升级php_CentOS使用yum升级php到最新版本
CentOS的php版本默认为5.1.6,然后在5.2.9版本之前的的php都存在一个漏洞,但是目前网上很多地方都无法使用yum update php*升级到最新版本,比较常见的是升级到5.2.6版本 ...
- 【Linux进阶指南】【持续更新】Linux组与文件目录权限 任务调度 Linux分区
入门手册 以下是整一个linux指南的大目录,点击第一级目录直接进入文章. ----持----续----更----新---- Linux组与文件目录权限 Linux用户与组 用户组 用户和组相关文件 ...
- linux系统安装升级win10双系统,Win10 安装Linux ubuntu-18.04双系统(安装指南)
在自己的电脑上安装了一个 Linux ubuntu系统,第一次安装,记录下每一步步骤,以下是安装过程: 第一步:下载ubuntu镜像文件 ubuntu- 18.04.0镜像文件下载 第二步:分区 在我 ...
- linux usb升级,广成 USBCAN-II Pro V502 linux下升级经验
1,按住复位,插入WINDOWS(linux下有问题,不用再试了,折腾很久,除非厂家有新方案)主机USB口,松开复位按键,SYS灯闪烁,进入刷新模式,弹出的存储空间中,删除原有代码firmware.b ...
- Linux centos7升级内核(两种方法:内核编译和yum更新)
Linux centos7升级内核(两种方法:内核编译和yum更新) Linux的内核概念不用说大家也很清楚,正是内核版本的不同,才有Linux发行版本的说法,现在主流的cen ...
- Linux中升级更新命令yum upgrade和yum update的区别
这篇文章主要介绍了Linux中升级更新命令yum upgrade和yum update的区别,Linux升级命令有两个分别是yum upgrade和yum update, 这个两个命令是有区别的,本文 ...
- linux更新命令yum,Linux中升级更新命令yum upgrade和yum update的区别
Linux中升级更新命令yum upgrade和yum update的区别 更新时间:2019-10-31 17:21 最满意答案 Linux升级命令有两个分别是yum upgrade和yum upd ...
- linux升级软件命令 yum,Linux中升级更新命令yum upgrade和yum update的区别
1.作用 都是系统升级命名. 2.升级内容 yum -y update:升级所有包同bai时也升级软件和系统内核:du yum -y upgrade:只升级所有包,不升级软件和系统内核.zhi 3.使 ...
- linux下面升级 Python版本并修改yum属性信息
最近需要在linux下使用python,故需要升级一下python版本,上网查询了一下相关资料,更新了一下linux下面的python环境,记录如下: linux下面升级 Python版本并修改yum ...
最新文章
- Unity Note 1
- win32: 查询滚动条相关信息的注意事项
- Android超时退出功能解决方案
- MATLAB实战系列(三十九)-matlab多目标优化之海洋捕食者算法
- u盘 linux centos 5.3,鸟哥linux私房菜学习笔记,U盘安装centos5.3不能正常进入图形界面的问题...
- Java大牛分享的面试知识点
- jQuery封装tab选项卡组件(自定义自动功能和延迟显示功能)
- 什么相片可以两张弄成一张_怎么将两张图片合成一张?
- 在Anaconda上安装Caffe 和 CUDA
- Java 垃圾回收机制(面试高频问题之一)
- 一本关于 Total Commander 的书
- 树的叶子结点与完全二叉树结点计算方法
- 通过VBA在excel中实现多只股票基金实时交易数据查询(完整的excel原件可以在我的资源中下载)
- 自动回复html模板邮件,outlook休假自动回复
- TVS瞬态抑制二极管的工作原理和特点
- RTCP丢包重传策略之NACK
- 邓白氏编码邮件10个问题
- ER图、功能图画图必备Vi.sio
- QQ空间背景音乐 链接制作
- sqrt与sqrtm