首頁 Linux教程linux軟件包管理

linux文件壓縮

linux磁盤管理

運維派隸屬馬哥教育旗下專業運維社區,是國內成立最早的IT運維技術社區,歡迎關注公眾號:yunweipai
領取學習更多免費Linux云計算、Python、Docker、K8s教程關注公眾號:馬哥linux運維

軟件包和包管理器

軟件包介紹

開源軟件最初只提供了.tar.gz的打包的源碼文件,用戶必須自已編譯每個想在GNU/Linux上運行的軟件。用戶急需系統能提供一種更加便利的方法來管理這些軟件,當Debian誕生時,這樣一個管理工具dpkg也就應運而生,可用來管理deb后綴的"包"文件。從而著名的“package”概念第一次出現在GNU/Linux系統中,稍后Red Hat才開發自己的rpm包管理系統

軟件包中的文件分類
  • 二進制文件
  • 庫文件
  • 配置文件
  • 幫助文件

范例:利用 cpio工具查看包文件列表

rpm2cpio 包文件|cpio –itv  預覽包內文件
rpm2cpio 包文件|cpio –id  “*.conf” 釋放包內文件
程序包管理器

軟件包管理器功能:

將編譯好的應用程序的各組成文件打包一個或幾個程序包文件,利用包管理器可以方便快捷地實現程序包的安裝、卸載、查詢、升級和校驗等管理操作

主流的程序包管理器

  • redhat:rpm文件, rpm 包管理器,rpm:Redhat Package Manager,RPM Package Manager
  • debian:deb文件, dpkg 包管理器
包命名

源代碼打包文件命名:

name-VERSION.tar.gz|bz2|xz
VERSION: major.minor.release

rpm包命名方式:

name-VERSION-release.arch.rpm
VERSION: major.minor.release
release:release.OS

常見的arch:

  • x86: i386, i486, i586, i686
  • x86_64: x64, x86_64, amd64
  • powerpc: ppc
  • 跟平臺無關:noarch

范例:

bash-3.2-32.el5_9.1.i386.rpm
bash-4.2.46-19.el7.x86_64.rpm
bash-4.4.19-7.el8.x86_64.rpm
bash-4.4.19-7.el8.aarch64.rpm
bash-4.4.19-7.el8.ppc64le.rpm
bc_1.07.1-2_amd64.deb
bc_1.07.1-2_s390x.deb

范例:統計rpm的架構類型及相應的包數量

[root@centos8 Packages]#pwd
/misc/cd/BaseOS/Packages
[root@centos8 Packages]#ls *.rpm | grep -Eo '[^.]+\.rpm$'| grep -Eo '^[^.]+'|sort |uniq -c
    389 i686
    211 noarch
   1061 x86_64
[root@centos8 Packages]#ls *.rpm |rev|cut -d. -f2|rev |sort |uniq -c
    389 i686
    211 noarch
   1061 x86_64
[root@centos8 Packages]#ls *.rpm | grep -Eo '[^.]+\.rpm$'|cut -d. -f1|sort |uniq -c
    389 i686
    211 noarch
   1061 x86_64
分類和拆包

軟件包為了管理和使用的便利,會將一個大的軟件分類,放在不同的子包中。

包的分類

  • Application-VERSION-ARCH.rpm: 主包
  • Application-devel-VERSION-ARCH.rpm 開發子包
  • Application-utils-VERSION-ARHC.rpm 其它子包
  • Application-libs-VERSION-ARHC.rpm 其它子包
包的依賴

軟件包之間可能存在依賴關系,甚至循環依賴,即:A包依賴B包,B包依賴C包,C包依賴A包

安裝軟件包時,會因為缺少依賴的包,而導致安裝包失敗。

解決依賴包管理工具:

  • yum:rpm包管理器的前端工具
  • dnf:Fedora 18+ rpm包管理器前端管理工具,CentOS 8 版代替 yum
  • apt:deb包管理器前端工具
  • zypper:suse上的rpm前端管理工具
程序包管理器相關文件
  1. 包文件組成 (每個包獨有)
  • 包內的文件
  • 元數據,如:包的名稱,版本,依賴性,描述等
  • 可能會有包安裝或卸載時運行的腳本
  1. 數據庫(公共):/var/lib/rpm
  • 程序包名稱及版本
  • 依賴關系
  • 功能說明
  • 包安裝后生成的各文件路徑及校驗碼信息
獲取程序包的途徑

軟件包需要事先將源碼進行編譯后打包形成,獲取包的途徑如下:

系統發版的光盤或官方網站

CentOS鏡像:
https://www.centos.org/download/
http://mirrors.aliyun.com
http://mirrors.sohu.com
http://mirrors.163.com

Ubuntu 鏡像:

http://cdimage.ubuntu.com/releases/
http://releases.ubuntu.com

第三方組織提供
軟件項目官方站點

http://yum.mariadb.org/10.4/centos8-amd64/rpms/
http://repo.mysql.com/yum/mysql-8.0-community/el/8/x86_64/

搜索引擎

http://pkgs.org
http://rpmfind.net
http://rpm.pbone.net
https://sourceforge.net/

注意:第三方包建議要檢查其合法性,來源合法性,程序包的完整性

自己制作

將源碼文件,利用工具,如:rpmbuild,fpm等工具制作成rpm包文件

本文鏈接:http://www.thecarconnectin.com/33901.html

linux文件壓縮

linux磁盤管理

網友評論comments

發表回復

您的電子郵箱地址不會被公開。

暫無評論

Copyright ? 2012-2022 YUNWEIPAI.COM - 運維派 京ICP備16064699號-6
掃二維碼
掃二維碼
返回頂部
国产曰批视频免费观看完|久久久一本精品99久久精品66直播|色天使色偷偷AV一区二区三区|国产色秀视频在线播放|亚洲欧洲免费三级网站