安裝包管理

   軟件包管理

軟件的運行和編譯

  1. ABI 由于window和linux不兼容 linux是ELF window 是PE 對應的內核解析方式不同,可以用虛擬化
  2. API 只程序與程序的公用的接口,相互調用方式
  3. 程序源代碼 –>預處理–>編譯–>匯編–>鏈接
  4. 預處理只會引入相對于的文件,不會檢查語法,但預處理檢查語法,鏈接的庫文件可以為動態編譯文件.so 和靜態編譯文件.a,鏈接分為靜態鏈接和動態鏈接
  5. 二進制應用程序的組成部分:二進制文件,庫文件,配置文件,幫助文件
  6. 程序包管理器 rpm :Redhat Package Manger
  7. rpm的包名的命名方式 name-VERSION-release.arch.rpm 
      > bash-4.2.46-19.el.x86_64.rpm  版本號,企業備注,系統試用
  8. 包的分類和拆包VERSION主包 devel 開發包 utils 其他包 libs 相關其他包
  9. 包之間存在依賴關系,解決方式rpm包管理的前端工具, dnf包管理的前端工具
  10. 查看 二進制 程序所依賴的庫文件
      > ldd /bin/ls
  11. 管理及查看本機裝載的庫文件 ldconfig ,, /sbin/ldconfig -p 顯示本機已經緩存的所有可用庫文件
  12. 庫文件的配置 /etc/ld.so.conf ,/etc/ld.so.conf.d/*.conf
  13. 緩存文件:/etc/ld.so.cache

程序包管理

功能:將編譯好的應用程序的各組成文件打包一個或幾個程序包文件,從而方便快捷的實現程序包的安裝,卸載,查詢,升級,和校驗等管理操作
1. 包文件組成(每個包獨有)RPM包內的文件和元數據,如名稱,版本,依懶性,描述
2. 數據庫(公共):/var/lib/rpm 程序包的名稱及版本依賴關系,功能說明,安裝后生產的校驗碼信息
3. 管理程序包的方式,,使用包管理器:rpm 使用前端工具:yum ,dnf

獲取程序包的途徑:

  1. 系統發版的光盤或官方的服務器
    > centos鏡像 http://www.centos.org/download/ ,https://mirrors.aliyun.com/centos/7.3.1611/isos/x86_64/,https://mirrors.sohu.com/centos/7.3.1611/isos/x86_64/
  2. 第三方組織
    > RHEL推薦,包很全,搜索引擎 http://pkgs.org
    > 第三方包建議要檢查合法性,來源合法性,程序包的完整性
  3. 自己制作

安裝包操作(完整的文件名 路徑)

> rpm -ivh PACKAGE _FILE
 
 | 參數 | 用途 | 
 | —-   | —-:  | :—:  |
 | i    | 安裝 |
 | v    | 顯示安裝過程|
 | h    | 顯示執行進度 |
 | –test |測試安裝
 |–replacepkgs|–replacefiles
 |–nodigest   |不檢查包完整性
 |–noscript|不執行程序包腳本
 |%pre:安裝前腳本|–nopre
 |%post:安裝后腳本|–nopost
 |%preun:卸載前腳本|–nopreun
 |%postun:卸載后腳本|–noposttun
 
 —–
 升級
 1. rpm -U ,upgrade :安裝有舊版本程序包,則‘升級’,不存在就安裝 rpm -Uvh PACKAGE_FILE
 2. rpm -F,freshen 安裝有舊版程序包,則安裝,如何不存在就不執行升級操作
rpm -Fvh PACAGE 
–oldpackage 降級 –force 強制安裝

 包查詢 rpm -q(已安裝的包)

 | 參數 | 用途 | 
 | —-   | :—-|—:|
 |–changelog|查詢rpm包的changelog
 |-c|查詢程序的配置文件
 |-d|查詢程序的文檔
 |-i|information
 | l|查看指定的程序包安裝后生成的所有文件(包名)
 |–scripts|程序包自帶的腳本
 |–provides|列出指定程序包所提供的CAPAB
 |–R|查詢指定的程序所依賴的CAPABILITY
 |-a|所有包
 |-f|查看指定的文件由哪幾個程序包安裝生成(路徑+包名)
 |-p|針對尚未安裝的程序包文件做查詢操作
 |–whatprovides|查詢指定的capabilitv由哪幾個包所提供
 |–whatrequires |查詢指定的capab被哪個包所依賴
  
  <br />
&nbsp; rpm -ivh /path/文件名/.rpm 包名<br />
&nbsp; rpm -q ftp &amp;&gt;/dev/null ||yum -y install ftp (包名)<br />
&nbsp; rpm -e 包名(卸載)<br />
&nbsp; rpm -qi(包名)<br />
&nbsp; rpm -qpi /path/文件名.rpm<br />
&nbsp; rpm -qf /path/文件名<br />
&nbsp; rpm -ql 包名<br />
&nbsp; rpm -q --scripts 包名<br />
&nbsp; -k 文件名 驗證簽名<br />
&nbsp; --import /etc/pki/rpm-gpg/<br />
&nbsp; -V 包名<br />
&nbsp;&nbsp;<br />
&nbsp; which java &nbsp;-&gt;/usr/bin/java<br />
&nbsp; rpm -qf /usr/bin/java<br />
&nbsp; rpm -q --whatprovides java<br />
&nbsp;

rpm2cpio  

> rpm2cpio 包文件|cpio -itv 預覽包內文件

rpm2cpio 

> rpm2cpio 包文件|cpio -id “.config” 釋放包內文件

包卸載(卸載包名)

> rpm -e PACKAGE 包卸載 不能卸載包的依賴關系 

包校驗

> rpm -V 包名 rpm -V tree  (修改包名里面的內容,檢測)

 | 參數 | 用途 | 
 | —-   | —-:  | :—:  |
 |s |file size |大小
 |5|digest|md5 加密
 |D|Device major|設備信息
 |L|readLink|鏈接信息
 |U|user ownership|用戶信息
 |G|group ownership|組信息
 |T|mtime differs|時間差異
 

包校驗

  1.  來源合法性驗證及完整性驗證
  2.  完整性驗證:SHA256 來源合法性驗證:RSA
  3.  公鑰加密:對稱加密:加密/解密使用同一密鑰  public key :公鑰,公開所有人 secret key :私鑰 ,不能公開
  4.  導入所需要的公鑰
  5.  rpm-k|checksig rpmfile 檢查包的完整性和簽名
  6.  rpm –import /etc/pki/rpm-gqp/RPM-GPG-KEY-centOS-7
  7.  Centos 7 發行版光盤提供:RPM-GPG-KEY-Centos-7
  8.  rpm -qa “gpg-pubkey”

數據庫的重建

> /var/lib/rpm   rpm –initdb :初始化

——

yum 安裝

yum:yellowdog update modifier ,rpm 的前端程序,可解決軟件包相關依懶性,可以在多個庫之間定位軟件包
1. yum repository:yum repo 儲存了眾多rpm包,以及包的相關的元數據文件(放置在特定目錄repodata下)
2. 文件服務器 ftp://   http://  file://
3. yum客戶端配置文件
>  /etc/yum.conf :為所有倉庫提供公共配置 
>  /etc/yum.repos.d/*.repo 為倉庫的指向提供配置

 | 參數 | 用途 | 
 | —-   | —-:  | :—:  |
 |name|some name for |名字
|baseurl|url://path/to/reposi| 安裝源來源
|enable|(1,0)|是否禁止
|gpgkey|URl|簽名信息
|enablegroup=(1,0)|安裝群

yum的repo配置文件中可用的變量

 | 參數 | 用途 | 
 | —-   | —-:  | :—:  |
 |$releasever|當前OS的發行版的主版本號
 |$arch|平臺,i386,i486
 |$basearch|基礎平臺,i386
 
 <br />
&nbsp;http://server/centos/$releasever/$basearch/<br />
&nbsp;http://server/centos/7/x86_64<br />
&nbsp;http://server/centos/6/i384<br />
&nbsp;

 —–
 1. 阿里云repo文件 http://mirrors.aliyun.com/repo/
 2. centos系統yum源 阿里云:https://mirrors.aliyun.com/centos/$releaserver/os/x86_64
 3. 教學環境 http://172.16.0.1/cobbler/ks_mirror/$releaserver/
 4. 生成172.16.0.1_cobbler_ks_mirror_CentOS-x-x86_64_repo
> yum-config-manager –add-repo=http://172.16.0.1/cobber/ks_mirror/7/
 5. yum-config-manager –disable “倉庫名” 禁用倉庫
 6. yum-config-manager –enable “倉庫名” 啟用倉庫
 
 —–

yum命令

  1. yum list [all | glob_exp1] 顯示所有的yum
  2. yum repolist[all |enable |disable] 顯示安裝的倉庫
  3. yum install package 安裝包
  4. yum reinstall package 重新安裝包
  5. yum updata package 升級包
  6. yum downgrade package 降級包
  7. yum check-update 檢查可用升級
  8. yum remove  | erase package 卸載程序包(刪除依賴包名)
  9. yum info package 查看程序包信息
  10. yum provides |whatprovides feature 查看指定的特征(可以是莫文件)是哪個程序包提供
  11. yum clean [all|packages] ,,,,/var/cache/yum/$basharch/$releasever  緩存
  12. yum makecache 構建緩存
  13. yun search string 以指定的關鍵字搜索程序包及summary信息
  14. yum deplist package1 查看指定包所依賴的capailities

 yum 事務歷史

  1. yum history [info | list | packages-info]
  2. yum history 查看歷史記錄
  3. yum history info 6 查看指定的歷史
  4. yum history undo 6 刪除安裝的包,安裝以前的包

日志文件

> /var/log/yum.log

包組管理的相關命令

  1. yum grouplist group1 查看包內容
  2. yum groupinstall group1 組安裝
  3. yum groupupdate group1 升級包
  4. yum groupremove group1 移除包
  5. yum groupinfo group1 包信息

yum的命令行選項

  1. –nogpgcheck ;禁止進行gpg check
  2. -y :自動回答’yes’
  3. -q :靜默模式
  4. — disablerepo=repoidglob 臨時禁止用此指定的repo
  5. — enablerepo=repoidglob 臨時啟用此處指定的repo
  6. –noplugins 禁止所有插件

系統安裝光盤作為本地yum倉庫

  1. 掛載光盤至莫個目錄 /media/cdrom
    > mount /dev/cdrom /media/cdrom
    2 創建配置文件
    <br />
    [Cenros7]<br />
    name=<br />
    baseurl=<br />
    gpgcheck=<br />
    enable=<br />
    <br />
    ls /misc/<br />
    cd /misc<br />
    cd cd/<br />
    df<br />
    <br />
    [base]<br />
    baseurl=file://misc/cd<br />
    <br />
  2. 創建yum倉庫
    > createrpo [options]

    <br />
    df 查看磁盤<br />
    rpm -q kernel 查看內核<br />
    uname -r 內核名<br />
    yum update kernel 升級kernel<br />
    <br />
    yum list | grep vsftpd<br />
    yum clean all<br />
    <br />
    <br />

原創文章,作者:zhangguanglei,如若轉載,請注明出處:http://www.www58058.com/74159

(0)
zhangguangleizhangguanglei
上一篇 2017-04-24
下一篇 2017-04-24

相關推薦

  • Liunx學習小結2

    1. Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。文件管理類命令有:cp、mv、rmcp [選項] [參數]選項:-a:此參數的效果和同時指定”-dpR”參數相同;-d:當復制符號連接時,把目標文件或目錄也建立為符號連接,并指向與源文件或目錄連接的原始文件或目錄;-f:強行復制文件或目錄,不論目標文件或目錄…

    Linux干貨 2017-07-31
  • 第一周博客作業-Linux發行版歷史、哲學思想、FHS、命令格式、幫助等

    All + All – 第一周作業 1.計算機組成及功能 計算機組成 硬件 馮諾依曼體系 CPU 運算器 對數據做算暖蘇運算和邏輯運算 控制器 寄存器等 程序的運行,是CPU通過調用硬盤中的程序至內存中執行來實現的 存儲器 內存 ROM RAM 外存 硬盤 光盤 輸入設備 鼠標、麥克風等 實現指令和參數的輸入 輸出設備 顯示器、打印機等 實現結果…

    Linux干貨 2017-07-02
  • sed 流編輯器使用詳解

    一、Stream EDitor, 行編輯器   sed是一種流編輯器,它一次處理一行內容。處理時,把當前處理的行存儲在臨時緩沖區中,稱為“模式空間”(pattern space),接著用sed命令處理緩沖區中的內容,處理完成后,把緩沖區的內容送往屏幕。接著處理下一行,這樣不斷重復,直到文件末尾。文件內容并沒有改變,除非你使用重定向存儲輸出…

    2016-08-10
  • PS進程命令常用選項參數詳解

    PS命令是什么 ps命令能夠給出當前系統中進程的快照。它能捕獲系統在某一時間的進程狀態。如果想要不斷更新查看這個狀態,可以配合watch命令或使用top命令。ps命令支持三種使用的語法格式 UNIX 風格:選項可以組合在一起,并且選項前必須有”-“連字符。 BSD 風格 :選項可以組合在一起,但是選項前不能有”-&#822…

    2017-07-09
  • http協議(2.2&2.4)RPM搭建配置

    http協議(2.2&2.4)RPM搭建配置 httpd的程序環境: 主程序文件:/usr/sbin/httpd CentOS6系列(默認httpd2.2) 1)配置文件: /etc/httpd/conf/httpd.conf、  /etc/httpd/conf.d/*.conf 2)服務腳本: /etc/rc.d/init.d/…

    Linux干貨 2016-10-17
  • RAID與邏輯卷

        RAID與邏輯卷作為磁盤管理的方式,各有各的優勢。RAID是多個磁盤合成一個陣列,以便提供更好的性能;邏輯卷相對于分區來說,可以在線擴展空間,也可以縮減空間??梢岳密浖姆绞絹韺崿FRAID與邏輯卷。 一、利用軟件方式實現RAID     利用sdb sdc sdd sd…

    2017-08-12

評論列表(1條)

  • renjin
    renjin 2017-04-28 11:53

    主要介紹了程序包的安裝和管理,內容寫的很精細,排版也很好,繼續努力!

欧美性久久久久