国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Linux > 正文

Linux學(xué)習(xí)筆記(11)軟件包管理

2024-06-28 13:22:22
字體:
供稿:網(wǎng)友
linux學(xué)習(xí)筆記(11)軟件包管理

Linux中的軟件包分為源碼包(腳本安裝包)及二進制包(RPM包、系統(tǒng)默認(rèn)包)。其中源碼包的優(yōu)點是:

1)源碼包是開源的,如果有足夠的能力,可以修改源代碼;

2)可自由選擇所需的功能;

3)源碼包需編譯安裝,所以更加適合自己的系統(tǒng),穩(wěn)定且效率高;

4)卸載方便,只需刪除安裝文件目錄,且不留垃圾文件。

其缺點是:

1)安裝過程步驟較多,尤其安裝較大的軟件集合時,容易出現(xiàn)拼寫錯誤;

2)編譯過程時間較長,安裝比二進制包長;

3)因為是編譯安裝,安裝過程中一旦報錯,新手很難解決。

二進制包的優(yōu)點是:

1)包管理系統(tǒng)簡單,只通過幾個命令就可以實現(xiàn)包的安裝、升級和卸載;

2)安裝速度比源碼包快的多。

缺點是:

1)經(jīng)過編譯,不再可以看到源代碼;

2)功能選擇不如源碼包靈活;

3)依賴性較強。

1 rpm命令管理(1)rpm包的命名規(guī)則

rpm包如:httpd-2.2.15-15.el6.centos.1.i686.rpm

其中,httpd是軟件包名,2.2.15是軟件的版本,15是軟件的發(fā)布次數(shù),el6.centos是適合的Linux平臺,i686是適合的硬件平臺,rpm是rpm包擴展名。

(2)rpm依賴性

樹形依賴:包a依賴包b,包b又依賴包c,即a->b->c,卸載時的順序是c->b->a。

環(huán)形依賴:如a->b->c->a,可以將a,b,c同時進行安裝。

模塊依賴:可以通過www.rpmfind.net網(wǎng)站查詢模塊依賴。

(3)rpm包的安裝、升級與卸載

1)包全名與包名的區(qū)別

包全名:當(dāng)操作的包是沒有安裝的軟件包時,將使用包全名,而且還要注意路徑。

包名:操作已經(jīng)安裝的軟件包時,將使用包名,主要是搜索/var/lib/rpm中的數(shù)據(jù)庫。

2)rpm安裝,其格式為:

rpm -ivh 包全名

其中,-i表示安裝(install),-v表示顯示詳細(xì)信息(verbose),-h表示安裝進度(hash),--nodeps表示不檢測依賴性,直接安裝提供的包全名。

3)rpm包升級,其格式為:

rpm -Uvh 包全名

其中,-U選項表示升級(update)

4)rpm包卸載,其格式為:

rpm -e 包名

其中,-e表示卸載(erase),--nodeps表示不檢查依賴性。

5)查詢包是否安裝,格式為:rpm -q 包名,其中-q選項表示查詢(query)

查詢所有已安裝的rpm包,格式為:rpm -qa 包名,其中-a表示所有(all)。

6)查詢軟件包詳細(xì)信息,格式為:rpm -qi 包名,其中-i選項表示查詢軟件信息(information),-p選項表示查詢尚未安裝的包信息(package),此時應(yīng)變?yōu)榘?/p>

7)查詢包中文件的安裝位置,格式為:rpm -ql 包名,其中-l選項表示列表(list),-p選項可以查看尚未安裝的包中文件打算安裝在哪個目錄下(package),此時應(yīng)變?yōu)榘?/p>

8)查詢系統(tǒng)文件屬于哪一個rpm包,格式為:rpm -qf 系統(tǒng)文件名,其中-f選項表示系統(tǒng)文件,該文件必須是安裝后生成的文件,自己創(chuàng)建的文件不能查詢。

9)查詢軟件包的依賴性,格式為:rpm -qR 包名,其中-R表示顯示軟件包的依賴性(requires)。

(4)校驗和文件提取

1)包校驗主要是通過對比原始安裝包,以檢驗包安裝后的文件是否被修改。其格式為:

rpm -V 已安裝的包名

其中-V選項表示檢驗(verify)。

例:修改/etc/yum.conf中的注釋部分,然后進行校驗。

[root@localhost Packages]# rpm -V yumS.5....T.  c /etc/yum.conf

驗證內(nèi)容中的前8個信息的具體內(nèi)容如下:

S

文件大小是否改變

M

文件的類型或文件的權(quán)限(rwx)是否被修改

5

文件md5校驗和是否被改變(可看成文件內(nèi)容是否改變)

D

設(shè)備的代碼是否改變

L

文件路徑是否改變

U

文件的所有者是否改變

G

文件的所屬組是否改變

T

文件的修改時間是否改變

之后的1信息表示文件類型,主要包含以下幾種:

c

配置文件(configure file)

d

普通文檔(documentation)

g

"鬼"文檔(Ghost file),即該文件不應(yīng)該被這個rpm包所包含

l

授權(quán)文件(license file)

r

描述文件(readme)

2)rpm包中文件的提取,常用于誤操作,其格式為:

rpm2cpio 包全名 | cpio -idv .文件絕對路徑

其中rpm2cpio命令是將rpm包轉(zhuǎn)化為cpio格式的命令。cpio是標(biāo)準(zhǔn)工具,用于創(chuàng)建軟件檔案文件及從檔案文件中提取文件。其格式為:

cpio 選項 [文件|設(shè)備]

其中-i選項為copy-in模式,表示還原,-d選項表示還原時自動新建目錄,-v選項表示顯示還原過程。

例:

rpm -qf /bin/ls         #查詢ls命令屬于哪個軟件包mv /bin/ls /tmp/       #造成ls命令誤刪的假象rpm2cpio /mnt/cdrom/Packages/coreutils-8.4--19.el6.i686.rpm | cpio -idv ./bin/ls    #提取rpm包中l(wèi)s命令到當(dāng)前目錄的/bin/ls下cp ./bin/ls /bin/         #將ls命令復(fù)制回/bin目錄,修復(fù)文件丟失

2 yum在線管理

yum主要是解決rpm包的依賴性問題。在不聯(lián)網(wǎng)的情況下,可以將光盤作為yum源。

(1)ip地址配置

可以使用setup命令設(shè)置IP地址。設(shè)置完之后需要將網(wǎng)卡設(shè)置為自啟動,只需將/etc/sysconfig/network-scripts/ifcfg-eth0中的ONBOOT="no"修改為"yes"即可。設(shè)置完之后,需要重新啟動網(wǎng)絡(luò)服務(wù),執(zhí)行命令service network restart。

(2)網(wǎng)絡(luò)yum源

網(wǎng)絡(luò)yum源保存在/etc/yum.repos.d/centos-Base.repo文件中。

[base]name=CentOS-$releasever - Basemirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

文件內(nèi)容具有如下類似的規(guī)則:

[base] #容器名稱,一定要放在方括號"[]"中

name #容器說明,可以自己隨便寫

mirrorlist #鏡像站點,可注釋掉

baseurl #yum源服務(wù)器地址

enabled #此容器是否生效,0表示不生效,不寫或1表示生效

gpgcheck #為1表示rpm的數(shù)字證書生效,為0表示不生效

gpgkey #數(shù)字證書的公鑰文件保存位置,這里不用修改

(3)yum命令

注意yum命令沒有包全名的概念!

1)查詢所有可用軟件包列表,其格式為:yum list,搜索服務(wù)器上所有與關(guān)鍵字相關(guān)的包,其格式為:yum search 關(guān)鍵字

2)yum安裝的格式為:yum -y install 包名,其中install表示安裝,-y選項表示自動回答yes。

3)yum升級的格式為:yum -y update 包名,其中update表示升級,-y選項表示自動回答yes。

注意:如果不加包名的話,表示將升級所有的軟件包,包括linux內(nèi)核。

4)yum卸載的格式為:yum -y remove/erase 包名,其中remove/erase表示卸載,注意使用yum卸載時會將所依賴的軟件包也卸載掉,因此,yum升級和yum卸載盡量少用。

5)yum軟件組管理命令

列出所有可用的軟件組列表,其格式為:yum grouplist

安裝指定軟件組(組名可以由grouplist查出來),其格式為:

yum groupinstall 軟件組名

卸載指定軟件組,其格式為:yum grouPRemove 軟件組名

(4)光盤yum源搭建

yum源除了可以在網(wǎng)絡(luò)上獲取,也可以通過系統(tǒng)安裝光盤獲取。在VMware中將ISO鏡像加載進來,并選中"已連接",如下圖所示:

接下來的步驟是:

1)掛載光盤。在/mnt目錄下創(chuàng)建光盤掛載點cdrom,隨后使用mount命令進行掛載。

[root@localhost ~]# mkdir /mnt/cdrom[root@localhost ~]# mount /dev/cdrom /mnt/cdrommount: block device /dev/sr0 is write-protected, mounting read-only

2)使網(wǎng)絡(luò)yum源失效,否則將自動檢測網(wǎng)絡(luò)yum源。即在/etc/yum.repos.d/目錄下將相應(yīng)的文件改名,僅保留CentOS_Media.repo。

[root@localhost ~]# cd /etc/yum.repos.d/[root@localhost yum.repos.d]# lsCentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo  CentOS-Vault.repo[root@localhost yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak[root@localhost yum.repos.d]# mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak[root@localhost yum.repos.d]# mv CentOS-Vault.repo Debuginfo.repo.bak

3)修改光盤yum源文件,需嚴(yán)格遵守源文件格式。

[root@localhost yum.repos.d]# vi CentOS-Media.repo[c6-media]name=CentOS-$releasever - Mediabaseurl=file:///mnt/cdrom/                 #注意此處為自己光盤的掛載地址#        file:///media/CentOS/        #將不存在的地址注釋掉#        file:///media/cdrom/#        file:///media/cdrecorder/gpgcheck=1enabled=1                               #將0改為1,使光盤yum源配置文件生效gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

4)使用yum命令進行驗證

[root@localhost yum.repos.d]# yum search zshLoaded plugins: fastestmirror, securityLoading mirror speeds from cached hostfile=====================N/S Matched: zsh =============================python-twisted-core-zsh.i686 : Tab completion for Zsh and Twisted Corezsh-html.i686 : Zsh shell manual in html formatzsh.i686 : A powerful interactive shell   Name and summary matches only, use "search all" for everything.
3. 源碼包管理(1)源碼包與rpm包的區(qū)別

在安裝之前是概念上的區(qū)別,安裝后二者的安裝位置不同。一般情況下,rpm包的默認(rèn)安裝位置如下:

/etc/

配置文件安裝目錄

/usr/bin/

可執(zhí)行的命令安裝目錄

/usr/lib/

程序所使用的函數(shù)庫保存位置

/usr/share/doc/

基本的軟件使用手冊保存位置

/usr/share/man/

幫助文件保存位置

源碼包安裝在指定的位置當(dāng)中,一般是/usr/local/軟件名/。rpm包安裝的服務(wù)可以使用系統(tǒng)服務(wù)管理命令(service)來管理。

例:rpm包安裝的apache的啟動方法為:

service httpd start #使用service管理

/etc/rc.d/init.d/httpd start #使用絕對路徑來啟動

注意:service命令是RedHat專有,該命令將會到系統(tǒng)默認(rèn)位置搜索相關(guān)服務(wù)。

源碼包安裝的服務(wù)則不能被服務(wù)管理命令管理,因為沒有安裝到默認(rèn)路徑中,所以只能用絕對路徑進行服務(wù)的管理。

例:源碼包安裝的apache,使用如下方法啟動:

/usr/local/apache2/bin/apachetl start

(2)源碼包安裝過程

安裝前需要安裝C語言編譯器gcc,可以使用yum install gcc進行安裝。然后下載apache源碼包,下載地址為:http://mirror.bit.edu.cn/apache/httpd/。注意:源代碼的保存位置為/usr/local/src,軟件的安裝位置為/usr/local。當(dāng)安裝過程停止,并出現(xiàn)error、warning或n的提示時,安裝過程出現(xiàn)錯誤。

具體的安裝過程如下:

1)下載源碼包

2)解壓縮下載的源碼包,可以使用du -sh 文件名格式查詢文件或文件夾大小

3)進入解壓縮目錄

4)查看軟件自帶的INSTALL文件中的安裝方法。簡要說明如下:

① ./configure主要用于軟件配置與檢查,主要執(zhí)行的功能有定義需要的功能選項如安裝目錄,檢測系統(tǒng)環(huán)境是否符合安裝要求,把定義好的功能選項和檢測系統(tǒng)環(huán)境的信息都寫入Makefile文件,用于后續(xù)的編譯。

② make 編譯,如果報錯可以使用make clean將已編譯的文件全部清空。

③ make install 編譯安裝,此步驟真正向目錄中寫入數(shù)據(jù)。

源碼包卸載時不需要卸載命令,直接刪除安裝目錄即可,且不會遺留任何垃圾文件。

4. 腳本安裝包

腳本安裝包并不是獨立的軟件包類型,常見安裝的是源碼包,是人們?yōu)榱税寻惭b過程寫成自動安裝的腳本,只要執(zhí)行腳本,定義簡單的參數(shù),就可以完成安裝,非常類似于windows下軟件的安裝方式,主要用于硬件驅(qū)動。

例:安裝webmin,該軟件是基于web的linux系統(tǒng)管理界面,可以通過圖形化的方式設(shè)置用戶賬號、apache、DNS、文件共享等服務(wù)。其安裝方法如下:

1)下載包:http://sourceforge.net/projects/webadmin/files/webmin。

2)解壓縮,并進入解壓縮目錄。

3)執(zhí)行安裝腳本webmin.sh


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 周口市| 嵊州市| 石屏县| 宁德市| 吴旗县| 六枝特区| 贡觉县| 宝清县| 泗洪县| 韶山市| 绥德县| 高州市| 松原市| 建平县| 承德市| 化州市| 延寿县| 安丘市| 阳城县| 广南县| 江达县| 苍梧县| 田林县| 南昌市| 莱芜市| 哈巴河县| 潜江市| 尼玛县| 湖口县| 盐源县| 从江县| 叙永县| 泸溪县| 鲁山县| 和林格尔县| 古浪县| 西乌珠穆沁旗| 新建县| 安徽省| 改则县| 化德县|