真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

linux軟件包管理-rpm-創(chuàng)新互聯(lián)

1.程序包管理

成都創(chuàng)新互聯(lián)主要從事網(wǎng)站制作、網(wǎng)站設(shè)計、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)莎車,十年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108

功能:將編譯好的應(yīng)用程序的各組件組成文件打包成一個或幾個程序包文件,從而更方便快捷實現(xiàn)程序包的安裝升級,卸載和查詢等管理操作

 1 程序包的組成清單(每個程序包都單獨實現(xiàn))

 文件清單

 安裝或卸載是運行的腳本

2 數(shù)據(jù)庫部分(公共)

程序包名稱和版本

依賴關(guān)系

功能說明

安裝生成各文件位置路徑及校驗碼信息

程序包我們在哪獲取了?

1)系統(tǒng)發(fā)行的光盤或官方文件服務(wù)器或鏡像站點:

最常用的例如像

http://mirrors.aliyun.com

http://mirrors.souhu.com

http://mirrors.163.com

2)程序官方站點下載

3)第三方組織的rpm包

(a)EPEL:紅帽站點論壇組織,提供高效的yum原

(b)搜索引擎搜索

pkgs.org

rpmfind.net

rpm.pbone.net

4)自己做

ps:下載時注意其合法性,來源合法



rpm :readhat package manager ;rpm is package manager

2.rpm包命名格式

tree-1.5.3-3.el6.x86_64.rpm

name-version-release.arch.rpm

versiom:是指源代碼版本

release.arch:rpm包的發(fā)行號

archetecture:架構(gòu)號:i386,x64(amd64)..

 e16適用平臺 6



3.rpm 特性

1,rpm分包機(jī)制

  將一個包的功能拆成n個不同功能支包

 主包:name-version-release.arch.rpm

 支包:name-function-version-release.arch.rpm

 function:功能 例如:devel開發(fā)功能

    untils工具程序

    libs庫文件等

2,依賴關(guān)系

  依賴關(guān)系:因為linux程序做到短小精湛,程序彼此之間依賴其他程序提供的功能,然后才能運行,所以導(dǎo)致包和包之間有著復(fù)雜的依賴關(guān)系

3,解決依賴

前端工具的出現(xiàn)自動解決包之間的依賴關(guān)系;

yum :rpm包管理器的前端工具

apt-get(apt-cache)deb包管理器的前端工具 用于debian

zypper :suse的rpm管理器前端工具

dnf:fedora-22+系統(tǒng)上的rpm包管理器的前端工具


4.rpm命令管理程序包:

安裝升級、卸載、查詢、效驗、數(shù)據(jù)庫維護(hù)、幫助

使用方法

rpm [OPTION] [PACKAGE_FILE]

  

安裝

rpm     {-i|--install}    [install-options] PACKAGE_FILE ...

 [GENERAL OPTIONS]:通用選項     -v 詳細(xì)信息輸出     -vv 更詳細(xì)信息輸出

[install-options]:安裝選項 -h 顯示以hash標(biāo)記輸出進(jìn)度條  yum -ivh --test測試安裝(不實際安裝,僅測試,檢查依賴及沖突關(guān)系); --nodeps 忽略依賴關(guān)系安裝; --replacepkgs 重新安裝; ps:rpm可以自帶腳本 --noscripts 四類:  prelnstall:安裝過程之前運行的腳本%pre --nopre  postinstall:安裝過程完成之后運行的腳本,%pot --post  preuninstall:卸載過程真正開始執(zhí)行之前運行的腳本 %preun   --nopreun  postuninstall:卸載過程完成之后運行腳本 %postun  --nopostun --nosignature:不檢查包簽名信息,不檢查來源合法性; --nodigest:不檢查包完整性信息

例如:安裝tree包

[root@localhost Packages]# rpm -ivh tree-1.6.0-10.el7.x86_64.rpm  warning: tree-1.6.0-10.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY Preparing...                          ################################# [100%] package tree-1.6.0-10.el7.x86_64 is already installed

  升級

 rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...  rpm {-F|--freshen} [install-options] PACKAGE_FILE ... -U 升級或安裝 -F升級 rpm -Uvh  rpm -Fvh --oldpackage:降級; --force:強(qiáng)制升級;升級會影響依賴關(guān)系可能 #ps:1)不要對內(nèi)核做升級操作;linux支持多內(nèi)核,直接安裝新版本內(nèi)核即可; #    2)如果原程序包配置文件安裝后被修改過,升級是,新版本程序提供的同一個配置文件不會 覆蓋原有版本的配置文件,會將新文件重命名后保留;

例如:驗證 如果原程序包配置文件安裝后被修改過,升級是,新版本程序提供的同一個配置文件不會覆蓋原有版本的配置文件,會將新文件重命名后保留;

[root@localhost Packages]# rpm -ivh vsftpd-3.0.2-10.el7.x86_64.rpm  warning: vsftpd-3.0.2-10.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY Preparing...                          ################################# [100%] Updating / installing...    1:vsftpd-3.0.2-10.el7              ################################# [100%] [root@localhost Packages]#  #安裝vsftp [root@localhost vsftpd]# cat vsftpd.conf|wc -l 127 [root@localhost vsftpd]# vim vsftpd.conf [root@localhost vsftpd]# cat vsftpd.conf|wc -l 27 #修改其配置文件(刪除文件中100行內(nèi)容) [root@localhost Packages]# rpm -Uvh vsftpd-3.0.2-10.el7.x86_64.rpm --force warning: vsftpd-3.0.2-10.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY Preparing...                          ################################# [100%] Updating / installing...    1:vsftpd-3.0.2-10.el7              ################################# [100%] #升級安裝vsftpd    [root@localhost vsftpd]# cat vsftpd.conf|wc -l 27 #配置文件行數(shù)與之前安裝修改行數(shù)一樣

卸載

rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts]            [--notriggers] [--test] PACKAGE_NAME ... --allmatches:刪除所有所匹配指定名稱的程序包版本 --nodeps:忽略依賴關(guān)系 --test 測試卸載,不真正執(zhí)行卸載

例如:卸載vsftpd

[root@localhost Packages]# rpm -e --nodeps vsftpd  warning: /etc/vsftpd/vsftpd.conf saved as /etc/vsftpd/vsftpd.conf.rpmsave #卸載vsftpd包 [root@localhost ~]# ll /etc/vsftpd/ total 4 -rw-------. 1 root root 1127 Aug 23 21:10 vsftpd.conf.rpmsave [root@localhost ~]# cat /etc/vsftpd/vsftpd.conf.rpmsave |ec -l bash: ec: command not found... [root@localhost ~]# cat /etc/vsftpd/vsftpd.conf.rpmsave |wc -l 27 #卸載后將配置文件備份成了一個新文件

查詢

rpm {-q|--query} [select-options] [query-options] 1)select-options: PACKAGE_NAME 直接給出包名查看是否已經(jīng)安裝 -a,--all 查詢所有已安裝的包 rpm -qa [root@localhost ~]# rpm -qa |grep http -f,--file 查詢文件的生成安裝包 [root@localhost ~]# rpm -qf /etc/fstab  setup-2.8.71-6.el7.noarch -p --pachage 查尋未安裝的包 --whatprovides CAPABILITY:查詢指定的CAPABILITY安裝包  --whatrequires CAPABILITY:查詢指定的CAPABILITY安裝包有哪些依賴包 2)query-options: --changelog 查看rpm改進(jìn)日志 -l, --list 安裝生成的文件 rpm -ql 查看安裝這個程序包后生成了哪些文件 -i --info 查詢程序包相關(guān)的信息(版本,大小,所屬的包組) rpm -qi 程序名  -c, --configfiles 查詢指定程序包提供的配置文件  -d, --docfiles 查詢指定程序包提供的文檔  --provides 列出程序提供的CAPABTLITY  --scripts 查看指定程序安裝后的腳本

查詢舉例:

#查詢某個包是否已經(jīng)安裝的多個方法 [root@localhost vsftpd]# rpm -q vsftpd package vsftpd is not installed [root@localhost vsftpd]# rpm -qa vsftpd [root@localhost vsftpd]# rpm -qa |grep vsftpd [root@localhost vsftpd]# rpm -q vsftpd vsftpd-3.0.2-10.el7.x86_64 [root@localhost vsftpd]# rpm -qa |grep vsftpd vsftpd-3.0.2-10.el7.x86_64

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

#查詢某個文件是由哪個安裝包生成的 [root@localhost vsftpd]# rpm -qf /etc/vsftpd/ vsftpd-3.0.2-10.el7.x86_64

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

#查看某個包安裝過后生成的文件 [root@localhost vsftpd]# rpm -ql vsftpd  /etc/logrotate.d/vsftpd /etc/pam.d/vsftpd /etc/vsftpd /etc/vsftpd/ftpusers /etc/vsftpd/user_list /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd_conf_migrate.sh /usr/lib/systemd/system-generators/vsftpd-generator /usr/lib/systemd/system/vsftpd.service /usr/lib/systemd/system/vsftpd.target /usr/lib/systemd/system/vsftpd@.service /usr/sbin/vsftpd /usr/share/doc/vsftpd-3.0.2 /usr/share/doc/vsftpd-3.0.2/AUDIT /usr/share/doc/vsftpd-3.0.2/BENCHMARKS /usr/share/doc/vsftpd-3.0.2/BUGS /usr/share/doc/vsftpd-3.0.2/COPYING /usr/share/doc/vsftpd-3.0.2/Changelog /usr/share/doc/vsftpd-3.0.2/EXAMPLE /usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE /usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE/README /usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE/README.configuration /usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE/vsftpd.conf /usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE/vsftpd.xinetd /usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE_NOINETD /usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE_NOINETD/README /usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE_NOINETD/README.configuration /usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE_NOINETD/vsftpd.conf /usr/share/doc/vsftpd-3.0.2/EXAMPLE/PER_IP_CONFIG /usr/share/doc/vsftpd-3.0.2/EXAMPLE/PER_IP_CONFIG/README /usr/share/doc/vsftpd-3.0.2/EXAMPLE/PER_IP_CONFIG/README.configuration /usr/share/doc/vsftpd-3.0.2/EXAMPLE/PER_IP_CONFIG/hosts.allow /usr/share/doc/vsftpd-3.0.2/EXAMPLE/README /usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_HOSTS /usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_HOSTS/README /usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS /usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS/README /usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS/README.configuration /usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS/logins.txt /usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS/vsftpd.conf /usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS/vsftpd.pam /usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS_2 /usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS_2/README /usr/share/doc/vsftpd-3.0.2/FAQ /usr/share/doc/vsftpd-3.0.2/INSTALL /usr/share/doc/vsftpd-3.0.2/LICENSE /usr/share/doc/vsftpd-3.0.2/README /usr/share/doc/vsftpd-3.0.2/README.security /usr/share/doc/vsftpd-3.0.2/REWARD /usr/share/doc/vsftpd-3.0.2/SECURITY /usr/share/doc/vsftpd-3.0.2/SECURITY/DESIGN /usr/share/doc/vsftpd-3.0.2/SECURITY/IMPLEMENTATION /usr/share/doc/vsftpd-3.0.2/SECURITY/OVERVIEW /usr/share/doc/vsftpd-3.0.2/SECURITY/TRUST /usr/share/doc/vsftpd-3.0.2/SIZE /usr/share/doc/vsftpd-3.0.2/SPEED /usr/share/doc/vsftpd-3.0.2/TODO /usr/share/doc/vsftpd-3.0.2/TUNING /usr/share/doc/vsftpd-3.0.2/vsftpd.xinetd /usr/share/man/man5/vsftpd.conf.5.gz /usr/share/man/man8/vsftpd.8.gz /var/ftp /var/ftp/pub

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

#查詢指定程序包包含的配置文件 [root@localhost Packages]# rpm -qc vsftpd /etc/logrotate.d/vsftpd /etc/pam.d/vsftpd /etc/vsftpd/ftpusers /etc/vsftpd/user_list /etc/vsftpd/vsftpd.conf

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

#查詢指定程序包提供的文檔 [root@localhost Packages]# rpm -qd vsftpd /usr/share/doc/vsftpd-3.0.2/AUDIT /usr/share/doc/vsftpd-3.0.2/BENCHMARKS /usr/share/doc/vsftpd-3.0.2/BUGS /usr/share/doc/vsftpd-3.0.2/COPYING /usr/share/doc/vsftpd-3.0.2/Changelog /usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE/README /usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE/README.configuration /usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE/vsftpd.conf /usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE/vsftpd.xinetd /usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE_NOINETD/README /usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE_NOINETD/README.configuration /usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE_NOINETD/vsftpd.conf /usr/share/doc/vsftpd-3.0.2/EXAMPLE/PER_IP_CONFIG/README /usr/share/doc/vsftpd-3.0.2/EXAMPLE/PER_IP_CONFIG/README.configuration /usr/share/doc/vsftpd-3.0.2/EXAMPLE/PER_IP_CONFIG/hosts.allow /usr/share/doc/vsftpd-3.0.2/EXAMPLE/README /usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_HOSTS/README /usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS/README /usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS/README.configuration /usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS/logins.txt /usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS/vsftpd.conf /usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS/vsftpd.pam /usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS_2/README /usr/share/doc/vsftpd-3.0.2/FAQ /usr/share/doc/vsftpd-3.0.2/INSTALL /usr/share/doc/vsftpd-3.0.2/LICENSE /usr/share/doc/vsftpd-3.0.2/README /usr/share/doc/vsftpd-3.0.2/README.security /usr/share/doc/vsftpd-3.0.2/REWARD /usr/share/doc/vsftpd-3.0.2/SECURITY/DESIGN /usr/share/doc/vsftpd-3.0.2/SECURITY/IMPLEMENTATION /usr/share/doc/vsftpd-3.0.2/SECURITY/OVERVIEW /usr/share/doc/vsftpd-3.0.2/SECURITY/TRUST /usr/share/doc/vsftpd-3.0.2/SIZE /usr/share/doc/vsftpd-3.0.2/SPEED /usr/share/doc/vsftpd-3.0.2/TODO /usr/share/doc/vsftpd-3.0.2/TUNING /usr/share/doc/vsftpd-3.0.2/vsftpd.xinetd /usr/share/man/man5/vsftpd.conf.5.gz /usr/share/man/man8/vsftpd.8.gz


效驗

rpm {-V|--verify} [select-options] [verify-options]   --nodeps               Don't verify dependencies of packages.        --nodigest               Don't verify package or header digests when read               ing.        --nofiles               Don't verify any attributes of package files.        --noscripts               Don't  execute  the  %verifyscript  scriptlet (if               any).            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 不添加任何參數(shù)默認(rèn)就是檢查所有參數(shù) rpm -V --nodeps

程序包的合法性驗證:

    來源合法:由制作者提供,依賴于制作者的數(shù)字簽名,簽名是作者使用自己的私鑰加密程序包的特性碼進(jìn)行的;

    內(nèi)容合法:包未被二次修改,依賴于:制作者提供的程序特征碼;

   驗正方式:安裝者用同樣的特征碼提取算法提取程序包的特征碼,并與原作者提供的相比較;

舉例:

rpm --import /misc/cd/RPM-GPG-KEY-CentOS-6  rpm -K vsftpd-3.0.2-10.el7.x86_64.rpm  vsftpd-3.0.2-10.el7.x86_64.rpm: rsa sha1 (md5) pgp md5 OK

  

數(shù)據(jù)庫維護(hù)

rpm管理器數(shù)據(jù)庫:/var/lib/rpm rpmdb {--initdb|--rebuilddb} [-v] [--dbpath DIRECTORY]   --initdb: 初始化數(shù)據(jù)庫,數(shù)據(jù)庫不存在,才會新建;  --rebuilddb: 無論當(dāng)前數(shù)據(jù)庫是否存在,都會直接重建此庫;

舉例:

#刪除庫 [root@localhost rpm]# ls Basenames     __db.001  __db.003  Group       Name          Packages     Requirename  Sigmd5 Conflictname  __db.002  Dirnames  Installtid  Obsoletename  Providename  Sha1header   Triggername [root@localhost rpm]# rm -fr * [root@localhost rpm]# ls #使用查詢重新生成庫 [root@localhost rpm]# rpm -qa vsftpd [root@localhost rpm]# ls Basenames     __db.001  __db.003  Group       Name          Packages     Requirename  Sigmd5 Conflictname  __db.002  Dirnames  Installtid  Obsoletename  Providename  Sha1header   Triggername [root@localhost rpm]# #使用命令rpmdb --initdb生成庫 [root@localhost rpm]# rm -fr * [root@localhost rpm]# ll total 0 [root@localhost rpm]# rpmdb --initdb [root@localhost rpm]# ll total 388 -rw-r--r--. 1 root root   8192 Aug 23 22:19 Basenames -rw-r--r--. 1 root root   8192 Aug 23 22:19 Conflictname -rw-r--r--. 1 root root 270336 Aug 23 22:19 __db.001 -rw-r--r--. 1 root root  81920 Aug 23 22:19 __db.002 -rw-r--r--. 1 root root 107048 Aug 23 22:19 __db.003 -rw-r--r--. 1 root root   8192 Aug 23 22:19 Dirnames -rw-r--r--. 1 root root   8192 Aug 23 22:19 Group -rw-r--r--. 1 root root   8192 Aug 23 22:19 Installtid -rw-r--r--. 1 root root   8192 Aug 23 22:19 Name -rw-r--r--. 1 root root   8192 Aug 23 22:19 Obsoletename -rw-r--r--. 1 root root  12288 Aug 23 22:19 Packages -rw-r--r--. 1 root root   8192 Aug 23 22:19 Providename -rw-r--r--. 1 root root   8192 Aug 23 22:19 Requirename -rw-r--r--. 1 root root   8192 Aug 23 22:19 Sha1header -rw-r--r--. 1 root root   8192 Aug 23 22:19 Sigmd5 -rw-r--r--. 1 root root   8192 Aug 23 22:19 Triggername

  

幫助

 1. man rpm

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


文章標(biāo)題:linux軟件包管理-rpm-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://weahome.cn/article/jhsds.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部