在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Linux/ 安裝 RPM 包或者安裝源碼包
初步進(jìn)入 linux 世界
Linux 系統(tǒng)的遠(yuǎn)程登錄
配置 Tomcat
配置 samba 服務(wù)器
LNMP 環(huán)境搭建
配置 FTP 服務(wù)
linux 系統(tǒng)用戶以及用戶組管理
正則表達(dá)式
LAMP環(huán)境搭建
安裝 RPM 包或者安裝源碼包
NFS 服務(wù)配置
文檔的壓縮與打包
Linux 操作系統(tǒng)的安裝
配置 squid 服務(wù)
Linux 文件與目錄管理
Linux 磁盤(pán)管理
學(xué)會(huì)使用簡(jiǎn)單的 MySQL 操作
關(guān)于 Linux 的歷史
學(xué)習(xí) shell 腳本之前的基礎(chǔ)知識(shí)
圖形界面還是命令窗口
文本編輯工具 vim
shell 腳本
使用 Nagios 搭建監(jiān)控服務(wù)器
linux 系統(tǒng)日常管理

安裝 RPM 包或者安裝源碼包

windows下安裝一個(gè)軟件很輕松,只要雙擊.exe的文件,安裝提示連續(xù)下一步即可,然而linux系統(tǒng)下安裝一個(gè)軟件似乎并不那么輕松了,因?yàn)槲覀儾皇窃趫D形界面下所以你要學(xué)會(huì)如何在linux下安裝一個(gè)軟件。

在前面的內(nèi)容中多次提到的yum,這個(gè)yumRedhat所特有的安裝RPM程序包的工具,使用起來(lái)相當(dāng)方便。因?yàn)槭褂?/span>RPM安裝某一個(gè)程序包有可能會(huì)因?yàn)樵摮绦虬蕾嚵硪粋€(gè)程序包而無(wú)法安裝而使用yum工具就可以連同依賴的程序包一起安裝。當(dāng)然CentOS同樣可以使用yum工具,而且在CentOS中你可以免費(fèi)使用yum,但Redhat中只有當(dāng)你付費(fèi)后才能使用yum,默認(rèn)是無(wú)法使用yum。在介紹yum之前先說(shuō)一說(shuō)RPM相關(guān)的東西。

RPM工具

RPM”Redhat Package Manager”的縮寫(xiě),根據(jù)名字也能猜到這是Redhat公司開(kāi)發(fā)出來(lái)的。RPM 是以一種數(shù)據(jù)庫(kù)記錄的方式來(lái)將你所需要的套件安裝到你的Linux 主機(jī)的一套管理程序也就是說(shuō),你的linux系統(tǒng)中存在著一個(gè)關(guān)于RPM的數(shù)據(jù)庫(kù),它記錄了安裝的包以及包與包之間依賴相關(guān)性。RPM包是預(yù)先在linux機(jī)器上編譯好并打包好的文件,安裝起來(lái)非常快捷。但是也有一些缺點(diǎn),比如安裝的環(huán)境必須與編譯時(shí)的環(huán)境一致或者相當(dāng);包與包之間存在著相互依賴的情況;卸載包時(shí)需要先把依賴的包卸載掉,如果依賴的包是系統(tǒng)所必須的,那就不能卸載這個(gè)包,否則會(huì)造成系統(tǒng)崩潰。

如果你的光驅(qū)中還有系統(tǒng)安裝盤(pán)的話,你可以通過(guò)”mount /dev/cdrom /mnt”命令把光驅(qū)掛載到/mnt目錄下,那么你會(huì)在/mnt/CentOS目錄下看到很多.rpm的文件,這就是RPM包了。

http://wiki.jikexueyuan.com/project/linux/images/11_1.png.jpg" alt="11_1.png.jpg" />

每一個(gè)rpm包的名稱都由”-“”.”分成了若干部分就拿 a2ps-4.13b-57.2.el5.i386.rpm 這個(gè)包來(lái)解釋一下,a2ps 為包名;4.13b則為版本信息;57.2.el5為發(fā)布版本號(hào);i386為運(yùn)行平臺(tái)其中運(yùn)行平臺(tái)常見(jiàn)的有i386, i586, i686, x86_64 ,需要你注意的是cpu目前是分32位和64位的,i386,i586i686都為32位平臺(tái),x86_64則代表為64位的平臺(tái)。另外有些rpm包并沒(méi)有寫(xiě)具體的平臺(tái)而是noarch,這代表這個(gè)rpm包沒(méi)有硬件平臺(tái)限制。例如 alacarte-0.10.0-1.fc6.noarch.rpm 。下面介紹一下rpm常用的命令。

1)安裝一個(gè)rpm

http://wiki.jikexueyuan.com/project/linux/images/11_7.png.jpg" alt="11_7.png.jpg" />

-i :安裝的意思

-v :可視化

-h :顯示安裝進(jìn)度

另外在安裝一個(gè)rpm包時(shí)常用的附帶參數(shù)有:

--force 強(qiáng)制安裝,即使覆蓋屬于其他包的文件也要安裝

--nodeps 當(dāng)要安裝的rpm包依賴其他包時(shí),即使其他包沒(méi)有安裝,也要安裝這個(gè)包

2)升級(jí)一個(gè)rpm

rpm -Uvh filename -U :即升級(jí)的意思

3)卸載一個(gè)rpm

rpm -e filename 這里的filename是通過(guò)rpm的查詢功能所查詢到的,稍后會(huì)作介紹。

http://wiki.jikexueyuan.com/project/linux/images/11_8.png.jpg" alt="11_8.png.jpg" />

卸載時(shí)后邊跟的filename和安裝時(shí)的是有區(qū)別的上面命令提到的 “|”linux系統(tǒng)中用的非常多也非常有用,它是一個(gè)管道符,用來(lái)把前面運(yùn)行的結(jié)果傳遞給后面的命令。以后會(huì)做詳細(xì)介紹,而后出現(xiàn)的grep命令則是用來(lái)過(guò)濾某個(gè)關(guān)鍵詞的工具,在后續(xù)章節(jié)中會(huì)做詳細(xì)介紹。

4)查詢一個(gè)包是否安裝

rpm -q rpm包名(這里的包名,是不帶有平臺(tái)信息以及后綴名的)

http://wiki.jikexueyuan.com/project/linux/images/11_9.png.jpg" alt="11_9.png.jpg" />

如果加上了平臺(tái)信息以及后綴名反而不能查出來(lái)。你還可以查詢當(dāng)前系統(tǒng)中所安裝的所有rpm。

http://wiki.jikexueyuan.com/project/linux/images/11_10.png.jpg" alt="11_10.png.jpg" />

因?yàn)樘?,所以筆者列出前十個(gè)。

5)得到一個(gè)rpm包的相關(guān)信息

rpm -qi 包名(同樣不需要加平臺(tái)信息與后綴名)

http://wiki.jikexueyuan.com/project/linux/images/11_11.png.jpg" alt="11_11.png.jpg" />

6)列出一個(gè)rpm包安裝的文件

rpm -ql 包名

http://wiki.jikexueyuan.com/project/linux/images/11_21.png.jpg" alt="11_21.png.jpg" />

通過(guò)上面的命令可以看出vim是通過(guò)安裝vim-enhanced-7.0.109-6.el5這個(gè)rpm包得來(lái)的。那么反過(guò)來(lái)如何通過(guò)一個(gè)文件去查找是由安裝哪個(gè)rpm包得來(lái)的?

7)列出某一個(gè)文件屬于哪個(gè)rpm

rpm -qf 文件的絕對(duì)路徑

http://wiki.jikexueyuan.com/project/linux/images/11_22.png.jpg" alt="11_22.png.jpg" />

前面講過(guò)如何查找一個(gè)文件(可執(zhí)行命令)的絕對(duì)路徑

http://wiki.jikexueyuan.com/project/linux/images/11_23.png.jpg" alt="11_23.png.jpg" />

所以你也可以把這兩條命令連起來(lái)寫(xiě)

http://wiki.jikexueyuan.com/project/linux/images/11_24.png.jpg" alt="11_24.png.jpg" />

看到了嗎,which vim 這條命令是由兩個(gè)反引號(hào)引起來(lái)的,這代表引用反引號(hào)里面的命令所產(chǎn)生的結(jié)果。關(guān)于rpm工具的使用還有很多內(nèi)容,筆者就不一一列舉了,只要你掌握上面這些內(nèi)容,完全夠你平時(shí)工作用的了。

yum工具

介紹完rpm工具后,還需要你掌握最常用的yum工具,這個(gè)工具比rpm工具好用多了,當(dāng)然前提是你使用的linux系統(tǒng)是支持yum。yum最大的優(yōu)勢(shì)在于可以聯(lián)網(wǎng)去下載所需要的rpm包,然后自動(dòng)安裝,在這個(gè)工程中如果要安裝的rpm包有依賴關(guān)系,yum會(huì)幫你解決掉這些依賴關(guān)系依次安裝所有rpm。下面筆者介紹常用的yum 命令。

1列出所有可用的rpm “yum list “

http://wiki.jikexueyuan.com/project/linux/images/11_25.png.jpg" alt="11_25.png.jpg" />

限于篇幅,筆者只列舉出來(lái)前7個(gè)包信息。從上例中可以看到有”mirrors.163.com”信息出現(xiàn),這是在告訴用戶,它是從mirrors.163.com這里下載到的rpm包資源如果你使用的是CentOS則你可以從/etc/yum.repos.d/CentOS-Base.repo這個(gè)文件下看到相關(guān)的配置信息。從上面的例子中你還可以看到最左側(cè)是rpm包名字,中間是版本信息,最右側(cè)是安裝信息,如果安裝了就顯示installed,未安裝則顯示base或者extras,如果是該rpm包已安裝但需要升級(jí)則顯示updates。

2)搜索一個(gè)rpm “yum search [相關(guān)關(guān)鍵詞]”

http://wiki.jikexueyuan.com/project/linux/images/11_26.png.jpg" alt="11_26.png.jpg" />

除了這樣搜索外,筆者常用的是利用grep來(lái)過(guò)濾

http://wiki.jikexueyuan.com/project/linux/images/11_27.png.jpg" alt="11_27.png.jpg" />

相信你也會(huì)喜歡用后者吧,這樣看起來(lái)簡(jiǎn)明的多

3)安裝一個(gè)rpm “yum install [-y] [rpm包名]”

如果不加-y選項(xiàng),則會(huì)以與用戶交互的方式安裝,首先是列出需要安裝的rpm包信息,然后會(huì)問(wèn)用戶是否需要安裝,輸入y則安裝,輸入n則不安裝。而筆者嫌這樣太麻煩,所以直接加上-y選項(xiàng),這樣就省略掉了問(wèn)用戶是否安裝的那一步。http://wiki.jikexueyuan.com/project/linux/images/11_28.png.jpg" alt="11_28.png.jpg" />

4)卸載一個(gè)rpm “yum remove [-y] [rpm包名]”

http://wiki.jikexueyuan.com/project/linux/images/11_29.png.jpg" alt="11_29.png.jpg" />

卸載和安裝一樣,你也可以直接加上-y選項(xiàng)來(lái)省略掉和用戶交互的步驟。在這里筆者要提醒你一下,卸載某個(gè)rpm包一定要看清楚了,不要連其他重要的rpm包一起卸載了,以免影響正常的業(yè)務(wù)。

4)升級(jí)一個(gè)rpm “yum update [-y] [rpm]”

http://wiki.jikexueyuan.com/project/linux/images/11_44.png.jpg" alt="11_44.png.jpg" />

以上介紹了如何使用yum搜索、安裝、卸載以及升級(jí)一個(gè)rpm包,如果你掌握了這些那么你就已經(jīng)可以解決日常工作中遇到的與rpm包相關(guān)問(wèn)題了當(dāng)然yum工具還有好多其他好用的命令,筆者不在列舉出來(lái),如果你感興趣就去man一下吧。除此之外,筆者還會(huì)教你一些關(guān)于yum的小應(yīng)用

1 使用本地的光盤(pán)來(lái)制作一個(gè)yum

有時(shí)候你的linux系統(tǒng)不能聯(lián)網(wǎng),當(dāng)然就不能很便捷的使用聯(lián)網(wǎng)的yum源了,這時(shí)候就需要你自己會(huì)利用linux系統(tǒng)光盤(pán)制作一個(gè)yum。具體步驟如下:

a.掛載光盤(pán)

[root@fortest Server]# mount -t iso9660 -o loop /dev/cdrom /mnt

b.刪除/etc/yum.repos.d目錄所有的repo文件

[root@fortest Server]# rm -rf /etc/yum.repos.d/*

c.創(chuàng)建新文件dvd.repo

[root@fortest Server]# vim /etc/yum.repos.d/dvd.repo

加入以下內(nèi)容:

[dvd]

name=install dvd

baseurl=file:///mnt

enabled=1

gpgcheck=0

d.刷新repos,生成緩存

[root@fortest Server]#yum makecache

然后就可以使用yum命令安裝你所需要的軟件包了

2 利用yum工具下載一個(gè)rpm

有時(shí),我們需要下載一個(gè)rpm包,只是下載下來(lái),拷貝給其他機(jī)器使用,前面也介紹過(guò)yum安裝rpm包的時(shí)候,首先得下載這個(gè)rpm包然后再去安裝,所以使用yum完全可以做到只下載而不安裝。

a. 首選要安裝 yum-downloadonly

# yum install -y yum-downloadonly.noarch

b. 下載一個(gè)rpm包而不安裝

# yum install test.rpm -y --downloadonly //這樣雖然下載了,但是并沒(méi)有保存到我們想要的目錄下,那么如何指定目錄呢?

c. 下載到指定目錄

# yum install test.rpm -y --downloadonly --downloaddir=/usr/local/src

http://wiki.jikexueyuan.com/project/linux/images/11_45.png.jpg" alt="11_45.png.jpg" />

安裝源碼包

其實(shí),在linux下面安裝一個(gè)源碼包是最常用的,筆者在日常的管理工作中,大部分軟件都是通過(guò)源碼安裝的。安裝一個(gè)源碼包,是需要我們自己把源代碼編譯成二進(jìn)制的可執(zhí)行文件。如果你讀得懂這些源代碼,那么你就可以去修改這些源代碼自定義功能,然后再去編譯成你想要的。使用源碼包的好處除了可以自定義修改源代碼外還可以定制相關(guān)的功能,因?yàn)樵创a包在編譯的時(shí)候是可以附加額外的選項(xiàng)的。

源碼包的編譯用到了linux系統(tǒng)里的編譯器,常見(jiàn)的源碼包一般都是用C語(yǔ)言開(kāi)發(fā)的,這也是因?yàn)?/span>C語(yǔ)言為linux上最標(biāo)準(zhǔn)的程序語(yǔ)言。Linux上的C語(yǔ)言編譯器叫做gcc,利用它就可以把C語(yǔ)言變成可執(zhí)行的二進(jìn)制文件。所以如果你的機(jī)器上沒(méi)有安裝gcc就沒(méi)有辦法去編譯源碼你可以使用 yum install -y gcc 來(lái)完成安裝。

安裝一個(gè)源碼包,通常需要三個(gè)步驟:

1. ./config 在這一步可以定制功能,加上相應(yīng)的選項(xiàng)即可,具有有什么選項(xiàng)可以通過(guò)”./config --help ”命令來(lái)查看。在這一步會(huì)自動(dòng)檢測(cè)你的linux系統(tǒng)與相關(guān)的套件是否有編譯該源碼包時(shí)需要的庫(kù),因?yàn)橐坏┤鄙倌硞€(gè)庫(kù)就不能完成編譯。只有檢測(cè)通過(guò)后才會(huì)生成一個(gè)Makefile文件。

2. make 使用這個(gè)命令會(huì)根據(jù)Makefile文件中預(yù)設(shè)的參數(shù)進(jìn)行編譯,這一步其實(shí)就是gcc在工作了。

3. make install 安裝步驟,生成相關(guān)的軟件存放目錄和配置文件的過(guò)程。

上面介紹的3步并不是所有的源碼包軟件都一樣的,筆者以前也曾經(jīng)遇到過(guò),安裝步驟并不是這樣,也就是說(shuō)源碼包的安裝并非具有一定的標(biāo)準(zhǔn)安裝步驟。這就需要你拿到源碼包解壓后,然后進(jìn)入到目錄找相關(guān)的幫助文檔,通常會(huì)以INSTALL或者README為文件名。所以,你一定要去看一下。下面筆者會(huì)編譯安裝一個(gè)源碼包來(lái)幫你更深刻的去理解如何安裝源碼包

1. 下載一個(gè)源碼包

http://wiki.jikexueyuan.com/project/linux/images/11_46.png.jpg" alt="11_46.png.jpg" />

這里要提一下,建議以后你把所有下載的源碼包放到/usr/local/src/目錄下,這個(gè)并不是必須的,只是一個(gè)約定。方便你和你的同事將來(lái)更好的去運(yùn)維這臺(tái)服務(wù)器。wget即為下載的命令,后邊跟源碼包的下載地址。該地址為筆者從網(wǎng)上找的一個(gè)apache的下載地址。

2. 解壓源碼包

http://wiki.jikexueyuan.com/project/linux/images/11_47.png.jpg" alt="11_47.png.jpg" />

一般的源碼包都是一個(gè)壓縮包,如何解壓一個(gè).tar.gz的包上一章講過(guò)的。

3. 配置相關(guān)的選項(xiàng),并生成Makefile

http://wiki.jikexueyuan.com/project/linux/images/11_48.png.jpg" alt="11_48.png.jpg" />

使用./config --help 可以查看可用的選項(xiàng)。一般常用的有”--prefix=PREFIX “ 這個(gè)選項(xiàng)的意思是定義軟件包安裝到哪里。到這里,筆者再提一個(gè)小小的約定,通常源碼包都是安裝在/usr/local/目錄下的比如,我們把apache安裝在/usr/local/apache2下,那么這里就應(yīng)該這樣寫(xiě)” --prefix=/usr/local/apache2”。其他還有好多選項(xiàng),如果你有耐心你可以挨個(gè)去看一看都有什么作用。

http://wiki.jikexueyuan.com/project/linux/images/11_49.png.jpg" alt="11_49.png.jpg" />

筆者在這里只定義了apache的安裝目錄,其他都是默認(rèn)。回車(chē)后,開(kāi)始執(zhí)行check操作

http://wiki.jikexueyuan.com/project/linux/images/11_50.png.jpg" alt="11_50.png.jpg" />

check結(jié)束后生成了Makefile文件

http://wiki.jikexueyuan.com/project/linux/images/11_51.png.jpg" alt="11_51.png.jpg" />

除了查看有沒(méi)有生成Makefile文件來(lái)判定有沒(méi)有完成./config 的操作外,還可以通過(guò)這個(gè)命令”echo $?”來(lái)判定,如果是0,則表示上一步操作成功完成,否則就是沒(méi)有成功。

http://wiki.jikexueyuan.com/project/linux/images/11_52.png.jpg" alt="11_52.png.jpg" />

4. 進(jìn)行編譯

http://wiki.jikexueyuan.com/project/linux/images/11_53.png.jpg" alt="11_53.png.jpg" />

這一步操作,就是把源代碼編譯成二進(jìn)制的可執(zhí)行文件,這一步也是最漫長(zhǎng)的一步,編譯時(shí)間的長(zhǎng)短取決于源代碼的多少和機(jī)器配置

5. 安裝

http://wiki.jikexueyuan.com/project/linux/images/11_54.png.jpg" alt="11_54.png.jpg" />

在安裝前,先確認(rèn)上一步操作是否成功完成。

http://wiki.jikexueyuan.com/project/linux/images/11_55.png.jpg" alt="11_55.png.jpg" />

make install 會(huì)創(chuàng)建相應(yīng)的目錄以及文件當(dāng)完成安裝后,會(huì)在/usr/local目錄下多了一個(gè)apache2目錄,這就是apache所安裝的目錄了。

http://wiki.jikexueyuan.com/project/linux/images/11_56.png.jpg" alt="11_56.png.jpg" />

其實(shí)在日常的源碼安裝工作中,并不是每個(gè)都像筆者這樣順利完成安裝的,遇到錯(cuò)誤不能完成安裝的情況是很多的。通常都是因?yàn)槿鄙倌骋粋€(gè)庫(kù)文件導(dǎo)致的。這就需要你仔細(xì)琢磨報(bào)錯(cuò)信息或者查看當(dāng)前目錄下的config.log去得到相關(guān)的信息。另外,如果自己不能解決那就去網(wǎng)上google一下吧,通常你會(huì)得到你想要的答案。