Linux基礎(chǔ)筆記

在Linux中看與識(shí)別的軟件包

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

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

很簡(jiǎn)單,

2、二進(jìn)制包(RPM包、系統(tǒng)默認(rèn)包)。是經(jīng)過(guò)編譯之后的機(jī)器語(yǔ)言包。

源碼包 ? ? 有點(diǎn):

1、開(kāi)源,如果有足夠的能力,可以修改源代碼

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

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

4、卸載方便。

缺點(diǎn):

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

2、編譯過(guò)程時(shí)間較長(zhǎng),安裝比二進(jìn)制安裝時(shí)間長(zhǎng)。

3、因?yàn)槭蔷幾g安裝,安裝過(guò)程中一但報(bào)錯(cuò)新手很難解決。

RPM包 ?二進(jìn)制包 ? ?有點(diǎn):

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

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

缺點(diǎn):

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

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

3、依賴(lài)性。指:當(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è)包的英文名稱(chēng):如:httpd ? 全名是全稱(chēng)。

2.2.15 ? ? 軟件版本

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

el6.centos ? ? 適合的Linux平臺(tái)

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

rpm ? ? rpm包擴(kuò)展名。這個(gè)rpm擴(kuò)展名是給管理員看,表明是什么文件。

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

RPM包依賴(lài)性:

樹(shù)形依賴(lài): ?a>b>c

最典型。

安裝時(shí)候:先安裝c,再安裝b,再安裝a。卸載的時(shí)候,先卸載 a,再卸載b,再卸載c。

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

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

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

注意: 只要以:.so.2:點(diǎn)so點(diǎn)數(shù)字結(jié)尾的,都是庫(kù)依賴(lài)。這種庫(kù)依賴(lài)包,不是單獨(dú)獨(dú)立的包,是某一個(gè)軟件包中的一個(gè)軟件。所以只要把這個(gè)庫(kù)依賴(lài)包的軟件包安裝后,這個(gè)庫(kù)依賴(lài)就會(huì)自動(dòng)安裝。

RPM包管理-yum在線管理

這個(gè)就是為了解決依賴(lài)性的。

可以做一個(gè)包含所有rpm包的網(wǎng)站作為在線服務(wù)器源。只要運(yùn)行 ?-yum 就會(huì)自動(dòng)從服務(wù)器下載依賴(lài)的庫(kù)等。

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

centos 是免費(fèi)的,yum也是免費(fèi)的。

包全名與包名:

包全名:操作的包是沒(méi)有安裝的軟件包時(shí),使用包全名。而且要注意路徑。

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

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

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

RPM安裝:--可以手工指定安裝位置,但是會(huì)帶來(lái)比較麻煩的問(wèn)題。比如:服務(wù)命令就會(huì)找不到rpm包安裝的功能或服務(wù)。因?yàn)楹芏喾?wù)搜索的位置都是默認(rèn)的,如果這時(shí)候手工指定,未使用默認(rèn),會(huì)帶來(lái)管理上的不方便。

rpm ? -ivh ? 包全名 ?--- 一般都會(huì)使用 -ivh

選項(xiàng): ? ? -i(install) ? ? 安裝

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

-h(hash) ? ? 顯示進(jìn)度

--nodeps ? ? 不檢測(cè)依賴(lài)性(安裝時(shí),是不行的。)可以在實(shí)驗(yàn)的時(shí)候安裝。

RPM包升級(jí)

rpm ?-Uvh ?包全名

選項(xiàng): ?-U (upgrade ) ? ? 升級(jí)。

RPM ?卸載:

rpm ?-e ?包名

選項(xiàng): ?-e(erase) ? ? 卸載

--nodeps ? ? 不檢查依賴(lài)性。

注意: -yum安裝的,都可以通過(guò)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í),即使沒(méi)有安裝也會(huì)查看到這個(gè)包打算把文件裝哪里的。

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

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

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

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


查詢文件屬于哪個(gè)包

查詢軟件包的依賴(lài)性

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

選項(xiàng): ? ? -R ? ? 查詢軟件包的依賴(lài)性(requires)

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


查詢包信息


RPM包校驗(yàn)

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

選項(xiàng):

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

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

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

S ? ? 文件大小是否改變

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

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

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

L ? ? 文件路徑是否改變

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

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

T ? ? 文件的修改時(shí)間是否改變


1

其中的c是文件類(lèi)型:

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

d ? ? 普通文檔(documentation)

g ? ? “鬼”文件(ghost ?file),很少見(jiàn),就是該文件不應(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 ? ? 顯示還原過(guò)程

情景:當(dāng)誤操作了包中的某個(gè)文件時(shí)。查找這個(gè)文件是哪個(gè)包的,然后從新提取包中的文件,替換即可。


2

提取包中的某個(gè)文件。例如:


3

RPM包管理 ?-yum在線管理:都是RPM包管理,沒(méi)有yum包。

最主要的好處:解決依賴(lài)性。

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

setup配置IP地址:


4

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

5

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

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

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

[base] ? ? 容器名稱(chēng),一定要放在[]中

name ? ? 容器說(shuō)明,可以自己隨便寫(xiě)

mirrorlist ? ? 鏡像站點(diǎn),這個(gè)可以注釋掉

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

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

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

gpgkey ? ? 數(shù)字證書(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語(yǔ)言的編輯器,源碼包安裝的時(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ù)器將無(wú)法開(kāi)機(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)問(wèn)題。原因:因?yàn)閥um卸載的時(shí)候會(huì)把相互依賴(lài)的包也會(huì)卸載,可能會(huì)導(dǎo)致系統(tǒng)依賴(lài)的包也會(huì)卸載,從而導(dǎo)致一些問(wèn)題的發(fā)生。系統(tǒng)崩潰,或一些重要命令不能使用

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

YUM軟件組管理命令:

[root@localhost ~]# ?yum ?grouplist

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

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

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

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

卸載制定軟件組

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

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

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

掛載光盤(pán):

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

查看掛載:

[root@localhost ~]# mount


6


7

打開(kāi):

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


8

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

缺點(diǎn):軟件的版本不能有更新,更多的版本。光盤(pán)中的是固定的。

每次用yum時(shí)候,光盤(pán)必須正確掛載。

注意:Linux中有些配置文件是嚴(yán)格要求格式的,比如:#必須在行首,行中間位置是無(wú)法識(shí)別注釋的。

如果有修改過(guò)后報(bào)錯(cuò),檢查配置文件格式。

yum ?list ?| ?more

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

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

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

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

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

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

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

源碼包安裝位置:

安裝在指定位置當(dāng),一般是

/usr/local/軟件名/

安裝位置不同帶來(lái)的影響:影響服務(wù):?jiǎn)?dòng),關(guān)閉,重啟動(dòng)

RPM包安裝的服務(wù)可以使用系統(tǒng)服務(wù)管理命令(service)來(lái)管理,例如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)闆](méi)有安裝到默認(rèn)路徑中。所以只能用絕對(duì)路徑進(jìn)行服務(wù)的管理,例如: /usr/local/apache2/bin/apachectl ?start

源碼包,安裝準(zhǔn)備:

源碼包最大的問(wèn)題:一旦報(bào)錯(cuò)很難解決

安裝C語(yǔ)言編譯器

下載源碼包:

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

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

安裝注意事項(xiàng):

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

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

3、如何確定安裝過(guò)程報(bào)錯(cuò):

a、安裝過(guò)程停止; ?只要停止就看接下來(lái)的報(bào)錯(cuò)信息。

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


9

備注:當(dāng)安裝一個(gè)源碼包的時(shí)候,都是進(jìn)入到在解壓縮后的目錄中進(jìn)行操作的,其中INSTALL為:安裝說(shuō)明。README:使用說(shuō)明。

源碼包安裝中---./configure 軟件配置與檢查:主要進(jìn)行3個(gè)功能。

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

1、定義需要的功能選項(xiàng)

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

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

其中: make ?編譯

make ?install ? ?編譯安裝

這2個(gè)命令都依賴(lài) ?Makefile ?文件。


10

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

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


11

源碼包卸載:

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


12

腳本安裝包:

1、腳本安裝包 ?并不是獨(dú)立的軟件包類(lèi)型,常見(jiàn)安裝的是源碼包

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

3、非常類(lèi)似與Windows下軟件的安裝方式。

備注:在Linux中腳本安裝包,主要是一些硬件的驅(qū)動(dòng)。因?yàn)橛布?qū)動(dòng)在Linux中安裝比較困難,所以一些廠商會(huì)對(duì)硬件驅(qū)動(dòng)開(kāi)發(fā)腳本安裝包。

Webmin的作用:

Webmin ?是一個(gè)基于Web的Linux系統(tǒng)管理界面??梢酝ㄟ^(guò)圖形化的方式設(shè)置用戶賬號(hào)、Apache、DNS、文件共享等服務(wù)。

1、下載軟件:

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

2、解壓縮,并進(jìn)入解壓縮目錄。

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

其中安裝腳本是:setup.sh

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


13
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 各大Linux發(fā)行版軟件包管理參考(http://www.freeoa.net/osuport/botinstal...
    IRONYT閱讀 7,549評(píng)論 0 12
  • http://blog.csdn.net/mathewsking/article/details/8211273 ...
    liuboxx1閱讀 6,235評(píng)論 1 1
  • linux資料總章2.1 1.0寫(xiě)的不好抱歉 但是2.0已經(jīng)改了很多 但是錯(cuò)誤還是無(wú)法避免 以后資料會(huì)慢慢更新 大...
    數(shù)據(jù)革命閱讀 13,203評(píng)論 2 33
  • 幾乎每天早上,你用過(guò)的水池都留著半盆臟水,你用過(guò)的馬桶都沒(méi)有沖。我無(wú)數(shù)次的提醒你:"請(qǐng)你維護(hù)家里的衛(wèi)生。"可...
    盈洋洋閱讀 384評(píng)論 0 0
  • 感恩朋友辛辛苦苦兩天的護(hù)航導(dǎo)航,任勞任怨的給我們送到我們想去的地方,有安全的給我們送回到家門(mén)口,衷心的感謝,祝福他...
    rainlove2011閱讀 296評(píng)論 0 0

友情鏈接更多精彩內(nèi)容