軟件包管理 1 —–基本知識 rpm yum

軟件包管理,
要做到如何管理軟件 ,包括安裝 ,卸載, 基本的功能查詢,搜索等
重點如何使用rpm包
yum管理
如何編譯安裝
**軟件 運行和編譯 **
ABI:Application Binary Interface 操作系統接口標準,調用2進制程序的接口
Windows 與Linux不兼容
ELF(Executable and Linkable Format)
PE (Portable Executable)
庫級別的虛擬化
Linux:WINE
Windows:Cygwin
API:Application Programming Interface 庫調用,調用庫的接口標準
POSIX:Portable OS
**c語言編程**
程序源代碼 —> 預處理 —-> 編譯 —> 匯編 —> 鏈接

**預處理**:把其他包含部分讀進來,把注釋去掉添加行號等,比如在編譯過程中出現語法錯誤會報行號,但是預處理之后的還是文本文件。
**編譯**:把處理完的文件編譯成匯編文件,進行語義分析,語法分析,生成匯編格式的文本,匯編更接近機器語言
**匯編**:經過匯編生成二進制文件
編譯過程有兩種
**靜態編譯**:.a 把庫打包到一起
**動態編譯**:.so 運行時才臨時調用庫
**Java程序運行**
編譯兩次 開始編譯一次 在操作系統之前再編譯一次(解釋器),在各種操作系統上都有相應的解釋器,所以能跨平臺,
但是語言穩定 ,效率慢
**開發語言**
系統開發
C
C++
應用級開發
Java
Delphi
Python 中小公司
go 谷歌開發的 大公司
php
perl
ruby
**包管理器**

**二進制應用程序的組成部分**
**二進制文件,庫文件,配置文件,幫助文件,**
**程序包管理器**
debian : deb文件, dpkg包管理器
redhat : rpm文件 ,rpm包管理器
rpm: Redhat Package Manager
RPM Package Manager

二進制程序依賴系統 ,不同平臺開發的不同,
所以網上的包一般是源碼文件
二進制文件要安裝的編譯啊,匯編啊, 等等好麻煩
所以紅帽為了廣大群眾好安裝 ,就把復雜的一大堆打包了
我們只要rpm就行
**包命名**
源代碼: name -VERSION.tar.gz|bz2|xz
軟件名-版本號-壓縮格式
** VERSION:major.minor.release
主要號碼,次要號碼,release號碼
rpm包命名方式:
name-VERSION-release.arch.rpm
**包名-版本號-紅帽對包的打包次數.rhel7.5-cpu架構.rpm**
例:bash-4.2.46-19.el7.x86_64.rpm
VERSION:major.minor.release
release:release.OS
常見的arch:n 系統構架
x86:i386,i486,i586,i686
x86_64:x64,x86_64,amd64
powerpc:ppc
跟平臺無關:noarch

我下載了一個httpd-2.4.33并解壓到/root/

我又統計了一下.c結尾的文件數

這些文件都是c語言開發的

**包的切分**

 

、比如httpd這個包 第一個是主包 其他的是分支包,像裝什么就裝什么,
tools相關的工具包
manual 說明手冊
devel 開發包
但是包和包之間有可能有依賴性
裝一個就要裝其他的包
**解決依賴包管理工具
yum:rpm包管理器的前端工具
apt-get:deb包管理器前端工具
zypper:suse上的rpm前端管理工具
dnf:Fedora 18+ rpm 包管理器前端工具(未來可能用)**

(yum:底層調用的是rpm)
**庫文件**
查看二進制程序所依賴的庫文件
ldd /PATH/TO/BINARY_FILE
管理及查看本機裝載的庫文件
ldconfig 加載庫文件
/sbin/ldconfig -p:顯示本機已經緩存的所有可用庫文件名及文件路徑映射關系
配置文件:/etc/ld.so.conf, /etc/ld.so.conf.d/*.conf
緩存文件:/etc/ld.so.cache

ldd 只能看到單個文件用到的庫
ldconfig -p 看系統中所有加載的庫、正在使用
/etc/ld.so.conf 主配置文件,文件想調用庫,得知道庫路徑,通過主配置文件讀取庫路徑

 

**include包含 我們可以把配置文件放在/etc/ld.so.conf下
也可以放在以放在ld.so.conf.d/*.conf下以.conf為后綴的也可以**
**每一個程序都有自己的.conf文件**

程序不想要了把對應的配置文件刪了就行

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/96795

(1)
lhl123456lhl123456
上一篇 2018-04-22
下一篇 2018-04-22

相關推薦

  • 學習筆記(4)

    學習筆記(4)

    Linux筆記 2018-04-22
  • 文件查找命令locate與find的對比分析

    文件查找命令locate與find的對比分析一、locate 1、locate命令是用來文件查找的命令,依賴于事先構建的索引。而索引的更新并不是實時的,而是每次開機啟動或者管理員手動更新。因為是使用事先建立的索引庫進行檢索,所以會有以下特點: 1)查找速度快 2)模糊查找 3)非實時查找 4)搜索的是文件的全路徑,不僅僅是文件名 5)可能之搜索用戶具備讀取和…

    Linux筆記 2018-04-14
  • MBR分區類型簡介

    本文簡單介紹MBR磁盤的分區細節,同時描述MBR在windows和Linux上的查看方法

    2018-03-27
  • 八個虛擬機實現DNS互聯網架構搭建

    DNS全篇知識匯總實現

    2018-06-04
  • 第三周作業

    第三周作業 1列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 W 命令:顯示信息更加全面 第一行顯示系統的匯總信息,字段分別表示系統當前時間、系統運行時間、登陸內用戶總數及系統平均負載信息。 從第二行開始構成一個表格,共有8個欄目,分別顯示各個用戶正在做的事情及該用戶所占用的系統資料。 USER:顯示登陸用戶帳號名。用…

    2018-07-08
  • 配置ntp時間服務器,任務計劃

    手動配置ntp時間服務 centos6 vim /etc/chrony.conf 加入service?? 172.20.0.1? iburst? 保存 ntpdate 172.20.0.1 iburst systemctl enable chronyd 設為開機啟動 centos6 chkconfig ntpd on設置開機開啟ntp服務 vim? /etc…

    Linux筆記 2018-05-06
欧美性久久久久