第六章Linux軟件安裝(源碼包與RPM包區別與安裝)-(yum在線管理,光盤yum源搭建)-(腳本安裝包webmin)

軟件包管理簡介

軟件包分類

1.源碼包,是開源的,可以直接看到源碼,如:腳本安裝包

2.二進制包(RPM包、系統默認包):是源代碼包經過編譯的01的文件

可以加快安裝速度,但是不能看到源代碼了



RPM包管理-rpm命令管理

1.RPM包命名規則


2.RPM包依賴性

樹形依賴:a->b->c 安裝順序:cba 卸載順序:abc

環形依賴:a->b->c->a 解決辦法:用一條命令把abc三個包都安裝了

模塊依賴:? 模塊依賴查詢網站:www.rpmfind.net

像這種 .so.2,以數字結尾的包都是庫依賴包,不是單獨獨立的包,它是某個軟件包中的文件


rpm是由紅帽公司開發的軟件包管理方式,使用rpm我們可以方便的進行軟件的安裝、查詢、卸載、升級等工作。但是rpm軟件包之間的依賴性問題往往會很繁瑣,尤其是軟件由多個rpm包組成時。

yum(全稱為 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE中的Shell前端軟件包管理器。基於RPM包管理,能夠從指定的服務器自動下載RPM包并且安裝,可以自動處理依賴性關系,并且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。


RPM包管理-安裝升級與卸載

1.包全名:操作的包是沒有安裝的軟件包時,使用包全名。而且要注意路徑(要在Packages目錄下執行安裝)。一般是安裝和升級的時候需要用到。

包都在 /mnt/cdrom/Packages中

2.包名:操作已經安裝的軟件包時,使用包名。

是搜索/var/lib/rpm/中的數據庫。如查詢、卸載。

注意:包名和包全名是嚴格區分的

1.RPM安裝(要在Packages目錄下執行)

rpm -ivh 包全名

選項:

-i(install):安裝

-v(verbose):顯示詳細信息

-h(hash):顯示進度

--nodeps:不檢測依賴性(一般不用這個選項)

如:rpm -ivh httpd-

然后按下tab鍵,就可以看到所有以httpd-開頭的安裝包,一般先安裝主包再安裝副包

注意:按 tab鍵,就可以列出所有相關的文件。

2.RPM包升級

rpm -Uvh 包全名

-U(upgrade) 升級

3.卸載(不需要在包路徑下執行,因為它搜索的是后臺數據庫,任何位置都能找到)

rpm -e 包名

-e(erase): 卸載

--nodeps:不檢查依賴性(一般不用這個選項)



RPM命令管理-查詢(不一定要在packages路徑)

1.查詢是否安裝

rpm -q 包名

選項:-q(query):查詢,必選

如: rpm -q httpd

查詢httpd-是否有安裝,如果安裝就會出現安裝的版本信息

-a (all): 所有

如:rpm -qa

查詢所有已經安裝的rpm包

如:rpm -qa | grep httpd

列出所有和httpd相關的包

2.查詢軟件包詳細信息

rpm -qi 包名

選項:-i (information) 查詢軟件信息

-p(package) 查詢未安裝包信息(后面跟的是包全名)

如:rpm -qi httpd

查詢httpd包的信息

如:rpm -qip zip(之后按tab鍵進行補齊全名,,注意路徑)

3.查詢包中文件的安裝位置

rpm -ql 包名

選項:-l(list):列表

-p(package):查詢未安裝包信息(后面跟的是包全名)

如:rpm -ql httpd

查詢(已安裝包)httpd安裝位置

rpm -qpl zip(之后按tab鍵進行補齊全名,,注意路徑)

查詢(未安裝包)zip的位置

4.查詢文件系統屬于哪個RPM包(要在系統文件所在目錄下)

rpm -qf 系統文件名

選項:-f (file):查詢系統文件屬于哪個軟件包

如:rpm -qf? var/www/icons/up.gif

結果就會告訴我們這個系統文件包是httpd安裝的

rpm -qf? yum.conf

(要在 /etc目錄下,輸入上面的命令)

5.查詢軟件包的依賴性

rpm -qR 包名

選項:-R:查詢軟件包的依賴性(requires)

-p: 查詢未安裝包信息(后面跟的是包全名)(package)

如:rpm -qR httpd

查詢httpd包的依賴性

rpm -qRp zip(之后按tab鍵進行補齊全名,注意路徑)

注:注意路徑 是指要在對應的包的目錄下,再進行查詢



RPM命令管理-校驗和文件提取

1.RPM包校驗

[root@localhost~]#rpm -V 已安裝的包名

選項:-V(大寫)校驗指定RPM包中的文件( verify)

如:rpm -V httpd

如果沒有提示信息,說明安裝的httpd包就是我們初始安裝的,沒有做過任何修改

如提示信息如下:驗證的內容? ? ? ? 文件類型? ? ? ? 修改的文件名

S.5....T. c /etc/httpd/conf/httpd.conf

如果有提示,一般是8個字符,表示信息如下:

如果沒有改變就用 “.”表示

驗證內容中的8個信息的具體內容如下:

◆S 文件大小是否改變

◆M 文件的類型或文件的權限(rwx)是否被改變

◆5 文件MD5校驗和是否改變(可以看成文件內容是否改變)

◆D 設備的中,從代碼是否改變

◆L 文件路徑是否改變

◆U 文件的屬主(所有者)是否改變

◆G 文件的屬組是否改變

◆T 文件的修改時間是否改變

文件類型

◆c配置文件( config file)

◆d普通文檔( documentation)

◆g "鬼”文件( ghost file),很少見,就是該文件不應該被這個RPM包包含

◆l 授權文件( license file)

◆r 描述文件( read me)

2.RPM包中文件提取(一般多用于恢復被修改、破壞的系統文件)

[root@localhost~]#rpm2cpio 包全名 | \

cpio -idv . 文件絕對路徑

這條命令表示:要把安全包rpm轉換為cpio,然后再從cpio中提取所要的文件。“\”這個符號表示命令太長,要換行。“.”表示把指定的文件提取到當前路徑,當前路徑一般是當前要工作的目錄

如:rpm2cpio

#將rpm包轉換為pio格式的命令

cpio

#是一個標準工具,它用于創建軟件檔案文件和從檔案文件中提取文件

如:1.whereis ls? :查詢ls在哪里

2.rpm -qf /bin/ls :查詢ls命令屬于哪個軟件包

3.mv /bin/ls /tmp :造成ls命令誤刪的假象

4. rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-47.el6.x86_64.rpm | cpio -idv ./bin/ls? :提取rpm包中ls命令到當前目錄的/bin/ls下

5.cp /root/bin/ls /bin/ :把ls命令復制回/bin/目錄,修復文件丟失

注意:dir 可以查看當前路徑下的目錄


RPM包管理-yum在線管理

yum在線管理-IP地址配置和網絡yum源

1.IP地址配置(可永久生效)

1)setup #使用setup工具

setup:配置網絡,只有root用戶可以使用,永久生效

用法:setup

選擇 網絡配置,然后回車,-> 設備配置(回車)->

在DHCP中輸入 * 是自動獲取IP地址,如果沒有 DHCP SERVER就不要寫這個,因為無法自動獲取

自己手動輸入IP地址,子網掩碼,網關

然后保存并退出,最后別忘了用命令:service network resatrt

重啟網絡服務

注意:setup命令是紅帽系列專有的

2)vi /etc/sysconfig/network-scripts/ifcfg-eth0 #啟動網卡。如果有多個網卡,后面跟的就是eth1,eth2等

3)service network restart #重啟網絡服務

2.網絡yum源

root[@localhost yum.repos.d]# vi/etc/yum.repos.d/ CentoS-Base.repo

注意:后綴是 .repo都是合法的yum源

◆[base] 容器名稱,一定要放在[]中

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

◆ mirrorlist 鏡像站點,這個可以注釋掉

◆ baseurl 我們的yum源服務器的地址。默認是 Centos官方的yum源服務器,是可以使用的,如果你覺得慢可以改成你喜歡的yum源地址

◆ enabled 此容器是否生效,如果不寫或寫成 enable=1都是生效,寫成enable=0就是不生效

◆ gpgcheck 如果是1是指RPM的數字證書生效,如果是0則不生效

◆ gpgkey 數字證書的公鑰文件保存位置。不用修改

yum在線管理-yum命令(全部使用包名)

1)查詢:yum list

#查詢所有可用軟件包列表

yum search 關鍵字

#搜索服務器上所有和關鍵字相關的包

如:yum search httpd

搜索所有和httpd相關的包,以及安裝httpd所需要的的包

2)安裝

yum -y install 包名

選項:-y? 自動回答yes

install 安裝

如:yum -y install httpd

安裝httpd包

yum -y install gcc

安裝gcc,是C語言編譯器。之后可用(rpm -q gcc)命令查詢相關信息

3)升級

yum -y update 包名

選項:-y? 自動回答yes

update 升級

如:yum -y update httpd

表示升級httpd包

4)卸載

yum -y remove 包名

選項:-y? 自動回答yes

remove 卸載

如:yum -y remove httpd

注意:在安裝軟件,需要多少安裝多少,采用最少安裝。盡量不要卸載,尤其是使用yum下載時要注意。因為軟件包之間存在依賴性,卸載這個包,可能會導致系統其它軟件包也被卸載了,不能使用。要安裝a,其依賴性有可能是 a->b->c,這樣安裝的順序就是:c,b,a

卸載剛好相反是:a,b,c

5)YUM軟件組管理命令

yum grouplist

#列出所有可用的軟件組列表

yum groupinstall? 軟件組名

[root@localhost ~]# yum grouplist

列出所有可用的軟件組列表

[root@localhost ~]#yum groupinstall 軟件組名

安裝指定軟件組,組名可以由grouplist查詢出來

[root@localhost ~]#yum groupremove 軟件組名

卸載指定軟件組

注意:如果軟件組名中有空格 如zulu Support,就要用雙引號,如“zulu Support”這樣,才能被識別為一個軟件組


yum在線管理-光盤yum源搭建

光盤yum源搭建步驟

可以先 cd /etc/yum.repo.d/? 下看看有有哪些yum源,默認是CentOS-Base.repo 生效。其他三個人別是: CentOS-Debuginfo.repo,CentOS-Vault.repo,CentOS-Media.repo(這個代表光盤yum)

1)掛載光盤

[root@localhost ~]# mount /dev/cdrom /mnt/cdrom/

2)讓網絡yum源文件失效(通過改名的方式)

[root@localhost ~]# cd /etc/yum.epos.d/

[root@localhost yum.epos.d]#mv CentOS-Base.repo? \

CentOS-Base.repo.bak

[root@localhost yum.epos.d]#mv CentOS-Debuginfo.repo? \

CentODS-Debuginfo.repo.bak

[root@localhost yum.epos.d]#mv CentOS-Vault.repo \

CentOS-Vault.repo.bak

3)修改光盤yum源

[root@localhost yum.epos.d]# vim CentOS-Media.repo

[c6-media]

name=CentOS-$releasever - Media

baseurl=file:///mnt/cdrom

#地址為你自已的光盤掛載地址.///最后一個/表示根目錄

# file:///media/cdrom/

# file:///media/cdrecorder/

#注釋這兩個不存在的地址

gpgcheck =1

enabled=1

#把 enabled=0改為 enabled=1,讓這個yum源配置文件生效

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

4)yum list

可以看到后面的yum源變成 c6-media


源碼包與RPM包的區別

1、區別

◆安裝之前的區別:概念上的區別

◆安裝之后的區別:安裝位置不同

2、RPM包安裝位置

◆是安裝在默認位置中

RPM包默認安裝路徑如下:

/etc/ 配置文件安裝目錄

/usr/bin/? 可執行的命令安裝且錄

/usr/lib/? 程序所使用的函數庫保存位置

/usr/share/doc 基本的軟件使用手冊保存位置

/usr/share/man/ 幫助文件保存位置

3、源碼包安裝位置

■安裝在指定位置當中,一般是/usr/local/軟件名/

4、安裝位置不同帶來的影響

◆RPM包安裝的服務可以使用系統服務管理命令( service)來管理,例如RPM包安裝的 apache的啟動方法是:

/etc/rc.d/init.d/httpd start

通過絕對路徑加上軟件名來啟動。(cd /etc/rc.d/init.d/ 可以看到rpm包的執行文件)

或者 service httpd start(紅帽專有,service可以找到絕對路徑)

cd /var/www/html 在這個目錄下可以看到httpd下的網頁

寫一個網頁:vi index.html

在網頁中輸入192.168.1.17,就能看到網頁信息(要記得關掉防火墻:service iptables stop)

◆而源碼包安裝的服務則不能被服務管理命令管理,因為沒有安裝到默認路徑中。所以只能用絕對路徑進行服務的管理,如/usr/local/apache2/bin/apachectl start


源碼包管理-源碼包的安裝過程

1、安裝準備

◆安裝C語言編譯器

◆下載源碼包http://mirror.bit.edu.cn/apache/httpd

2、安裝注意事項

◆源代碼保存位置:usr/local/src

(系統已經給我們準備了安裝源碼包的位置,其中usr是linux系統資源目錄,local是本地的意思,src是源代碼的位置)

◆軟件安裝位置:/usr/local

◆如何確定安裝過程報錯:

? 安裝過程停止

? 并出現error、 warning或no的提示

3、源碼包安裝過程

◆下載源碼包 如:httpd-2.4.43.tar.gz

◆解壓縮下載的源碼包? 如:tar -zxvf httpd-2.4.43.tar.gz

◆進入解壓縮目錄 如:cd /root/httpd-2.4.43

注意:du -sh httpd-2.4.43 通過這條命令可以看到這個源碼包有多大

4.? ./configure 軟件配置與檢查(執行完會產生Makefile)

定義需要的功能選項

命令: ./configure --prefix=/usr/local/apache2

檢測系統環境是否符合安裝要求

把定義好的功能選項和檢測系統環境的信息都寫入 Makefile文件,用于后續的編輯。

5.make? #編譯(把源碼包翻譯為機器語言)

make clean #清空編譯產生的臨時文件,沒有報錯不要執行

make install? #編譯安裝,才會向目錄真正寫入文件

6.由yum安裝的httpd,啟用的httpd占用的端口也是80,所以要先停掉

service httpd stop

7.安裝完成后,進行啟動

命令:/usr/local/apache2/bin/apachectl start

8.在網頁中輸入 192.168.1.17

就可以發現首頁是啟動的是源碼包的apache

9.源碼包的卸載(一個服務器中,只能有一個httpd)

◆不需要卸載命令,直接刪除安裝目錄即可。

不會遺留任何垃圾文件

如:rm -rf /usr/local/apache2/

注意:1.通過 ./configure --help 可以看到其支持的編譯功能選項

2.通過 more INSTALL 可以看安裝的過程

3.httpd如果是2.4以上的版本,要先安裝ARP

步驟如下:都是在根目錄下執行,也就是要先 cd /root下。

[root@localhost ~]#這個狀態下

1)下載所需工具包:

wget http://archive.apache.org/dist/apr/apr-1.5.0.tar.gz

wget http://archive.apache.org/dist/apr/apr-util-1.5.3.tar.gz

wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.34/pcre-8.34.tar.gz

2)將以前的刪除:yum remove apr-util-devel apr apr-util-mysql apr-docs apr-devel apr-util apr-util-docs

分別進行便于安裝:

3)

tar -zxvf apr-1.5.0.tar.gz?

cd apr-1.5.0?

./configure --prefix=/usr/local/apr? && make && make install

tar -zxvf apr-util-1.5.3.tar.gz

cd apr-util-1.5.3

./configure --prefix=/usr/local/apr-util -with-apr=/usr/local/apr/bin/apr-1-config && make && make install

tar -zxvf pcre-8.34.tar.gz?

cd pcre-8.34?

./configure --prefix=/usr/local/pcre? && make && make install

4)最后一步安裝httpd

wget http://apache.org/dist/httpd/httpd-2.4.9.tar.gz (如果之前沒下載,就可以用這個命令進行下載)

tar -zxvf httpd-2.4.43.tar.gz

cd /root/httpd-2.4.43

./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr \

--with-apr-util=/usr/local/apr-util/ \

--with-pcre=/usr/local/pcre

make && make install


腳本安裝包

1、腳本安裝包

◆腳本安裝包并不是獨立的軟件包類型,常見安裝的是源碼包。

◆是人為把安裝過程寫成了自動安裝的腳本,只要執行腳本,定義簡單的參數,就可以完成安裝。

◆非常類似于 Windows下軟件的安裝方式。

2、 Webmin的作用

◆ Webmin是一個基于Web的 Linux系統管理界面。您就可以通過圖形化的方式設置用戶帳號、 Apache、DNS、文件共享等服務

3、 Webmin安裝過程

◆下載軟件

>http://sourceforge.net/projects/webadmin/files/webmin/

◆解壓縮,并進入加壓縮目錄

tar -zvxf webmin-1.61..tar.gz

du -sh webmin-1.610(查看大小的命令)

cd webmin-1.610

◆執行安裝腳本

./setup.sh

以回車作為默認

最后可以修改用戶名和密碼。這里設置用戶名:admin 密碼:123456

使用的是本機的10000端口號

◆在網頁中:192.168.1.17:10000即可,然后輸入用戶名和密碼

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,923評論 6 535
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,740評論 3 420
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,856評論 0 380
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,175評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,931評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,321評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,383評論 3 443
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,533評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,082評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,891評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,067評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,618評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,319評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,732評論 0 27
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,987評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,794評論 3 394
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,076評論 2 375