Linux程序包管理

相關概念

  • API (application programming interface)html

  • POSIX (portable OS)前端

  • 代碼打包過程:源代碼-->預處理-->編譯-->彙編-->連接linux

  • 編譯分爲:共享編譯(.so)和靜態編譯centos

  • ABI (application binary interface)緩存

  • 系統級開發:C C++markdown

  • 應用及開發:JAVA PHP Pythonapp

  • 二進制應用程序的組成部分:二進制文件、庫文件、配置文件、幫助文件ide

程序包管理器

  • 做用:提供方便快捷的程序包的安裝、卸載、查詢、升級、校驗等管理操做。工具

  • Redhat的包管理器: rpm (Redhat Package Manager/RPM is Package Manager)url

包命名規則:

  • 源代碼命名規則:包名-版本.tar.gz

  • RPM包命名規則:包名-版本-說明.rpm

版本包含:主版本號.次版本號.程序發行版本

說明包含:rpm包發行版本.系統版本.平臺類型

舉例:zlib-1.2.7-17.el7.x86_64

zlib是包名 1.1.7是程序版本 17是包版本 el7是系統版本 x86是平臺類型

  • 拆分程序包命名規則:

主包命名規則:主包名-version-arch.rpm

子包命名規則:主包名-子包名-version-arch.rpm

如:zlib-1.2.7-17.el7.x86_64 和 zlib-devel-1.2.7-17.el7.x86_64

程序包管理方式

  • rpm

  • yum

yum是什麼:rpm包管理器的前端工具。

yum的做用:自動解決程序直接的依賴關係。

rpm相關命令

安裝: rpm -i 包名

升級: rpm -U 包名 或者 rpm -F 包名

查詢: rpm -q {包名|文件名}

卸載: rpm -e 包名

yum相關命令

安裝:yum install 包名

升級:yum update 包名

查詢:yum list | grep 包名

卸載:yum remove 包名

  • yum配置文件

全局配置文件:/etc/yum.conf

倉庫配置文件:/etc/yum.repos.d/*.repo

  • 庫配置文件格式

#倉庫ID[base]#倉庫名稱name=CentOS-$releasever - Base - mirrors.aliyun.com#倉庫地址baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/ 
#是否啓用nabled={1|0}#是否檢查包完整性gpgcheck={1|0}#Key地址gpgkey=Key地址  #倉庫地址爲多個時,如何選擇failovermethod={roundrobin|priority}

查看二進制程序所依賴的庫文件

  • 命令:ldd 二進制文件

  • 舉例:查看ls這個命令都依賴哪些庫文件

[root@localhost ~]# ldd /usr/bin/ls linux-vdso.so.1 => (0x00007fffc5b49000) libselinux.so.1 => /lib64/libselinux.so.1 (0x00007fd0969ab000) libcap.so.2 => /lib64/libcap.so.2 (0x00007fd0967a6000) libacl.so.1 => /lib64/libacl.so.1 (0x00007fd09659c000) libc.so.6 => /lib64/libc.so.6 (0x00007fd0961db000) libpcre.so.1 => /lib64/libpcre.so.1 (0x00007fd095f79000) libdl.so.2 => /lib64/libdl.so.2 (0x00007fd095d74000) /lib64/ld-linux-x86-64.so.2 (0x00007fd096bda000) libattr.so.1 => /lib64/libattr.so.1 (0x00007fd095b6f000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fd095953000)

管理及查看本機裝載的庫文件

  • 命令:ldconfig

  • 舉例:顯示本機已經緩存的全部可用庫文件以及映射關係

ldconfig -p

  • 配置文件:/etc/ld.so.conf /etc/ld.so.conf.d/*.conf

  • 緩存文件:/etc/ld.so.cache

相關文章
相關標籤/搜索