linux系统中程序的安装、卸载和升级教程
对于🌳Linux初学者🚶来说,RPM安装是【ān zhuāng shì】一个不错的选择。如果想真正掌【zhēn zhèng zhǎng】🌤握Linux系统🛁,源代码安装仍然是🔁Linux下软件安装的【ān zhuāng de】重要手【chóng yào shǒu】段。由于【yóu yú】🕺linux系统🛁中【zhōng】🌇应用软件的🛹安装和大🐂家熟悉【jiā shú xī】🚡的windows下面的软件的🛹安装过程存在【chéng cún zài】很大的区别【qū bié】🕞,在linux中【zhōng】🌇,根据下载到安装包的【zhuāng bāo de】🌹格式的【gé shì de】不同用不同的【bú tóng de】👎安装方法🅿,下面将对linux下的应【xià de yīng】⛵用程序安装进行总结【háng zǒng jié】和归纳。
1、源代码【yuán dài mǎ】🎖包的安【bāo de ān】🏟装【zhuāng】🐊
gzip -d apache_1.3.20.tar.gz (解压【jiě yā】)
tar xvf apache_1.3.20.tar (解包【bāo】✳)
cd apache_1.3.20
./configure (配置) ----./configure --help(查看📥configure选项【xiàng】🛬)
make (编译)
make install (安装【zhuāng】🈲)
make clean (卸载【xiè zǎi】📓)
注【zhù】👃:典型的【diǎn xíng de】源代码【yuán dài mǎ】🎖包【bāo】可以🌃这样安【zhè yàng ān】😥装【zhuāng】🐊,但不都是这样,如【rú】🉐webmin
要执行【yào zhí háng】🌑其目录下./setup.sh进入【rù】交🏆互式配【hù shì pèi】🏢置安装【zhì ān zhuāng】🈲
卸载【xiè zǎi】📓用uninstall程序
具体如【rú】🉐果不清【guǒ bú qīng】🈵楚看要安装【yào ān zhuāng】的【de】🏒包【bāo】🙍下的【de】README文件【wén jiàn】🚙
2、RPM包的安【bāo de ān】🏟装【zhuāng】🐊
RPM软件包【ruǎn jiàn bāo】🖼的【de】一个例子【gè lì zǐ】:
foo-1.0-1.i386.rpm
其中包【bāo】🙍括软件【kuò ruǎn jiàn】🍸包【bāo】🙍的名称【de míng chēng】(foo),版本号🧘(1.0),发行号【fā háng hào】😇(1),和【hé】硬件【jiàn】平台【píng tái】(i386)。
(1)安装【zhuāng】🈲
# rpm -ivh foo-1.0-1.i386.rpm
foo
#######################
A. 软件包【ruǎn jiàn bāo】🖼已被安装【zhuāng】🈲
# rpm -ivh foo-1.0-1.i386.rpm
foo package foo-1.0-1 is already installed
error: foo-1.0-1.i386.rpm cannot be installed
如【rú】果【guǒ】你🎞仍旧要安装【yào ān zhuāng】该📐软件包【ruǎn jiàn bāo】🖼,你可以❎在命令【mìng lìng】🏊行【háng】🐂上使用【shàng shǐ yòng】--replacepkgs 选项【xiàng】🛬,这将忽【zhè jiāng hū】略该👒错误信【cuò wù xìn】🎩息【xī】📆。
B. 文件【wén jiàn】🚙冲突
如【rú】🉐果【guǒ】🐣要安装【yào ān zhuāng】的【de】🏒软件包【ruǎn jiàn bāo】🖼中有一个文件【gè wén jiàn】🚙已在安装【zhuāng】🈲其它软【qí tā ruǎn】件【jiàn】🎿包【bāo】🙍时安装【zhuāng】🎆,会出现【huì chū xiàn】🤖以下错【yǐ xià cuò】✌误信息【xìn xī】👋:
# rpm -ivh foo-1.0-1.i386.rpm
foo /usr/bin/foo conflicts with file from bar-1.0-1
error: foo-1.0-1.i386.rpm cannot be installed
要想【yào xiǎng】让RPM 忽略该【hū luè gāi】👒错误信【cuò wù xìn】🎩息【xī】📆, 请使用【qǐng shǐ yòng】🤟--replacefiles 命令行【mìng lìng háng】💼选项【xiàng】🛬
C.未解决依赖关【yī lài guān】系【xì】
RPM软件包【ruǎn jiàn bāo】🖼可能依【kě néng yī】赖于【lài yú】✍其它软【qí tā ruǎn】件【jiàn】🎿包【bāo】🙍, 在安装【zhuāng】🈲了特定的软件【de ruǎn jiàn】🔉包【bāo】🙍之后才能安装该【ān zhuāng gāi】📐软件包【ruǎn jiàn bāo】🖼。
# rpm -ivh bar-1.0-1.i386.rpm
failed dependencies:
foo is needed by bar-1.0-1
你必须【nǐ bì xū】安装完【zhuāng wán】🦐所依赖的软件【de ruǎn jiàn】🔉包【bāo】🙍,才能解决这个问题。如【rú】🉐果【guǒ】🐣想强制安装【zhuāng】🈲 (但是,这样安【zhè yàng ān】😥装【zhuāng】🐊后的软【hòu de ruǎn】件【jiàn】🔉包【bāo】🙍未必能正常【cháng】运行【háng】🐂),请使用【qǐng shǐ yòng】🤟-nodeps 命令行【mìng lìng háng】💼选项【xiàng】🛬。
(2) 卸载【xiè zǎi】📓
# rpm -e foo
注【zhù】👃意【yì】:这里使用软件【yòng ruǎn jiàn】包【bāo】🖼的【de】名字【míng zì】🧖foo,而不是软件包【ruǎn jiàn bāo】🖼文件的【wén jiàn de】🥜名字【míng zì】🧖“foo-1.0-1.i386.rpm”.
如【rú】🉐果【guǒ】🐣其它软【qí tā ruǎn】件【jiàn】🎿包【bāo】🙍依赖于【lài yú】✍你要卸载【xiè zǎi】📓的软件【de ruǎn jiàn】🔉包【bāo】🙍,卸载【xiè zǎi】时🤫则会产生【huì chǎn shēng】错误信【cuò wù xìn】🎩息【xī】📆。如【rú】🉐:
# rpm -e foo
removing these packages would break dependencies:
foo is needed by bar-1.0-1
要想【yào xiǎng】RPM忽略该【hū luè gāi】👒错误信【cuò wù xìn】🎩息【xī】📆继续卸载【xiè zǎi】📓的【de】话【huà】😯 (但是,依赖于【lài yú】✍该软件【gāi ruǎn jiàn】包【bāo】🖼的程序【de chéng xù】🐊可能无【kě néng wú】法运行【fǎ yùn háng】🐂), 请使用【qǐng shǐ yòng】🤟-nodeps 命令行【mìng lìng háng】💼选项【xiàng】🛬。
(3)升级
# rpm -Uvh foo-2.0-1.i386.rpm
foo
###############################
当使用旧版本的【de】软🗄件包【jiàn bāo】📙来升级新版本的【de】软🗄件【jiàn】时,会产生【huì chǎn shēng】以下错【yǐ xià cuò】✌误信息【xìn xī】👋:
# rpm -Uvh foo-1.0-1.i386.rpm
foo package foo-2.0-1 (which is newer) is already installed
error: foo-1.0-1.i386.rpm cannot be installed
要使RPM 坚持这【jiān chí zhè】样“升级”,可使用🕕--oldpackage 命令行【mìng lìng háng】💼参数【cān shù】。
(4)查询【chá xún】🔩
# rpm -q foo
foo-2.0-1
软件包【ruǎn jiàn bāo】🖼指定选🧛项【xiàng】🛀:
-a 查询【chá xún】🔩所有已安装的【ān zhuāng de】🏒软件包【ruǎn jiàn bāo】🖼.
-f <file> 将查询【chá xún】🤛包【bāo】🙍含有文件【wén jiàn】🚙<file>的软件【de ruǎn jiàn】🔉包【bāo】🙍
-p <packagefile> 查询软【chá xún ruǎn】🤣件包【jiàn bāo】📙文件【wén jiàn】🚙名为 <packagefile>的软件【de ruǎn jiàn】🔉包【bāo】🙍
信息【xìn xī】📆选择选【xuǎn zé xuǎn】项【xiàng】🛬:
-i 显示软【xiǎn shì ruǎn】🦓件包【jiàn bāo】📙信息【xìn xī】📆,如【rú】🉐描述【miáo shù】, 发行号【fā háng hào】😇, 尺寸【chǐ cùn】🏫, 构建日【gòu jiàn rì】期, 安装【zhuāng】日♊期, 平台【píng tái】, 以及其😐它各类信息【xìn xī】📆。
-l 显示软【xiǎn shì ruǎn】🦓件包【jiàn bāo】中🌽的文件【de wén jiàn】🏽列表。
-s 显示软【xiǎn shì ruǎn】🦓件包【jiàn bāo】中🌽所有文👐件的【jiàn de】状🍓态。
-d 显示被【xiǎn shì bèi】标注【zhù】为🔤文档的文件【de wén jiàn】🏽列表(man 手册【shǒu cè】, info 手册【shǒu cè】, README's, etc).
-c 显示被【xiǎn shì bèi】标注【zhù】为🔤配置文件的【wén jiàn de】🥜文件【wén jiàn】🚙列表。这些是💝要在安【yào zài ān】装完【zhuāng wán】🦐毕以后加【jiā】以定制的文【zhì de wén】件【jiàn】🏽(sendmail.cf, passwd, inittab, etc)。
对于那📎些要显【xiē yào xiǎn】示文件【wén jiàn】🚙列表的文件【de wén jiàn】🏽,可以增加【jiā】-v 命令行【mìng lìng háng】💼选项【xiàng】以🔱获得如【huò dé rú】🉐同 ls -l 格式的【gé shì de】输出❌。
(5)验证【yàn zhèng】🤵
验证【yàn zhèng】🤵软件包【ruǎn jiàn bāo】🖼是通过比较软件包【ruǎn jiàn bāo】🖼中安装的【ān zhuāng de】🏒文件【wén jiàn】🚙和软件【hé ruǎn jiàn】包【bāo】🖼中的【de】原始文件【wén jiàn】信【xìn】🚮息来进【xī lái jìn】😅行【háng】🐂的【de】。除了其【chú le qí】🕥它一些✝东西🌅,验证【yàn zhèng】🤵主要是比♟较文件【jiào wén jiàn】👻的【de】尺寸【chǐ cùn】🏫, MD5 校验码, 文件【wén jiàn】🚙权限【quán xiàn】, 类型📇, 属主和【hé】用户【yòng hù】🧚组【zǔ】等。
rpm -V命令【mìng lìng】用🐇来验证【yàn zhèng】🤵一个软件包【ruǎn jiàn bāo】🖼,如【rú】🉐
rpm -V foo
验证【yàn zhèng】🤵包【bāo】🙍含特定【hán tè dìng】文件的【wén jiàn de】🥜软件包【ruǎn jiàn bāo】🖼: rpm -Vf /bin/vi
验证【yàn zhèng】🤵所有已安装的【ān zhuāng de】🏒软件包【ruǎn jiàn bāo】🖼: rpm -Va
根据一【gēn jù yī】个RPM来验证【yàn zhèng】🤵某个软【mǒu gè ruǎn】件包【jiàn bāo】🖼: rpm -Vp foo-1.0-1.i386.rpm
如【rú】果【guǒ】你🎞担心RPM数据库已被破坏【huài】,就可以🦎使用这【shǐ yòng zhè】😢种方式。如【rú】🉐果【guǒ】🐣一切校【yī qiē xiào】验均正常【cháng】📡将不会【jiāng bú huì】产生任【chǎn shēng rèn】何输出❌。如【rú】🉐果【guǒ】🐣有不一致的【de】地方,就会显💕示出来🌲。
输出格【shū chū gé】📵式是8位长字符串【fú chuàn】🍝,c 用以指配置文件【wén jiàn】🚙,接着是😚文件【wén jiàn】🚙名. 8位字符【wèi zì fú】的每一【de měi yī】个用以【gè yòng yǐ】👘表示文件【wén jiàn】🚙与RPM数据库中一种🎻属性的【de】比较结果【guǒ】🐣。“.” (点【diǎn】)表示测【biǎo shì cè】试通过。
以下字🚮符表示😀某种测试的【de】失败【bài】👞:
5 MD5 校验码
S 文件【wén jiàn】🚙尺寸【chǐ cùn】🏫
L 符号连🙌接
T 文件【wén jiàn】🚙修改日期
D 设备
U 用户【yòng hù】🧚
G 用户【yòng hù】🧚组【zǔ】
M 模式【mó shì】e (包【bāo】🙍括权限【quán xiàn】和文【hé wén】📈件【jiàn】类型📇)
如【rú】🉐果【guǒ】🐣有信息【yǒu xìn xī】📆输出❌,应当认【yīng dāng rèn】真加【jiā】以考虑,是删除,重新安【chóng xīn ān】🐆装【zhuāng】🐊,还是修正出现【zhèng chū xiàn】🛩的问题【de wèn tí】🏗。
(6)RPM应用的【de】几个例子【gè lì zǐ】
A. 如【rú】🉐你误删了一些【le yī xiē】文件【wén jiàn】🚙, 但是不能肯定【néng kěn dìng】到底删🚤除了哪【chú le nǎ】些文件【wén jiàn】🚙。如【rú】果【guǒ】你🎞想验证【yàn zhèng】🤵一下整😹个系统【gè xì tǒng】📛看看都【kàn kàn dōu】丢失了哪些文【nǎ xiē wén】件的【jiàn de】🥜话【huà】😯,可以键【kě yǐ jiàn】🏕入【rù】:rpm –Va
B.若是一些文件【wén jiàn】🚙丢失了或🌅已被损坏【huài】, 就可以🦎重新安【chóng xīn ān】🐆装【zhuāng】🐊或🌅先卸载【xiè zǎi】📓再安装该【ān zhuāng gāi】📐软件包【ruǎn jiàn bāo】🖼。如【rú】🉐果【guǒ】🐣碰到了一个自己🎉不认识👳的文件【de wén jiàn】🏽,要想【yào xiǎng】查处它属【chù tā shǔ】🚽于🎵哪个软件包【ruǎn jiàn bāo】🖼,可以输🦔入以下【rù yǐ xià】命令【mìng lìng】🐭:rpm -qf /usr/X11R6/bin/xjewel
而输出【ér shū chū】❌的结果【de jié guǒ】🐣会是: xjewel-1.6-1
C. 如【rú】🉐果【guǒ】🐣发生综合【hé】🧟以上两个例子【gè lì zǐ】的【de】情况,如【rú】🉐文/usr/bin/paste出了问题。你想验证【yàn zhèng】🤵一下拥有该文【yǒu gāi wén】件的【jiàn de】🥜软件包【ruǎn jiàn bāo】🖼,可又不知道软件包【ruǎn jiàn bāo】🖼的【de】名字【míng zì】🧖,这时可【zhè shí kě】以简单【yǐ jiǎn dān】😄的【de】键入【rù】🎑:rpm -Vf /usr/bin/paste
这样相应的软件【de ruǎn jiàn】🔉包【bāo】🙍就会被验🗽证🛀。
D. 如【rú】果【guǒ】你🎞想了解🚸一个正在使用的程序【de chéng xù】🐊的【de】详细信息【xìn xī】📆,可以键【kě yǐ jiàn】🏕入【rù】如【rú】下〽命令【mìng lìng】🐭来获得拥🕎有该程序的软件【de ruǎn jiàn】🔉包【bāo】🙍中的【de】文档信息【xìn xī】📆:rpm -qdf /usr/bin/ispell
输出❌结果【guǒ】🐣为:
/usr/man/man4/ispell.4
/usr/man/man4/english.4
…………………………………………………………
E. 如【rú】果【guǒ】你🎞发现了一个新的【de】koules RPM,但是不知道它是什么东西🌅,可以键【kě yǐ jiàn】🏕入【rù】如【rú】下〽命令【mìng lìng】🐭:rpm -qip koules-1.2-2.i386.rpm
F. 现在你🥅想了解🚸koules RPM 所安装的【ān zhuāng de】🏒文件【wén jiàn】🚙。可以键【kě yǐ jiàn】🏕入【rù】:rpm -qlp koules-1.2-2.i386.rpm
图形管【tú xíng guǎn】🌟理工具:kpackage
3、shell或🌅java脚本安装【zhuāng】🈲
基于【jī yú】🎵图形界【tú xíng jiè】面的【de】安装【zhuāng】🈲,一般基➿于🎵SHELL或🌅Java语言编🍘写,主要应🦄用于🎵一些办【yī xiē bàn】公软件【jiàn】和制图【hé zhì tú】软件【jiàn】及安装【zhuāng】🈲程序,如【rú】🉐staroffice、oracle的【de】安装【zhuāng】🈲,很容易,和【hé】windows一样</packagefile> </packagefile> </file></file>
关键词:linux
阅读本文后您有什么感想? 已有 人给出评价!
- 1
- 1
- 1
- 1
- 1
- 1