您好,登錄后才能下訂單哦!
軟件包在系統(tǒng)管理中,軟件包的管理是最重要的,是系統(tǒng)管理的基礎(chǔ)的基礎(chǔ);只有我們學(xué)會(huì)軟件包的管理才能談得上其它的應(yīng)用;本文以目錄式的文檔格式,列出新手弟兄所面對(duì)的軟件包的安裝、更新、查詢相對(duì)的文檔,以及幾個(gè)常用的軟件包管理工具。
軟件包管理:
一,RPM包管理;
二,yum包管理;
一,RPM包管理:
centos系統(tǒng)上RPM命令管理程序包:
安裝,升級(jí),卸載,查詢,校驗(yàn),數(shù)據(jù)庫(kù)維護(hù)
RPM命令:rpm [OPTIONS] [PACKAGE_FILE]
安裝:-i ,--install
升級(jí):-U,--update, -F,--freshen
卸載: -e,--erase
查詢: -q,--query
校驗(yàn): -v,--verify
數(shù)據(jù)庫(kù)維護(hù):--builddb,--initdb
(1)安轉(zhuǎn):
rpm{-i | --install}[install-options] PACKAGE_FILE ...
GENERAL OPTIONS:
-v: verbose,詳細(xì)信息
-vv:更詳細(xì)的輸出
[install-options]
-h:hash marks輸出進(jìn)度條;每個(gè)#表示2%的進(jìn)度;
--test:測(cè)試安轉(zhuǎn),檢查并報(bào)告依賴關(guān)系及沖突消息等;
--nodeps:忽略依賴關(guān)系,不建議使用;
--replacepkgs:重新安裝
--nosignature:不檢查包簽名信息,不檢查來源合法性;
--nodigest:不檢查包完整性信息;
--noscripts:
preinstall: 安轉(zhuǎn)過程開始之前運(yùn)行的腳本,%pre,--nopre
postinstall:安裝過程完成之后運(yùn)行腳本,%post,--nopost
preunintall:卸載過程真正開始執(zhí)行之前運(yùn)行的腳本,%preun,--nopreun
postuninstall:卸載過程完成之后運(yùn)行的腳本,%postun,--nopostun
注意:rpm可以自帶腳本;
(2)升級(jí):
rpm {-U | --upgrade} [install-options] PACKAGE_FILE ....
rpm {-F | --freshen} [install-options] PACKAGE_FILE ....
-U:升級(jí)或安裝;
-F:升級(jí)
rpm -Uvh PACKAGE_FILE ....
rpm -Fvh PACKAGE_FILE ....
--oldpackage:降級(jí);
--force:強(qiáng)制升級(jí);
注意:1,不要對(duì)內(nèi)核做升級(jí)操作;Linux支持多內(nèi)核版本并存,因此,直接安轉(zhuǎn)新版本內(nèi)核;
2,如果某原程序包的配置文件安裝后曾被修改過,升級(jí)時(shí),新版本的程序提供的同一個(gè)配置文件不會(huì)覆蓋原有版本的配置文件,而是把新版本的配置文件重命名(FILENAME.rpmnew) 后保留;
(3)卸載:
rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts] [--notriggers] [--test] PACKAGE_NAME ..
--allmatches:卸載所有匹配指定名稱的程序包的各版本;
--nodeps:忽略依賴關(guān)系
--test:測(cè)試卸載,dry run模式
(4)查詢:
rpm {-q|--query} [select-options] [query-options]
[select-options]
PACKAGE_NAME:查詢指定的程序包是否已經(jīng)安裝,及其版本;
-a, --all:查詢所有已經(jīng)安裝過的包;
-f, --file FILE:查詢所有指定的文件有那個(gè)程序包安裝生成;
-p, --package PACKAGE_FILE:用于實(shí)現(xiàn)對(duì)未安裝的程序包執(zhí)行查詢操作;
--whatprovides CAPABILITY:查詢指定的 CAPABILITY 由那個(gè)程序包提供;
--whatrequires CAPABILITY:查詢指定的 CAPABILITY 由那個(gè)包依賴;
[query-options]
--changelog:查詢r(jià)pm包的changelog;
-l, --list:程序安裝生成的所有文件列表;
-i, --info:程序包相關(guān)的信息,版本號(hào),大小,所屬的包組,等;
-c, --configfiles:查詢指定的程序包提供的配置文件;
-d, --docfiles:查詢指定的程序包提供的文檔;
--provides:列出指定的程序包提供的所有的CAPABILITY;
-R, --requires:查詢指定的程序包的依賴關(guān)系;
--scripts:查看程序包自帶的腳本片段;
用法:
-qi PACKAG, -qf FILE, -qc PACKAG, -ql PACKAG, -qd PACKAG,-qpl PACKAG_FILE
(5)校驗(yàn):
rpm {-V|--verify} [select-options] [verify-options]
S file Size differs
M Mode differs (includes permissions and file type)
5 digest (formerly MD5 sum) differs
D Device major/minor number mismatch
L readLink(2) path mismatch
U User ownership differs
G Group ownership differs
T mTime differs
P caPabilities differ
包來源合法性驗(yàn)證和完整性驗(yàn)證:
來源合法性驗(yàn)證:RSA
完整性驗(yàn)證:SHA256
獲取并導(dǎo)入信任的包制作者的秘鑰:
對(duì)于centos發(fā)行版來說:rpm --import / etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
驗(yàn)證:
(1)安裝此組織簽名的程序時(shí),會(huì)自動(dòng)執(zhí)行驗(yàn)證;
(2)手動(dòng)驗(yàn)證:rpm -k PACKAGE_FILE (來源合法性和完整性)
(6)數(shù)據(jù)庫(kù)重建:
rpm管理器數(shù)據(jù)庫(kù)路徑:/var/lib/rpm/
查詢操作:通過此處的數(shù)據(jù)庫(kù)進(jìn)行;
獲取幫助:
centos 6:man rpm
centos 7:man rpmdb
rpm {--initdb|--rebuilddb} [--dbpath DIRECTORY] [--root DIREC‐TORY]
--initdb:初始化數(shù)據(jù)庫(kù),當(dāng)前無任何數(shù)據(jù)庫(kù)可實(shí)始化創(chuàng)建一個(gè)新的;當(dāng)前有時(shí)不執(zhí)行任何操作;
--rebuilddb:重新構(gòu)建,通過讀取當(dāng)前系統(tǒng)上所有已經(jīng)安裝過的程序包進(jìn)行重新創(chuàng)建;
二,yum包管理:
(1)yum 配置文件
1,yum 客戶端配置文件:
/etc/yum.conf :為所有倉(cāng)庫(kù)提供公共配置
/etc/yum.repos.d/*.repo :為倉(cāng)庫(kù)的指向提供配置
倉(cāng)庫(kù)指向的定義:
[repositoryID](倉(cāng)庫(kù)ID)
name=Some name for this repository (倉(cāng)庫(kù)名)
baseurl=url://path/to/repository/ (地址)
enabled={1|0} (是否啟用)
gpgcheck={1|0} (是否檢查)
gpgkey=URL
文件服務(wù)器(URL):
ftp://
http://
file:///
2,如何使用光盤當(dāng)作本地yum 倉(cāng)庫(kù):
掛載光盤至某目錄,例如/media/cdrom
# mount /dev/cdrom /media/cdrom
創(chuàng)建配置文件,vim /etc/yum.repos.d/centos-local.repo
[CentOS7]
name=
baseurl=
gpgcheck=
enabled=
3,如何使用網(wǎng)絡(luò)源做yum倉(cāng)庫(kù):
創(chuàng)建配置文件,vim /etc/yum.repos.d/bash.repo
[CentOS7]
name=
baseurl=
gpgcheck=
enabled=
(2)yum的命令管理:
yum 的命令行選項(xiàng):
-y: 自動(dòng)回答為“yes”
-q :靜默模式
--nogpgcheck :禁止進(jìn)行g(shù)pg check
--disablerepo=repoidglob :臨時(shí)禁用此處指定的repo
--enablerepo=repoidglob :臨時(shí)啟用此處指定的repo
--noplugins :禁用所有插件
顯示倉(cāng)庫(kù)列表:
yum repolist [ all | enabled | disabled ] [全部 | 啟用 | 禁止]
顯示程序包:
yum list
yum list [all ]
yum list [available | installed | updates] [可用的 | 安裝過的 | 升級(jí)的]
安裝程序包:
yum install package1
yum reinstall package1 ( 重新安裝)
升級(jí)程序包:
yum update package1
yum downgrade package1 ( 降級(jí))
檢查可用升級(jí):
yum check-update
卸載程序包:
yum [remove | erase] package1 [卸載 | 抹除]
查看包的詳細(xì)信息
yum info package
查看指定的特性( 可以是某文件) 是由哪個(gè)程序包所提供:
yum provides feature1
清理本地緩存:
yum clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
[程序包 | 元數(shù)據(jù) | 過期的緩存 | rpmdb | 插件 | 全部的]
構(gòu)建緩存:
yum makecache
搜索:以指定的關(guān)鍵字搜索程序包名及summary(簡(jiǎn)要) 信息
yum search string1
查看yum 事務(wù)歷史:
yum history
yum history list # (可以顯示某個(gè)處理過程)
yum history info # (可以顯示某個(gè)歷史安裝包的詳細(xì)信息)
yum history redo # (可以重新安裝某個(gè)歷史的所有安裝包)
yum history undo # (可以撤銷某個(gè)歷史的所有安裝包,類同卸載 (不適用包組))
安裝及升級(jí)本地程序包:
yum install rpmfile (安裝本地程序包)
yum update rpmfile (升級(jí)本地程序包)
包組管理的相關(guān)命令:
yum grouplist (查看包組)
yum groupinfo group (查看包組的詳細(xì)信息)
yum groupinstall group (安裝包組)
yum groupupdate group (升級(jí)包組)
yum groupremove group (卸載包組)
(3)編譯安裝:
c/c++ 編譯器: gcc (GNU C Complier)
編譯C源代碼:
準(zhǔn)備: 提供開發(fā)工具及開發(fā)環(huán)境
開發(fā)工具:make, gcc等
開發(fā)環(huán)境:開發(fā)庫(kù),頭文件
glibc :標(biāo)準(zhǔn)庫(kù)
實(shí)現(xiàn):通過 “包組”提供開發(fā)組件
CentOS 6:
Development Tools
Server Platform Development
CentOS 7:
Development Tools
Development and Creative Workstation
( get命令 是把目錄或文件放到桌面 )
第一步:./configure 腳本
選項(xiàng):指定安裝位置、指定啟用的特性--help: 獲取其支持使用的選項(xiàng)
選項(xiàng)分類:
安裝路徑設(shè)定:
--prefix=/PATH: 指定默認(rèn)安裝位置, 默認(rèn)為/usr/local/
--sysconfdir=/PATH :配置文件安裝位置
System types: 支持交叉編譯
Optional Features: 可選特性
--disable-FEATURE
--enable-FEATURE[=ARG]
Optional Packages: 可選包,
--with-PACKAGE[=ARG], 依賴包
--without-PACKAGE, 禁用依賴關(guān)系
第二步:make:根據(jù)makefile 文件,構(gòu)建應(yīng)用程序
第三步:make install : 復(fù)制文件到相應(yīng)路徑
安裝后的配置:
(1) 二進(jìn)制程序目錄導(dǎo)入至PATH 環(huán)境變量中;
編輯文件/etc/profile.d/NAME.sh
PATH=/PATH/TO/BIN:$PATH
(2) 導(dǎo)入庫(kù)文件路徑
編輯/etc/ld.so.conf.d/NAME.conf
添加新的庫(kù)文件所在目錄至此文件中
讓系統(tǒng)重新生成緩存:
ldconfig [-v]
(3) 導(dǎo)入頭文件
基于鏈接的方式實(shí)現(xiàn):
ln -sv
(4) 導(dǎo)入幫助手冊(cè)
編輯/etc/man.config|man_db.conf 文件
添加一個(gè)MANPATH
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。