在Linux中看與識(shí)別的軟件包
1扬霜、源碼包 ? 大部分是C寫的定鸟。需要手工安裝,并且繁瑣著瓶。比較滿联予。
1-1、腳本安裝包材原。不多見沸久,并且這種包是源碼包二次開發(fā)后的安裝包。 不需要手工安裝余蟹。
很簡單卷胯,
2、二進(jìn)制包(RPM包客叉、系統(tǒng)默認(rèn)包)诵竭。是經(jīng)過編譯之后的機(jī)器語言包话告。
源碼包 ? ? 有點(diǎn):
1兼搏、開源,如果有足夠的能力沙郭,可以修改源代碼
2佛呻、可以自由選擇所需要的功能
3、軟件是便宜安裝病线,所以更家適合自己的系統(tǒng)吓著,更加穩(wěn)定也效率更高。
4送挑、卸載方便绑莺。
缺點(diǎn):
1、安裝過程步驟較多惕耕,尤其安裝較大的軟件集合時(shí)(如 LAMP環(huán)境搭建)纺裁,容易出現(xiàn)拼寫錯(cuò)誤
2、編譯過程時(shí)間較長,安裝比二進(jìn)制安裝時(shí)間長欺缘。
3栋豫、因?yàn)槭蔷幾g安裝,安裝過程中一但報(bào)錯(cuò)新手很難解決谚殊。
RPM包 ?二進(jìn)制包 ? ?有點(diǎn):
1丧鸯、包管理系統(tǒng)簡單葛闷,只通過幾個(gè)命令就可以實(shí)現(xiàn)包的安裝钝吮、升級(jí)、查詢和卸載罩扇。
2剿干、安裝速度比源碼包安裝快的多摔踱。
缺點(diǎn):
1、經(jīng)過編譯怨愤,不在可以看到源代碼派敷。
2、功能選擇不如源碼包靈活
3撰洗、依賴性篮愉。指:當(dāng)安裝a時(shí)候,需要有b的支持差导,當(dāng)安裝b時(shí)试躏,需要有c的支持。卸載的時(shí)候需要先卸載c然后卸載b设褐,再卸載a颠蕴。
RPM包管理 ?-rpm命令管理
RPM包命令規(guī)則
例如:httpd-2.2.15-15.el6.centos.1.i686.rpm
httpd ? ? 軟件包名 ? 包名指:這個(gè)包的英文名稱:如:httpd ? 全名是全稱。
2.2.15 ? ? 軟件版本
15 ? ? 軟件發(fā)布的次數(shù)
el6.centos ? ? 適合的Linux平臺(tái)
i686 ? ? 適合的硬件平臺(tái) ?如果此處是x64則表示:只可以安裝在64位操作系統(tǒng)上助析。
rpm ? ? rpm包擴(kuò)展名犀被。這個(gè)rpm擴(kuò)展名是給管理員看,表明是什么文件外冀。
注意:有些命令只能跟包名寡键,有些命令必須跟包全名。如果寫錯(cuò)了雪隧,這個(gè)命令將不能正確執(zhí)行西轩。
RPM包依賴性:
樹形依賴: ?a>b>c
最典型。
安裝時(shí)候:先安裝c脑沿,再安裝b藕畔,再安裝a。卸載的時(shí)候庄拇,先卸載 a注服,再卸載b,再卸載c。
環(huán)形依賴:a>b>c>a
這時(shí)候:將abc用一條命令全部安裝即可解決環(huán)形依賴祠汇。
模塊依賴: 模塊以來查詢網(wǎng)站:www.rpmfind.net
注意: 只要以:.so.2:點(diǎn)so點(diǎn)數(shù)字結(jié)尾的仍秤,都是庫依賴。這種庫依賴包可很,不是單獨(dú)獨(dú)立的包诗力,是某一個(gè)軟件包中的一個(gè)軟件。所以只要把這個(gè)庫依賴包的軟件包安裝后我抠,這個(gè)庫依賴就會(huì)自動(dòng)安裝苇本。
RPM包管理-yum在線管理
這個(gè)就是為了解決依賴性的。
可以做一個(gè)包含所有rpm包的網(wǎng)站作為在線服務(wù)器源菜拓。只要運(yùn)行 ?-yum 就會(huì)自動(dòng)從服務(wù)器下載依賴的庫等瓣窄。
有個(gè)問題:除了拿網(wǎng)絡(luò)作為服務(wù)器源外,還可以拿本地光盤作為 yum源纳鼎。如果是readHead系列收費(fèi)俺夕,他認(rèn)為yum是他的售后服務(wù) 。
centos 是免費(fèi)的贱鄙,yum也是免費(fèi)的劝贸。
包全名與包名:
包全名:操作的包是沒有安裝的軟件包時(shí),使用包全名逗宁。而且要注意路徑映九。
一般:安裝和升級(jí)的時(shí)候,使用包全名瞎颗。操作的是未安裝包件甥,所以使用全名。
包名:操作已經(jīng)安裝的軟件包時(shí)哼拔,使用包名引有。是搜索 ?/var/lib/rpm/中的數(shù)據(jù)庫。
/var/lib/rpm/ ?都是二進(jìn)制文件管挟。如:查詢轿曙、卸載。所以只寫包名即可僻孝。
RPM安裝:--可以手工指定安裝位置,但是會(huì)帶來比較麻煩的問題守谓。比如:服務(wù)命令就會(huì)找不到rpm包安裝的功能或服務(wù)穿铆。因?yàn)楹芏喾?wù)搜索的位置都是默認(rèn)的,如果這時(shí)候手工指定斋荞,未使用默認(rèn)荞雏,會(huì)帶來管理上的不方便。
rpm ? -ivh ? 包全名 ?--- 一般都會(huì)使用 -ivh
選項(xiàng): ? ? -i(install) ? ? 安裝
-v(verbose) ? ? 顯示詳細(xì)信息
-h(hash) ? ? 顯示進(jìn)度
--nodeps ? ? 不檢測依賴性(安裝時(shí),是不行的凤优。)可以在實(shí)驗(yàn)的時(shí)候安裝悦陋。
RPM包升級(jí)
rpm ?-Uvh ?包全名
選項(xiàng): ?-U (upgrade ) ? ? 升級(jí)。
RPM ?卸載:
rpm ?-e ?包名
選項(xiàng): ?-e(erase) ? ? 卸載
--nodeps ? ? 不檢查依賴性筑辨。
注意: -yum安裝的俺驶,都可以通過rpm的命令查詢。
查詢是否安裝:
[root@localhost ~]# rpm ?-q ?包名
查詢包是否安裝
選項(xiàng): ? ? -q ? ? 查詢(query)
[root@localhost ~]# rpm ?-qa
查詢所有已經(jīng)安裝的RPM包
選項(xiàng): ? ? -a ? ? 所有(all)
查詢軟件包詳細(xì)信息:
[root@localhost ~]# rpm ?-qi ?包名
選項(xiàng): ? ? -i ? ? 查詢軟件信息(information)
-p ? ? 查詢未安裝包信息(package)
查詢未安裝包信息:rpm ?-qip ?包全名 ? --- 用到的不多棍辕。
注意:安裝暮现、升級(jí),后跟包全名楚昭。
查詢包中文 文件安裝位置:
[root@localhost ~]# rpm ?-ql ?包名
選項(xiàng): ?-l ? ? 列表(list)
-p ? ? 查詢未安裝包信息(package)
注意:包中的安裝位置是在組件這個(gè)包的時(shí)候就決定的栖袋。 如果查詢安裝位置時(shí),即使沒有安裝也會(huì)查看到這個(gè)包打算把文件裝哪里的抚太。
查詢系統(tǒng)文件屬于哪個(gè)RPM包
[root@localhost ~]# rpm ?-qf ?系統(tǒng)文件名
選項(xiàng): ? ? -f ? ? 查詢系統(tǒng)文件屬于哪個(gè)軟件包(File)
注意:這個(gè)file必須是包出來的塘幅,不是手工創(chuàng)建的。比如:手工創(chuàng)建的尿贫,或系統(tǒng)自動(dòng)生成的一些臨時(shí)文件晌块,日志文件,這些都不是包出來的帅霜,所以無法查詢所在哪個(gè)RPM包匆背。
查詢軟件包的依賴性
[root@localhost ~]# rpm ? -qR ?包名
選項(xiàng): ? ? -R ? ? 查詢軟件包的依賴性(requires)
-p ? ? 查詢未安裝包信息(package)
RPM包校驗(yàn)
[root@localhost ~]# ?rpm ? -V ? 已經(jīng)安裝的包名
選項(xiàng):
-V ? ? 校驗(yàn)制定RPM包中的文件(verify)
校驗(yàn):裝完RPM包把特征記錄下來 ,需要的時(shí)候身冀,把現(xiàn)在的文件與先前記錄的文件進(jìn)行比較钝尸,判斷是否有變化,而做了修改搂根。 ?判斷文件是否被更改過珍促。
驗(yàn)證內(nèi)容中的8個(gè)信息的具體內(nèi)容如下:
S ? ? 文件大小是否改變
M ? ? 文件的類型或文件的權(quán)限(rwx)是否被改變
5 ? ? 文件MD5校驗(yàn)和是否改變(可以看成文件內(nèi)容是否改變)
D ? ? 設(shè)備的中,從代碼是否改變
L ? ? 文件路徑是否改變
U ? ? 文件的屬主(所有者)是否改變
G ? ? 文件的屬組是否改變
T ? ? 文件的修改時(shí)間是否改變
其中的c是文件類型:
c ? ? 配置文件(config ?file)
d ? ? 普通文檔(documentation)
g ? ? “鬼”文件(ghost ?file)剩愧,很少見猪叙,就是該文件不應(yīng)該被這個(gè)RPM包 ? 包含
如果在某個(gè)包中出現(xiàn)了,則這個(gè)文件需要認(rèn)真對(duì)待一下了仁卷。
l ? ? 授權(quán)文件(license ?file)
r ? ? ?描述文件(read ? me)
RPM包中 ?文件提妊妗: ?制定的文件---主要是誤操作,修復(fù)锦积。
[root@localhost ~]# ?rpm2cpio ?包全名 ?| ?\ ?cpio ?-idv.文件絕對(duì)路徑
任憑mcpio ? ? 將RPM包轉(zhuǎn)換為 ?cpio ?格式的命令
cpio ? ? 是一個(gè)標(biāo)準(zhǔn)工具芒帕,他用于創(chuàng)建軟件檔案文件和從檔案文件中提取文件。
[root@localhost ~]# cpio ?選項(xiàng)<[文件|設(shè)備] ? --- <輸入重定向
選項(xiàng): ?-i ? ? copy-in模式丰介,還原
-d ? ? 還原時(shí)自動(dòng)新建目錄
-v ? ? 顯示還原過程
情景:當(dāng)誤操作了包中的某個(gè)文件時(shí)背蟆。查找這個(gè)文件是哪個(gè)包的鉴分,然后從新提取包中的文件,替換即可带膀。
提取包中的某個(gè)文件志珍。例如:
RPM包管理 ?-yum在線管理:都是RPM包管理,沒有yum包垛叨。
最主要的好處:解決依賴性伦糯。
IP地址配置和網(wǎng)絡(luò)yum源
setup配置IP地址:
這樣設(shè)置將永久生效。
網(wǎng)絡(luò)yum源 ?只要是.repo結(jié)尾的都是合法的yum源
本地yum源位置及介紹: 這個(gè)yum源都是配置好的点额,不需要更改舔株。
[root@localhost ~]# ?vi ?/etc/yum.repos.d/CentOS-Base.repo
[base] ? ? 容器名稱,一定要放在[]中
name ? ? 容器說明还棱,可以自己隨便寫
mirrorlist ? ? 鏡像站點(diǎn)载慈,這個(gè)可以注釋掉
baseurl ? ? 我們的yum源服務(wù)器的地址。默認(rèn)是CentOS官方的yum源服務(wù)器珍手,是可以使用的办铡,如果覺得慢可以改成喜歡的yum源地址。
enabled ? ? 此容器是否生效琳要,如果不寫或攜程enable=1 都是生效寡具,寫成enable=0就是不生效
gpgcheck ? ? 如果是1是指RPM的數(shù)字證書生效,如果是0則不生效
gpgkey ? ? 數(shù)字證書的公鑰文件保存位置稚补,不用修改童叠。
yum命令:
查詢:
[root@localhost yum.repos.d]# ?yum ?list
查詢所有可用軟件包列表 ? --- 這個(gè)命令是到遠(yuǎn)程服務(wù)上查詢的。所以在本機(jī)任何位置執(zhí)行都可以课幕,前提是Linux可以鏈接互聯(lián)網(wǎng)厦坛。
[root@localhost yum.repos.d]# ?yum ?search ?關(guān)鍵字
搜索服務(wù)器上所有和關(guān)鍵字相關(guān)的包 ? --- 這里的關(guān)鍵字,是報(bào)名
注意:包名與包全名只在 ?-rpm命令管理時(shí)要求乍惊。
安裝:
[root@localhost yum.repos.d]# ?yum ?-y ?install ?包名
選項(xiàng): ? ? install ? ? 安裝
-y ? ? 自動(dòng)回答yes
備注: yum ?-y ? install ?gcc ?--- gcc是C語言的編輯器杜秸,源碼包安裝的時(shí)候必須要有g(shù)cc的存在,源碼包才可以正常安裝
升級(jí):
[root@localhost yum.repos.d]# yum ?-y ?update ?包名 ?---慎重使用润绎。
如果后面不加 ?包名:則表示:升級(jí)所有的軟件包撬碟,包括Linux的內(nèi)核。
注意:Linux內(nèi)核升級(jí)后需要在本地做一定配置才可以使用的莉撇。如果遠(yuǎn)程執(zhí)行了升級(jí)呢蛤,則服務(wù)器將無法開機(jī)。會(huì)導(dǎo)致崩潰
選項(xiàng): update ? ? 升級(jí)
-y ? ? 自動(dòng)回答yes
卸載:
[root@localhost yum.repos.d]# ?yum ?-y ?remove ?包名
選項(xiàng): ? ? remove ? ? ?卸載
-y ? ? 自動(dòng)回答yes
注意: 當(dāng)使用 ?yum ?卸載的時(shí)候可能出現(xiàn)問題稼钩。原因:因?yàn)閥um卸載的時(shí)候會(huì)把相互依賴的包也會(huì)卸載顾稀,可能會(huì)導(dǎo)致系統(tǒng)依賴的包也會(huì)卸載,從而導(dǎo)致一些問題的發(fā)生坝撑。系統(tǒng)崩潰静秆,或一些重要命令不能使用
服務(wù)器安裝原則聲明:安裝的時(shí)候最小化安裝,不安裝多余軟件巡李,使用什么軟件抚笔,安裝什么軟件,手工裝侨拦,盡量不卸載殊橙。尤其是 yum 卸載,盡量不要多用狱从。
YUM軟件組管理命令:
[root@localhost ~]# ?yum ?grouplist
列出所有可用的軟件組列表
[root@localhost ~]# ?yum ?groupinstall ?軟件組名
安裝指定軟件組膨蛮,組名可以有g(shù)rouplist查詢出來
[root@localhost ~]#yum ?groupremove ?軟件組名
卸載制定軟件組
注意:如果組名稱中有空格,應(yīng)用“”括起來季研。英文在系統(tǒng)中使用命令可以查看
光盤yum源搭建: ?對(duì)服務(wù)器來講:主要考慮:穩(wěn)定敞葛、安全∮胛校可能較老的軟件包更為使用廣泛惹谐。在平常工作中,還是經(jīng)常用光盤作為yum源驼卖。
首先創(chuàng)建掛載點(diǎn): ?mkdri ? /mnt/cdrom
掛載光盤:
[root@localhost ~]# ?mount ?/dev/sr0 ? /mnt/cdrom
查看掛載:
[root@localhost ~]# mount
打開:
[root@localhost ~]# ?vim ?CentOS-Media.repo
好處: 加載快氨肌,訪問方便。沒有網(wǎng)絡(luò)也可以使用酌畜。
缺點(diǎn):軟件的版本不能有更新怎囚,更多的版本。光盤中的是固定的桥胞。
每次用yum時(shí)候恳守,光盤必須正確掛載。
注意:Linux中有些配置文件是嚴(yán)格要求格式的埠戳,比如:#必須在行首井誉,行中間位置是無法識(shí)別注釋的。
如果有修改過后報(bào)錯(cuò)整胃,檢查配置文件格式颗圣。
yum ?list ?| ?more
源碼包和RPM包的區(qū)別:
RPM包安裝位置;絕大多數(shù)RPM包默認(rèn)安裝的位置屁使。
/etc/ ? ? 配置文件安裝目錄
/usr/bin/ ? ? 可執(zhí)行的命令安裝目錄
/usr/lib/ ? ? 程序所使用的函數(shù)庫保存位置
/usr/share/doc/ ? ? 基本的軟件使用手冊(cè)保存位置
/usr/share/man/ ? ? 幫助文件保存位置
源碼包安裝位置:
安裝在指定位置當(dāng)在岂,一般是
/usr/local/軟件名/
安裝位置不同帶來的影響:影響服務(wù):啟動(dòng),關(guān)閉蛮寂,重啟動(dòng)
RPM包安裝的服務(wù)可以使用系統(tǒng)服務(wù)管理命令(service)來管理蔽午,例如RPM包安裝的apache的啟動(dòng)方法是:
/etc/rc.d/init.d/httpd ?start
service ?httpd ?start
在Linux中,要啟動(dòng)一個(gè)執(zhí)行文件酬蹋,應(yīng)該是:使用一個(gè)絕對(duì)路徑及老。
而源碼包安裝的服務(wù)則不能被服務(wù)管理命令管理抽莱,因?yàn)闆]有安裝到默認(rèn)路徑中。所以只能用絕對(duì)路徑進(jìn)行服務(wù)的管理骄恶,例如: /usr/local/apache2/bin/apachectl ?start
源碼包食铐,安裝準(zhǔn)備:
源碼包最大的問題:一旦報(bào)錯(cuò)很難解決
安裝C語言編譯器
下載源碼包:
http://mirror.bit.edu.cn/apache/httpd
備注: yum ?-y ? install ?gcc ?--- gcc是C語言的編輯器,源碼包安裝的時(shí)候必須要有g(shù)cc的存在僧鲁,源碼包才可以正常安裝
安裝注意事項(xiàng):
1虐呻、源代碼保存位置:/usr/local/src/
2、軟件安裝位置:/usr/local/
3寞秃、如何確定安裝過程報(bào)錯(cuò):
a斟叼、安裝過程停止; ?只要停止就看接下來的報(bào)錯(cuò)信息春寿。
b朗涩、并出現(xiàn)error、warning或no的提示
備注:當(dāng)安裝一個(gè)源碼包的時(shí)候堂淡,都是進(jìn)入到在解壓縮后的目錄中進(jìn)行操作的馋缅,其中INSTALL為:安裝說明。README:使用說明绢淀。
源碼包安裝中---./configure 軟件配置與檢查:主要進(jìn)行3個(gè)功能萤悴。
使用命令: ./configure ?--help
1、定義需要的功能選項(xiàng)
2皆的、檢測系統(tǒng)環(huán)境是否符合安裝要求
3覆履、把定義好的功能選項(xiàng)和檢測系統(tǒng)環(huán)境的信息都寫入Makefile 文件,用于后續(xù)的編輯费薄。
其中: make ?編譯
make ?install ? ?編譯安裝
這2個(gè)命令都依賴 ?Makefile ?文件硝全。
執(zhí)行完這個(gè)命令,make ? ?make ? install ?才可以使用楞抡。
注意:在執(zhí)行了 ?./configure ? ?和 ?make ?命令后并沒有在指定的文件中生成對(duì)應(yīng)的目錄伟众。如果想在此時(shí)卸載,執(zhí)行:make ?clean ?就可以實(shí)現(xiàn)清空軟件包召廷,不會(huì)影響后續(xù)編譯凳厢。但是,make ? install之后才會(huì)向目錄當(dāng)中寫入數(shù)據(jù)竞慢。
源碼包卸載:
必須要卸載命令先紫,直接刪除安裝目錄即可,不會(huì)一流任何垃圾文件筹煮。
腳本安裝包:
1遮精、腳本安裝包 ?并不是獨(dú)立的軟件包類型,常見安裝的是源碼包
2败潦、是認(rèn)為把安裝過程攜程了自動(dòng)安裝的腳本本冲,只要執(zhí)行腳本准脂,定義假單的參數(shù),就可以成功安裝眼俊。
3意狠、非常類似與Windows下軟件的安裝方式粟关。
備注:在Linux中腳本安裝包疮胖,主要是一些硬件的驅(qū)動(dòng)。因?yàn)橛布?qū)動(dòng)在Linux中安裝比較困難闷板,所以一些廠商會(huì)對(duì)硬件驅(qū)動(dòng)開發(fā)腳本安裝包澎灸。
Webmin的作用:
Webmin ?是一個(gè)基于Web的Linux系統(tǒng)管理界面≌谕恚可以通過圖形化的方式設(shè)置用戶賬號(hào)性昭、Apache、DNS县遣、文件共享等服務(wù)糜颠。
1、下載軟件:
http://sourceforge.net/projects/webadmin/files/webmin/
2萧求、解壓縮其兴,并進(jìn)入解壓縮目錄。
3夸政、執(zhí)行安裝腳本
其中安裝腳本是:setup.sh
注意:如果在次操作中誤輸入了元旬,需要按 Ctrl+退格鍵。