Linux基礎(chǔ)筆記

在Linux中看與識別的軟件包

1、源碼包 ? 大部分是C寫的。需要手工安裝,并且繁瑣。比較滿。

1-1、腳本安裝包。不多見,并且這種包是源碼包二次開發(fā)后的安裝包。 不需要手工安裝。

很簡單,

2、二進制包(RPM包、系統(tǒng)默認包)。是經(jīng)過編譯之后的機器語言包。

源碼包 ? ? 有點:

1、開源,如果有足夠的能力,可以修改源代碼

2、可以自由選擇所需要的功能

3、軟件是便宜安裝,所以更家適合自己的系統(tǒng),更加穩(wěn)定也效率更高。

4、卸載方便。

缺點:

1、安裝過程步驟較多,尤其安裝較大的軟件集合時(如 LAMP環(huán)境搭建),容易出現(xiàn)拼寫錯誤

2、編譯過程時間較長,安裝比二進制安裝時間長。

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

RPM包 ?二進制包 ? ?有點:

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

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

缺點:

1、經(jīng)過編譯,不在可以看到源代碼。

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

3、依賴性。指:當安裝a時候,需要有b的支持,當安裝b時,需要有c的支持。卸載的時候需要先卸載c然后卸載b,再卸載a。

RPM包管理 ?-rpm命令管理

RPM包命令規(guī)則

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

httpd ? ? 軟件包名 ? 包名指:這個包的英文名稱:如:httpd ? 全名是全稱。

2.2.15 ? ? 軟件版本

15 ? ? 軟件發(fā)布的次數(shù)

el6.centos ? ? 適合的Linux平臺

i686 ? ? 適合的硬件平臺 ?如果此處是x64則表示:只可以安裝在64位操作系統(tǒng)上。

rpm ? ? rpm包擴展名。這個rpm擴展名是給管理員看,表明是什么文件。

注意:有些命令只能跟包名,有些命令必須跟包全名。如果寫錯了,這個命令將不能正確執(zhí)行。

RPM包依賴性:

樹形依賴: ?a>b>c

最典型。

安裝時候:先安裝c,再安裝b,再安裝a。卸載的時候,先卸載 a,再卸載b,再卸載c。

環(huán)形依賴:a>b>c>a

這時候:將abc用一條命令全部安裝即可解決環(huán)形依賴。

模塊依賴: 模塊以來查詢網(wǎng)站:www.rpmfind.net

注意: 只要以:.so.2:點so點數(shù)字結(jié)尾的,都是庫依賴。這種庫依賴包,不是單獨獨立的包,是某一個軟件包中的一個軟件。所以只要把這個庫依賴包的軟件包安裝后,這個庫依賴就會自動安裝。

RPM包管理-yum在線管理

這個就是為了解決依賴性的。

可以做一個包含所有rpm包的網(wǎng)站作為在線服務(wù)器源。只要運行 ?-yum 就會自動從服務(wù)器下載依賴的庫等。

有個問題:除了拿網(wǎng)絡(luò)作為服務(wù)器源外,還可以拿本地光盤作為 yum源。如果是readHead系列收費,他認為yum是他的售后服務(wù) 。

centos 是免費的,yum也是免費的

包全名與包名:

包全名:操作的包是沒有安裝的軟件包時,使用包全名。而且要注意路徑。

一般:安裝和升級的時候,使用包全名。操作的是未安裝包,所以使用全名。

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

/var/lib/rpm/ ?都是二進制文件。如:查詢、卸載。所以只寫包名即可。

RPM安裝:--可以手工指定安裝位置,但是會帶來比較麻煩的問題。比如:服務(wù)命令就會找不到rpm包安裝的功能或服務(wù)。因為很多服務(wù)搜索的位置都是默認的,如果這時候手工指定,未使用默認,會帶來管理上的不方便。

rpm ? -ivh ? 包全名 ?--- 一般都會使用 -ivh

選項: ? ? -i(install) ? ? 安裝

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

-h(hash) ? ? 顯示進度

--nodeps ? ? 不檢測依賴性(安裝時,是不行的。)可以在實驗的時候安裝。

RPM包升級

rpm ?-Uvh ?包全名

選項: ?-U (upgrade ) ? ? 升級。

RPM ?卸載:

rpm ?-e ?包名

選項: ?-e(erase) ? ? 卸載

--nodeps ? ? 不檢查依賴性。

注意: -yum安裝的,都可以通過rpm的命令查詢。

查詢是否安裝:

[root@localhost ~]# rpm ?-q ?包名

查詢包是否安裝

選項: ? ? -q ? ? 查詢(query)

[root@localhost ~]# rpm ?-qa

查詢所有已經(jīng)安裝的RPM包

選項: ? ? -a ? ? 所有(all)

查詢軟件包詳細信息:

[root@localhost ~]# rpm ?-qi ?包名

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

-p ? ? 查詢未安裝包信息(package)

查詢未安裝包信息:rpm ?-qip ?包全名 ? --- 用到的不多。

注意:安裝、升級,后跟包全名。

查詢包中文 文件安裝位置:

[root@localhost ~]# rpm ?-ql ?包名

選項: ?-l ? ? 列表(list)

-p ? ? 查詢未安裝包信息(package)

注意:包中的安裝位置是在組件這個包的時候就決定的。 如果查詢安裝位置時,即使沒有安裝也會查看到這個包打算把文件裝哪里的。

查詢系統(tǒng)文件屬于哪個RPM包

[root@localhost ~]# rpm ?-qf ?系統(tǒng)文件名

選項: ? ? -f ? ? 查詢系統(tǒng)文件屬于哪個軟件包(File)

注意:這個file必須是包出來的,不是手工創(chuàng)建的。比如:手工創(chuàng)建的,或系統(tǒng)自動生成的一些臨時文件,日志文件,這些都不是包出來的,所以無法查詢所在哪個RPM包。


查詢文件屬于哪個包

查詢軟件包的依賴性

[root@localhost ~]# rpm ? -qR ?包名

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

-p ? ? 查詢未安裝包信息(package)


查詢包信息


RPM包校驗

[root@localhost ~]# ?rpm ? -V ? 已經(jīng)安裝的包名

選項:

-V ? ? 校驗制定RPM包中的文件(verify)

校驗:裝完RPM包把特征記錄下來 ,需要的時候,把現(xiàn)在的文件與先前記錄的文件進行比較,判斷是否有變化,而做了修改。 ?判斷文件是否被更改過。

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

S ? ? 文件大小是否改變

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

5 ? ? 文件MD5校驗和是否改變(可以看成文件內(nèi)容是否改變)

D ? ? 設(shè)備的中,從代碼是否改變

L ? ? 文件路徑是否改變

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

G ? ? 文件的屬組是否改變

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


1

其中的c是文件類型:

c ? ? 配置文件(config ?file)

d ? ? 普通文檔(documentation)

g ? ? “鬼”文件(ghost ?file),很少見,就是該文件不應(yīng)該被這個RPM包 ? 包含

如果在某個包中出現(xiàn)了,則這個文件需要認真對待一下了。

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

r ? ? ?描述文件(read ? me)

RPM包中 ?文件提取: ?制定的文件---主要是誤操作,修復。

[root@localhost ~]# ?rpm2cpio ?包全名 ?| ?\ ?cpio ?-idv.文件絕對路徑

任憑mcpio ? ? 將RPM包轉(zhuǎn)換為 ?cpio ?格式的命令

cpio ? ? 是一個標準工具,他用于創(chuàng)建軟件檔案文件和從檔案文件中提取文件。

[root@localhost ~]# cpio ?選項<[文件|設(shè)備] ? --- <輸入重定向

選項: ?-i ? ? copy-in模式,還原

-d ? ? 還原時自動新建目錄

-v ? ? 顯示還原過程

情景:當誤操作了包中的某個文件時。查找這個文件是哪個包的,然后從新提取包中的文件,替換即可。


2

提取包中的某個文件。例如:


3

RPM包管理 ?-yum在線管理:都是RPM包管理,沒有yum包。

最主要的好處:解決依賴性。

IP地址配置和網(wǎng)絡(luò)yum源

setup配置IP地址:


4

這樣設(shè)置將永久生效。

5

網(wǎng)絡(luò)yum源 ?只要是.repo結(jié)尾的都是合法的yum源

本地yum源位置及介紹: 這個yum源都是配置好的,不需要更改。

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

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

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

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

baseurl ? ? 我們的yum源服務(wù)器的地址。默認是CentOS官方的yum源服務(wù)器,是可以使用的,如果覺得慢可以改成喜歡的yum源地址。

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

gpgcheck ? ? 如果是1是指RPM的數(shù)字證書生效,如果是0則不生效

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

yum命令:

查詢:

[root@localhost yum.repos.d]# ?yum ?list

查詢所有可用軟件包列表 ? --- 這個命令是到遠程服務(wù)上查詢的。所以在本機任何位置執(zhí)行都可以,前提是Linux可以鏈接互聯(lián)網(wǎng)。

[root@localhost yum.repos.d]# ?yum ?search ?關(guān)鍵字

搜索服務(wù)器上所有和關(guān)鍵字相關(guān)的包 ? --- 這里的關(guān)鍵字,是報名

注意:包名與包全名只在 ?-rpm命令管理時要求。

安裝:

[root@localhost yum.repos.d]# ?yum ?-y ?install ?包名

選項: ? ? install ? ? 安裝

-y ? ? 自動回答yes

備注: yum ?-y ? install ?gcc ?--- gcc是C語言的編輯器,源碼包安裝的時候必須要有g(shù)cc的存在,源碼包才可以正常安裝

升級:

[root@localhost yum.repos.d]# yum ?-y ?update ?包名 ?---慎重使用。

如果后面不加 ?包名:則表示:升級所有的軟件包,包括Linux的內(nèi)核。

注意:Linux內(nèi)核升級后需要在本地做一定配置才可以使用的。如果遠程執(zhí)行了升級,則服務(wù)器將無法開機。會導致崩潰

選項: update ? ? 升級

-y ? ? 自動回答yes

卸載:

[root@localhost yum.repos.d]# ?yum ?-y ?remove ?包名

選項: ? ? remove ? ? ?卸載

-y ? ? 自動回答yes

注意: 當使用 ?yum ?卸載的時候可能出現(xiàn)問題。原因:因為yum卸載的時候會把相互依賴的包也會卸載,可能會導致系統(tǒng)依賴的包也會卸載,從而導致一些問題的發(fā)生。系統(tǒng)崩潰,或一些重要命令不能使用

服務(wù)器安裝原則聲明:安裝的時候最小化安裝,不安裝多余軟件,使用什么軟件,安裝什么軟件,手工裝,盡量不卸載。尤其是 yum 卸載,盡量不要多用。

YUM軟件組管理命令:

[root@localhost ~]# ?yum ?grouplist

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

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

安裝指定軟件組,組名可以有g(shù)rouplist查詢出來

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

卸載制定軟件組

注意:如果組名稱中有空格,應(yīng)用“”括起來。英文在系統(tǒng)中使用命令可以查看

光盤yum源搭建: ?對服務(wù)器來講:主要考慮:穩(wěn)定、安全。可能較老的軟件包更為使用廣泛。在平常工作中,還是經(jīng)常用光盤作為yum源。

首先創(chuàng)建掛載點: ?mkdri ? /mnt/cdrom

掛載光盤:

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

查看掛載:

[root@localhost ~]# mount


6


7

打開:

[root@localhost ~]# ?vim ?CentOS-Media.repo


8

好處: 加載快,訪問方便。沒有網(wǎng)絡(luò)也可以使用。

缺點:軟件的版本不能有更新,更多的版本。光盤中的是固定的。

每次用yum時候,光盤必須正確掛載。

注意:Linux中有些配置文件是嚴格要求格式的,比如:#必須在行首,行中間位置是無法識別注釋的。

如果有修改過后報錯,檢查配置文件格式。

yum ?list ?| ?more

源碼包和RPM包的區(qū)別:

RPM包安裝位置;絕大多數(shù)RPM包默認安裝的位置。

/etc/ ? ? 配置文件安裝目錄

/usr/bin/ ? ? 可執(zhí)行的命令安裝目錄

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

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

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

源碼包安裝位置:

安裝在指定位置當,一般是

/usr/local/軟件名/

安裝位置不同帶來的影響:影響服務(wù):啟動,關(guān)閉,重啟動

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

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

service ?httpd ?start

在Linux中,要啟動一個執(zhí)行文件,應(yīng)該是:使用一個絕對路徑。

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

源碼包,安裝準備:

源碼包最大的問題:一旦報錯很難解決

安裝C語言編譯器

下載源碼包:

http://mirror.bit.edu.cn/apache/httpd

備注: yum ?-y ? install ?gcc ?--- gcc是C語言的編輯器,源碼包安裝的時候必須要有g(shù)cc的存在,源碼包才可以正常安裝

安裝注意事項:

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

2、軟件安裝位置:/usr/local/

3、如何確定安裝過程報錯:

a、安裝過程停止; ?只要停止就看接下來的報錯信息。

b、并出現(xiàn)error、warning或no的提示


9

備注:當安裝一個源碼包的時候,都是進入到在解壓縮后的目錄中進行操作的,其中INSTALL為:安裝說明。README:使用說明。

源碼包安裝中---./configure 軟件配置與檢查:主要進行3個功能。

使用命令: ./configure ?--help

1、定義需要的功能選項

2、檢測系統(tǒng)環(huán)境是否符合安裝要求

3、把定義好的功能選項和檢測系統(tǒng)環(huán)境的信息都寫入Makefile 文件,用于后續(xù)的編輯。

其中: make ?編譯

make ?install ? ?編譯安裝

這2個命令都依賴 ?Makefile ?文件。


10

執(zhí)行完這個命令,make ? ?make ? install ?才可以使用。

注意:在執(zhí)行了 ?./configure ? ?和 ?make ?命令后并沒有在指定的文件中生成對應(yīng)的目錄。如果想在此時卸載,執(zhí)行:make ?clean ?就可以實現(xiàn)清空軟件包,不會影響后續(xù)編譯。但是,make ? install之后才會向目錄當中寫入數(shù)據(jù)。


11

源碼包卸載:

必須要卸載命令,直接刪除安裝目錄即可,不會一流任何垃圾文件。


12

腳本安裝包:

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

2、是認為把安裝過程攜程了自動安裝的腳本,只要執(zhí)行腳本,定義假單的參數(shù),就可以成功安裝。

3、非常類似與Windows下軟件的安裝方式。

備注:在Linux中腳本安裝包,主要是一些硬件的驅(qū)動。因為硬件驅(qū)動在Linux中安裝比較困難,所以一些廠商會對硬件驅(qū)動開發(fā)腳本安裝包。

Webmin的作用:

Webmin ?是一個基于Web的Linux系統(tǒng)管理界面。可以通過圖形化的方式設(shè)置用戶賬號、Apache、DNS、文件共享等服務(wù)。

1、下載軟件:

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

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

3、執(zhí)行安裝腳本

其中安裝腳本是:setup.sh

注意:如果在次操作中誤輸入了,需要按 Ctrl+退格鍵。


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

推薦閱讀更多精彩內(nèi)容