軟件包管理簡介
軟件包分類
1.源碼包亮靴,是開源的,可以直接看到源碼于置,如:腳本安裝包
2.二進制包(RPM包茧吊、系統(tǒng)默認(rèn)包):是源代碼包經(jīng)過編譯的01的文件
可以加快安裝速度,但是不能看到源代碼了
RPM包管理-rpm命令管理
1.RPM包命名規(guī)則
2.RPM包依賴性
樹形依賴:a->b->c 安裝順序:cba 卸載順序:abc
環(huán)形依賴:a->b->c->a 解決辦法:用一條命令把abc三個包都安裝了
模塊依賴:? 模塊依賴查詢網(wǎng)站:www.rpmfind.net
像這種 .so.2八毯,以數(shù)字結(jié)尾的包都是庫依賴包搓侄,不是單獨獨立的包,它是某個軟件包中的文件
rpm是由紅帽公司開發(fā)的軟件包管理方式话速,使用rpm我們可以方便的進行軟件的安裝讶踪、查詢、卸載泊交、升級等工作乳讥。但是rpm軟件包之間的依賴性問題往往會很繁瑣,尤其是軟件由多個rpm包組成時。
yum(全稱為 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE中的Shell前端軟件包管理器廓俭≡剖基於RPM包管理,能夠從指定的服務(wù)器自動下載RPM包并且安裝研乒,可以自動處理依賴性關(guān)系汹忠,并且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載告嘲、安裝错维。
RPM包管理-安裝升級與卸載
1.包全名:操作的包是沒有安裝的軟件包時,使用包全名橄唬。而且要注意路徑(要在Packages目錄下執(zhí)行安裝)赋焕。一般是安裝和升級的時候需要用到。
包都在 /mnt/cdrom/Packages中
2.包名:操作已經(jīng)安裝的軟件包時仰楚,使用包名隆判。
是搜索/var/lib/rpm/中的數(shù)據(jù)庫。如查詢僧界、卸載侨嘀。
注意:包名和包全名是嚴(yán)格區(qū)分的
1.RPM安裝(要在Packages目錄下執(zhí)行)
rpm -ivh 包全名
選項:
-i(install):安裝
-v(verbose):顯示詳細信息
-h(hash):顯示進度
--nodeps:不檢測依賴性(一般不用這個選項)
如:rpm -ivh httpd-
然后按下tab鍵,就可以看到所有以httpd-開頭的安裝包捂襟,一般先安裝主包再安裝副包
注意:按 tab鍵咬腕,就可以列出所有相關(guān)的文件。
2.RPM包升級
rpm -Uvh 包全名
-U(upgrade) 升級
3.卸載(不需要在包路徑下執(zhí)行葬荷,因為它搜索的是后臺數(shù)據(jù)庫涨共,任何位置都能找到)
rpm -e 包名
-e(erase): 卸載
--nodeps:不檢查依賴性(一般不用這個選項)
RPM命令管理-查詢(不一定要在packages路徑)
1.查詢是否安裝
rpm -q 包名
選項:-q(query):查詢,必選
如: rpm -q httpd
查詢httpd-是否有安裝纽帖,如果安裝就會出現(xiàn)安裝的版本信息
-a (all): 所有
如:rpm -qa
查詢所有已經(jīng)安裝的rpm包
如:rpm -qa | grep httpd
列出所有和httpd相關(guān)的包
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.查詢文件系統(tǒng)屬于哪個RPM包(要在系統(tǒng)文件所在目錄下)
rpm -qf 系統(tǒng)文件名
選項:-f (file):查詢系統(tǒng)文件屬于哪個軟件包
如:rpm -qf? var/www/icons/up.gif
結(jié)果就會告訴我們這個系統(tǒng)文件包是httpd安裝的
rpm -qf? yum.conf
(要在 /etc目錄下懊直,輸入上面的命令)
5.查詢軟件包的依賴性
rpm -qR 包名
選項:-R:查詢軟件包的依賴性(requires)
-p: 查詢未安裝包信息(后面跟的是包全名)(package)
如:rpm -qR httpd
查詢httpd包的依賴性
rpm -qRp zip(之后按tab鍵進行補齊全名,注意路徑)
注:注意路徑 是指要在對應(yīng)的包的目錄下,再進行查詢
RPM命令管理-校驗和文件提取
1.RPM包校驗
[root@localhost~]#rpm -V 已安裝的包名
選項:-V(大寫)校驗指定RPM包中的文件( verify)
如:rpm -V httpd
如果沒有提示信息火鼻,說明安裝的httpd包就是我們初始安裝的室囊,沒有做過任何修改
如提示信息如下:驗證的內(nèi)容? ? ? ? 文件類型? ? ? ? 修改的文件名
S.5....T. c /etc/httpd/conf/httpd.conf
如果有提示,一般是8個字符魁索,表示信息如下:
如果沒有改變就用 “.”表示
驗證內(nèi)容中的8個信息的具體內(nèi)容如下:
◆S 文件大小是否改變
◆M 文件的類型或文件的權(quán)限(rwx)是否被改變
◆5 文件MD5校驗和是否改變(可以看成文件內(nèi)容是否改變)
◆D 設(shè)備的中融撞,從代碼是否改變
◆L 文件路徑是否改變
◆U 文件的屬主(所有者)是否改變
◆G 文件的屬組是否改變
◆T 文件的修改時間是否改變
文件類型
◆c配置文件( config file)
◆d普通文檔( documentation)
◆g "鬼”文件( ghost file),很少見蛾默,就是該文件不應(yīng)該被這個RPM包包含
◆l 授權(quán)文件( license file)
◆r 描述文件( read me)
2.RPM包中文件提扰称獭(一般多用于恢復(fù)被修改、破壞的系統(tǒng)文件)
[root@localhost~]#rpm2cpio 包全名 | \
cpio -idv . 文件絕對路徑
這條命令表示:要把安全包rpm轉(zhuǎn)換為cpio支鸡,然后再從cpio中提取所要的文件〕们裕“\”這個符號表示命令太長牧挣,要換行⌒崖剑“.”表示把指定的文件提取到當(dāng)前路徑瀑构,當(dāng)前路徑一般是當(dāng)前要工作的目錄
如:rpm2cpio
#將rpm包轉(zhuǎn)換為pio格式的命令
cpio
#是一個標(biāo)準(zhǔn)工具,它用于創(chuàng)建軟件檔案文件和從檔案文件中提取文件
如: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包中l(wèi)s命令到當(dāng)前目錄的/bin/ls下
5.cp /root/bin/ls /bin/ :把ls命令復(fù)制回/bin/目錄刨摩,修復(fù)文件丟失
注意:dir 可以查看當(dāng)前路徑下的目錄
RPM包管理-yum在線管理
yum在線管理-IP地址配置和網(wǎng)絡(luò)yum源
1.IP地址配置(可永久生效)
1)setup #使用setup工具
setup:配置網(wǎng)絡(luò),只有root用戶可以使用寺晌,永久生效
用法:setup
選擇 網(wǎng)絡(luò)配置,然后回車澡刹,-> 設(shè)備配置(回車)->
在DHCP中輸入 * 是自動獲取IP地址呻征,如果沒有 DHCP SERVER就不要寫這個,因為無法自動獲取
自己手動輸入IP地址罢浇,子網(wǎng)掩碼陆赋,網(wǎng)關(guān)
然后保存并退出,最后別忘了用命令:service network resatrt
重啟網(wǎng)絡(luò)服務(wù)
注意:setup命令是紅帽系列專有的
2)vi /etc/sysconfig/network-scripts/ifcfg-eth0 #啟動網(wǎng)卡嚷闭。如果有多個網(wǎng)卡攒岛,后面跟的就是eth1,eth2等
3)service network restart #重啟網(wǎng)絡(luò)服務(wù)
2.網(wǎng)絡(luò)yum源
root[@localhost yum.repos.d]# vi/etc/yum.repos.d/ CentoS-Base.repo
注意:后綴是 .repo都是合法的yum源
◆[base] 容器名稱,一定要放在[]中
◆name 容器說明胞锰,可以自己隨便寫
◆ mirrorlist 鏡像站點灾锯,這個可以注釋掉
◆ baseurl 我們的yum源服務(wù)器的地址。默認(rèn)是 Centos官方的yum源服務(wù)器嗅榕,是可以使用的顺饮,如果你覺得慢可以改成你喜歡的yum源地址
◆ enabled 此容器是否生效吵聪,如果不寫或?qū)懗?enable=1都是生效,寫成enable=0就是不生效
◆ gpgcheck 如果是1是指RPM的數(shù)字證書生效领突,如果是0則不生效
◆ gpgkey 數(shù)字證書的公鑰文件保存位置暖璧。不用修改
yum在線管理-yum命令(全部使用包名)
1)查詢:yum list
#查詢所有可用軟件包列表
yum search 關(guān)鍵字
#搜索服務(wù)器上所有和關(guān)鍵字相關(guān)的包
如:yum search httpd
搜索所有和httpd相關(guān)的包,以及安裝httpd所需要的的包
2)安裝
yum -y install 包名
選項:-y? 自動回答yes
install 安裝
如:yum -y install httpd
安裝httpd包
yum -y install gcc
安裝gcc君旦,是C語言編譯器澎办。之后可用(rpm -q gcc)命令查詢相關(guān)信息
3)升級
yum -y update 包名
選項:-y? 自動回答yes
update 升級
如:yum -y update httpd
表示升級httpd包
4)卸載
yum -y remove 包名
選項:-y? 自動回答yes
remove 卸載
如:yum -y remove httpd
注意:在安裝軟件,需要多少安裝多少金砍,采用最少安裝局蚀。盡量不要卸載,尤其是使用yum下載時要注意恕稠。因為軟件包之間存在依賴性琅绅,卸載這個包,可能會導(dǎo)致系統(tǒng)其它軟件包也被卸載了鹅巍,不能使用千扶。要安裝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源妆绞,默認(rèn)是CentOS-Base.repo 生效。其他三個人別是: CentOS-Debuginfo.repo,CentOS-Vault.repo,CentOS-Media.repo(這個代表光盤yum)
1)掛載光盤
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom/
2)讓網(wǎng)絡(luò)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包的區(qū)別
1括饶、區(qū)別
◆安裝之前的區(qū)別:概念上的區(qū)別
◆安裝之后的區(qū)別:安裝位置不同
2、RPM包安裝位置
◆是安裝在默認(rèn)位置中
RPM包默認(rèn)安裝路徑如下:
/etc/ 配置文件安裝目錄
/usr/bin/? 可執(zhí)行的命令安裝且錄
/usr/lib/? 程序所使用的函數(shù)庫保存位置
/usr/share/doc 基本的軟件使用手冊保存位置
/usr/share/man/ 幫助文件保存位置
3来涨、源碼包安裝位置
■安裝在指定位置當(dāng)中图焰,一般是/usr/local/軟件名/
4、安裝位置不同帶來的影響
◆RPM包安裝的服務(wù)可以使用系統(tǒng)服務(wù)管理命令( service)來管理扫夜,例如RPM包安裝的 apache的啟動方法是:
/etc/rc.d/init.d/httpd start
通過絕對路徑加上軟件名來啟動楞泼。(cd /etc/rc.d/init.d/ 可以看到rpm包的執(zhí)行文件)
或者 service httpd start(紅帽專有,service可以找到絕對路徑)
cd /var/www/html 在這個目錄下可以看到httpd下的網(wǎng)頁
寫一個網(wǎng)頁:vi index.html
在網(wǎng)頁中輸入192.168.1.17,就能看到網(wǎng)頁信息(要記得關(guān)掉防火墻:service iptables stop)
◆而源碼包安裝的服務(wù)則不能被服務(wù)管理命令管理笤闯,因為沒有安裝到默認(rèn)路徑中堕阔。所以只能用絕對路徑進行服務(wù)的管理,如/usr/local/apache2/bin/apachectl start
源碼包管理-源碼包的安裝過程
1颗味、安裝準(zhǔn)備
◆安裝C語言編譯器
◆下載源碼包http://mirror.bit.edu.cn/apache/httpd
2超陆、安裝注意事項
◆源代碼保存位置:usr/local/src
(系統(tǒng)已經(jīng)給我們準(zhǔn)備了安裝源碼包的位置,其中usr是linux系統(tǒng)資源目錄,local是本地的意思时呀,src是源代碼的位置)
◆軟件安裝位置:/usr/local
◆如何確定安裝過程報錯:
? 安裝過程停止
? 并出現(xiàn)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 軟件配置與檢查(執(zhí)行完會產(chǎn)生Makefile)
定義需要的功能選項
命令: ./configure --prefix=/usr/local/apache2
檢測系統(tǒng)環(huán)境是否符合安裝要求
把定義好的功能選項和檢測系統(tǒng)環(huán)境的信息都寫入 Makefile文件谨娜,用于后續(xù)的編輯航攒。
5.make? #編譯(把源碼包翻譯為機器語言)
make clean #清空編譯產(chǎn)生的臨時文件,沒有報錯不要執(zhí)行
make install? #編譯安裝趴梢,才會向目錄真正寫入文件
6.由yum安裝的httpd漠畜,啟用的httpd占用的端口也是80,所以要先停掉
service httpd stop
7.安裝完成后坞靶,進行啟動
命令:/usr/local/apache2/bin/apachectl start
8.在網(wǎng)頁中輸入 192.168.1.17
就可以發(fā)現(xiàn)首頁是啟動的是源碼包的apache
9.源碼包的卸載(一個服務(wù)器中憔狞,只能有一個httpd)
◆不需要卸載命令,直接刪除安裝目錄即可彰阴。
不會遺留任何垃圾文件
如:rm -rf /usr/local/apache2/
注意:1.通過 ./configure --help 可以看到其支持的編譯功能選項
2.通過 more INSTALL 可以看安裝的過程
3.httpd如果是2.4以上的版本瘾敢,要先安裝ARP
步驟如下:都是在根目錄下執(zhí)行,也就是要先 cd /root下尿这。
[root@localhost ~]#這個狀態(tài)下
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、腳本安裝包
◆腳本安裝包并不是獨立的軟件包類型射众,常見安裝的是源碼包正压。
◆是人為把安裝過程寫成了自動安裝的腳本,只要執(zhí)行腳本责球,定義簡單的參數(shù),就可以完成安裝拓劝。
◆非常類似于 Windows下軟件的安裝方式雏逾。
2、 Webmin的作用
◆ Webmin是一個基于Web的 Linux系統(tǒng)管理界面郑临。您就可以通過圖形化的方式設(shè)置用戶帳號栖博、 Apache、DNS厢洞、文件共享等服務(wù)
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
◆執(zhí)行安裝腳本
./setup.sh
以回車作為默認(rèn)
最后可以修改用戶名和密碼躺翻。這里設(shè)置用戶名:admin 密碼:123456
使用的是本機的10000端口號
◆在網(wǎng)頁中:192.168.1.17:10000即可丧叽,然后輸入用戶名和密碼