分享
 
 
 

RedHat环境下使用APT在线更新系统

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

摘要

RedHat发明RPM工具来实现对Linux环境下软件包的管理,使得RPM成为Linux环境下管理软件的一个事实的标准工具。但是RPM具有依赖性处理复杂的问题,使得其使用起来比较麻烦,并且定时更新系统软件,弥补系统漏洞也是困扰管理员的一个问题。而从Debian引进的基于RPM的软件管理工具APT则是解决这些问题的一个非常好的办法。

请注意本文已刊载在《开放系统世界》2003年第四期,该文章版权属于该杂志所有,请勿随意转载,转载请保留该声明

软件环境:Redhat 7.3

文章相关软件:apt-0.5.4cnc9-fr0.1.rh73

ftp://rpmfind.net/linux/freshrpms/valhalla/apt/apt-0.5.4cnc9-fr0.1.rh73.i386.rpm

一、 前言

1.1 什么是APT

新的操作系统装好以后,安装新软件是一件必不可少的工作。但是在Linux中,安装应用软件和Windows下有些不同,对于Linux初学者来说,安装软件是一件很让人头疼的事情。由于很多Linux应用软件都是以源代码的形式发布的,这就要求用户根据自己系统的实际情况和自身的需要来配置、编译源程序后,才能使用这些软件。Linux传统的通过源代码方式安装Linux对于大多数Linux 初学者往往显得过于复杂和困难。Redhat公司为了降低软件安装的复杂性,在自已出的发行版中推出了著名的软件包管理工具:RPM(Redhat Packet Manager),虽然RPM打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。

虽然RPM提供的系软件管理功能使得软件安装和删除高度的自动化,简化了Linux环境下软件安装和管理的难度。但是RPM为保持系统一致性而具有的软件包依赖性问题需要管理员手工解决。管理员在安装和卸载程序时就可能非常烦琐。例如:在某个软件A时会发现该软件依赖于另外一个软件B,从而需要下载B,又发现B依赖与C,这样出现多次依赖嵌套问题。管理员不得不一一下载,然后再安装。

而Debian发布的软件管理系统发明了APT(高级软件包工具,Advanced Package Tool)则在系统软件安装维护方面更加方便易用。APT能够在发现软件包依赖性的同时自动下载相应的软件包并加以安装。APT使得管理员能毫无故障地执行系统软件的升级。许多时候,当用户的软件安装对其他方法产生不良影响时,apt的一个改进能够让所有事情都保持正确。APT使得零停机时间升级成为现实。

虽然APT是基于Debian的软件包管理工具,但是一个好消息是基于APT已经被一个巴西公司Conectiva移植到基于RPM的系统上。看到安乐

1.2 APT和其他软件管理工具的比较

在基于RPM的Linux平台上,有很多其他的软件包管理工具,如:autorpm、rpmfind、up2date/RHUN、urpmi/rpmdrake/Mandrake Update等等。我们下面就对这些工具进行比较。

依赖性发现只在某些情况下有效。

一般来说所有工具都需要服务器上有一个特殊的软件包索引文件。该文件包含有软件包信息。但是它们是一般文件,可以从其他的镜象服务器上下载。

软件包验证用来验证下载的软件包的正确性;镜象服务器验证实现验证镜象服务器和正式服务器的内容是否一致。

这些特性是ATP-RPM所独有的,而Debian的APT则不具有这些特性。

当升级软件包时显示升级的原因。这样管理员就可以了解升级软件包是由于安全原因或功能升级。

从上面的表中可以看到ATP和其他工具相比较具有更好的功能优势。因此对于基于RPM软件包管理的平台,如:Redhat、TurboLinux、SuSe、Mandrake等等,APT是一个非常优秀的软件管理工具。

1.3 安装APT

从rpmfind.net下载针对Red Hat7.3的ATP的RPM包,然后进行安装:

[root@www src]# rpm -ivh apt-0.5.4cnc9-fr0.1.rh73.i386.rpm

即可完成对在RedHat7.3平台上apt工具的安装。

二、 主要配置文件

1、/etc/apt/sources.list

这是APT最重要的配置文件,该文件记载了软件仓库服务器的地址等信息。有针对从RedHat6.2到8.0的所有版本的软件仓库路径信息。这里我们只需要把7.3版本对应的路径信息打开,其他的版本的路径信息则可以关闭。

# Red Hat Linux 7.3

rpm http://apt.freshrpms.net redhat/7.3/en/i386 os updates freshrpms

rpm-src http://apt.freshrpms.net redhat/7.3/en/i386 os updates freshrpms

2.其他在 /etc/apt 目录下还有其他以下诶配置文件apt.conf rpmpriorities vendors.list等,使用默认的配置即可,具体含义可以参考man文档。

三、 使用APT前的准备

安装APT软件包以后,管理员需要做的第一个工作就是运行:

[root@www src]# apt-get update

从默认服务器下载软件包数据库。

运行:

[root@www src]# apt-get check

atp来验证本地系统的完整性和一致性,判断本地系统的软件包依赖性是否一致。

注:如果本地系统一致性严重破坏,则可以使用apt-get -f install 命令在使用apt以前手工修复被破坏的依赖性。

如果希望定期升级系统,保证系统即时升级,弥补安全漏洞,只需要apt-get update 和 apt-get dist-upgrade 或 apt-get upgrade就可以了。

四、 主要命令

apt主要有apt-cache apt-cdrom apt-config apt-get等四个命令。用户用的最多的应该就是apt-get命令。这些命令的详细说明参见man手册,这里只对常用方法进行说明。

4.1 apt-get

1.apt-get update

更新本地apt-get的本地数据库,使其与服务器的pkglist文件同步。在升级以前一般都要执行本命令实现与服务器的一致。

2.apt-get check

验证本地系统的完整性。

3.apt-get dist-upgrade

类似于apt-get,但是将安装所有的基础软件包,并尽力升级一切软件包,并在需要是安装新软件包。

4.apt-get install package_name

安装某个软件包及其相关软件包

如 apt-get install openssh

不但会安装openssh,同时会升级openssl

5.apt-get remove package_name

删除该软件包,同时会删除依赖于它的软件包

6.apt-get source package_name

下载软件包的source rpm

例: apt-get source --compile zhcon

抓回 source rpm ?编译为二进制的rpm。--compile参数功能等同于rpm -ba

7.apt-get clean

删除保存在缓存目录下(/var/cache/apt/archives)的被下载的软件包

8.apt-get upgrade package_name

升级指定的软件包,并升级其依赖的软件包。

4.2 apt-cdrom

在安装系统以后,可以使用apt-cdrom把三张安装光盘加入到apt 的 sources.list 中

用法如下:

# apt-cdrom add

Using CD-ROM mount point /mnt/cdrom/

Unmounting CD-ROM

Please insert a Disc in the drive and press enter

Mounting CD-ROM

Identifying.. [af0e7c988f7ae057a4a3bccc8008134d-2]

Scanning Disc for index files.. Found 1 package indexes and 0 source indexes.

Please provide a name for this Disc, such as 'MyDistro 6.0 Disk 1':

Gaga V1.1 disc1

This Disc is called:

'Gaga V1.1 disc1'

Reading Indexes... Done

Writing new source list

Source List entries for this Disc are:

rpm cdrom:[Gaga V1.1 disc1]/ RedHat gaga

Repeat this process for the rest of the CDs in your set.

三次运行apt-cdrom add命令,来加载三张安装光盘。在/etc/apt/sources.list中就应该会包含如下内容:

rpm cdrom:[Gaga V1.1 disc3]/ RedHat gaga

rpm cdrom:[Gaga V1.1 disc2]/ RedHat gaga

rpm cdrom:[Gaga V1.1 disc1]/ RedHat gaga

这样以后就可以使用apt-get来安装以前未安装的安装光盘上的软件了。

示例如下,若您的服务器没有和互联网连接,那么修改/etc/apt/sources.list,使其包含下面三行:

rpm cdrom:[Gaga V1.1 disc3]/ RedHat gaga

rpm cdrom:[Gaga V1.1 disc2]/ RedHat gaga

rpm cdrom:[Gaga V1.1 disc1]/ RedHat gaga

# apt-get update

# apt-get install imap

则根据指示放入第二张光盘即可,而不会出现不知道软件包在哪个光盘上,左寻右找的麻烦。

4.3 apt-cache

1.apt-cache showpkg

显示软件包的一些常规信息

例: apt-cache showpkg openssh

2.apt-cache stats

显示相关的统计信息锢示相晷的靳?儋?

3.apt-cache dump

显示缓存中的每个软件包的简要描述信息

4.apt-cache unmet

显示不符合一致性的依赖关系

5.apt-cache show

显示指定软件包的记录信息。类似于rpm -qi

6.apt-cache search

查找软件包,类似于rpm -qa|grep package_name

例: apt-cache search openssh

7.apt-cache depends

显示软件包的依赖性关系

8.apt-cache pkgnames

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有