標籤:linux營運
Linux營運第二階段(三)軟體安裝
1、分類:源碼包、二進位包
源碼包:優(開源,有能力可修改原始碼;可自由選擇所需功能;編譯安裝,更適合自己的系統,穩定且高效;卸載方便);缺(安裝步驟多,尤其較大軟體集合,如LAMP環境搭建,容易出現拼字錯誤;編譯安裝時間長;安裝過程一旦報錯,新手很難解決)。
二進位包:優(包管理簡單,只通過幾個命令就可實現安裝、升級、查詢、卸載;安裝進度比源碼包快的多);缺(經過編譯,不再可看到原始碼;功能選擇不如源碼包靈活;依賴性很繁瑣)。
依賴性:樹形依賴(a->b->c);環形依賴(a->b->c->a);模組依賴(www.rpmfind.net)
2、rpm安裝
》httpd-2.2.15-15.el16.centos.1.i686.rpm
2.2.15軟體版本;-15軟體發布的次數;el16軟體發行商,RHEL6.x
》預設安裝位置:
/etc;/usr/bin;/usr/lib;/usr/share/doc;/usr/share/man
》#rpm -ivh 包全名 (install\verbose\hash)
--nodeps 不檢測依賴性
--replacefiles 替換檔案安裝
--replacepkgs 替換軟體包安裝
--force 強制安裝,相當於以上兩項的結合
--test 測試安裝,不會實際安裝
--prefix 指定安裝目錄
》#rpm -Uvh 包全名 upgrade舊版升到新版,無舊版也安裝
#rpm -Fvh 包全名 freshen舊版才能升級,無舊版不安裝
#rpm -e 包名 卸載
#rpm -q 包名 query查詢(例:#rpm –qa|grep httpd)
#rpm -qi 包名 information查詢包的資訊
#rpm -qip 包全名 package查詢未安裝包資訊
#rpm -ql 包名 list查詢包中檔案的安裝位置
#rpm -qf 系統檔案名稱 file查詢系統檔案屬於哪個包
#rpm -qR 包名 recursion依賴性
#rpm -qRp 包全名 查詢未安裝包依賴性
》#yum -y install 包名
#yum -y remove 包名
#yum -y update 包名
#yum list 查詢服務器中可以安裝的包
#yum list 包名 查詢服務器是否有此包
#yum search 關鍵字 搜尋伺服器上和關鍵字相關的包
#yum info 包名 查詢指定軟體包的資訊
#yum grouplist 查詢可以安裝的軟體組
#yum groupinfo “軟體組名” 查詢軟體組內包含的軟體
#yum groupinstall “軟體組名” 安裝軟體組
#yum groupremove “軟體組名” 卸載軟體組
》搭建光碟片 yum源
#mv CentOS-Base.repo CentOS-Base.repo.bak
#vi /etc/yum.repos.d/CentOS-Media.repo
baseurl=file:///mnt/cdrom/ 指定yum源位置
enabled=1 yum源檔案生效
gpgcheck=0 rpm驗證不生效
》#rpm -V 包名 verify校正指定包中檔案
#rpm -Vf 系統檔案名稱 校正系統檔案是否被修改
數位憑證(對即將要安裝的包驗證)
特點:安裝原廠的公開金鑰檔案;安裝rpm包時,提取rpm包中的認證資訊與本機安裝的原廠認證進行比對;驗證通過,安裝,否則不允許安裝並警告。
位置:/mnt/cdrom/RPM-GPG-KEY-CentOS-6 光碟片中
/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 系統中
#rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
3、》#cpio -ovcB > 檔案|裝置
備份模式o(out),v(verbose),c(portable format儲存方式),B(輸出塊為5120byte,而不是模式的512byte)
#cpio -ivcdu < 檔案|裝置
還原模式i(in),d(還原時自動建立目錄),u(使用較新的檔案覆蓋較舊的檔案)
#cpio -p 目標目錄
例:#find . –print | cpio -ovcB > /root/etc.cpio
#cpio -ivcdu < /root/etc.cpio
註:CentOS6.x中,如果備份時寫絕對路徑,則恢複時直接到絕對路徑,最好使用相對路徑。
例:#find /boot -print | cpio -p /tmp/test/
提取rpm包中檔案:
#rpm -qf /bin/ls
#rpm2cpio /mnt/cdrom/Packages/core….. | cpio -idv ./bin/ls
#cp /root/bin/ls /bin/
注意:./bin/ls 提取ls到目前的目錄下
4、》源碼包安裝:解壓;cd 解壓目錄;查看安裝文檔(install和readme);編譯前準備(./configure --prefix=/usr/local/apache2/);編譯make;編譯安裝make install
啟動:#/usr/local/apache2/bin/apachect1 start
卸載:直接刪除安裝目錄
》源碼包打入補丁:
#patch -pn 要打補丁的檔案 < 補丁檔案
註:n為數字,按照補丁檔案的路徑,指定更新位置
5、》指令碼安裝程式:sebmin的安裝
# ./setup.sh (安裝位置、日誌位置、perl安裝位置、連接埠、密碼、ssl不啟用、啟動)
6、》函數庫的管理,分類:靜態函數庫、動態函數庫
靜態函數庫:*.a,程式調用時被直接整合到程式中;優(程式執行時不需要調用外部資料,可直接執行);缺(檔案較大,升級困難,需把整個程式重新編譯)
動態函數庫:*.so,程式用到時再去調用函數庫。
#ldd /bin/ls (查詢ls調用的函數庫)
#ldd -v 可執行檔名 (詳細顯示版本資訊)
註:軟體正常安裝不需調整函數庫,若未安裝正確手工安裝:1把函數庫放入指定位置/usr/lib或/lib;2把函數庫所在位置寫入/etc/ld.so.conf
#cp *.so /usr/lib
#vi /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/lib
#ldconfig 把函數庫讀入緩衝
#ldconfig -p 列出系統緩衝中所有識別的函數庫
來自兄弟連培訓
Linux營運 第二階段 (三)軟體安裝