-
- 相關知識
- 接口
- API:二進制接口
- ABI:應用層接口,
- 包的組成:
- 二進制文件;庫文件;配置文件;幫助文檔
- 程序包管理器
- debian: deb,dpt apt-agt包管理前段工具
- rehat:rpm;rpm yum包管理前段工具
- fedora dnf包管理前段工具
- 安裝過的rpm包數據庫
- /var/lib/rpm/*
- 管理查看二進制程序依賴的庫文件
- ldd /path/filename
- 管理查看本機裝載庫文件
- ldconfig -p 顯示本機緩存庫文件及路徑
- 配置文件 、etc/ld.so.conf ; etc/ld.so.conf.d/*.conf
- 緩存:etc/ld.so.cache
- 程序包組成:
- 1程序清單
- 文件清單 安裝卸載的腳本
- 2數據庫
- 程序包名稱和版本,依賴關系,校檢碼。功能說明
- 1程序清單
- 程序包獲取
- 軟件官網
- 第三方組織:Fedora-EPEL
- 搜索引型
- 接口
- centosrpm命令管理程序
- 安裝,卸載。升級。查詢;校檢,數據庫維護
- 安裝 –root=/ 可以指定安裝在那個根系統
- rpm -i -v和vv都是顯示過程的 h顯示進度的
- –test測試安裝 –nodeps忽略依賴關系(在依賴關系循環時) –replacepkgs重新安裝
- –nosignature不檢查包的來源合法性 –nodigest不檢查完整性
- –noscripts不執行 程序包安裝腳本 %pre安裝前腳本 %post安裝后腳本%preun卸載前腳本%postun卸載后腳本
- rpm2cpio 包文件 | cpio “*.conf” 釋放包文件
- rpm -i -v和vv都是顯示過程的 h顯示進度的
- 升級
- -U有舊包則升級,沒有則安裝 -F有舊包則升級,沒有不安裝 –oldpackage降級
- 查詢
- 查詢包
- -a所有安裝的包 -f查看指定文件由那個安裝包安裝
- –whatprovides ca 查詢指定的能力由那個包提供–whatrequires ca 查詢指定的包被誰依賴
- 查詢包信息
- –changelog查看rpm包的編譯日志 -c查詢配置文件 -d查詢查詢文檔 -i包信息 -l查看生產文件 –scripts腳本信息 -p查看沒有安裝的包 -R查詢指定包依賴的能力 –provides列出包提供的能力
- 查詢包
- 卸載 -e
- 校檢
- 文件是否有變動 -V -K
- 包來源性及完整性
- 完整性:SHA256 來源合法:RSA
- 使用私匙加密
- 導入所需要公匙 rpm –import RPM-GPG-KEY-CentOS-7
- 數據庫
- 數據庫重建:–initdb不存在就安裝,存在就不安裝 rebuilddb重建
- 安裝 –root=/ 可以指定安裝在那個根系統
- 安裝,卸載。升級。查詢;校檢,數據庫維護
- yum
- 工作流程
- 本地向yum倉庫發出請求,yum倉庫發回軟件包及元數據(首次使用),本地緩存這些返回信息,安裝后刪除安裝包,保留元數據,再次安裝時只發回元數據的校檢碼和安裝包
- yum repository:yum repo
- 存儲眾多rpm包,以及包相關的元數據放在特定目錄下repodate
- yum客戶端配置
- /etc/yum.conf;可為所有倉庫提供公共配置
- /etc/yum.repos.d/*repo為倉庫提供配置
- yum配置文件
- 【base】倉庫ID
- name=centos 7 倉庫名字 ,不指定會報錯
- baseurl=url://path/to/repository倉庫路徑 file:///date/http://172.20.77.1/pub/
- enabled={0|1}開機是否啟動默認啟動 0關閉
- gpgcheck={1|0}檢查報的完整性
- gpgkey=url 檢查包的來源合法性
- cost=1000 開銷默認1000.
- yum配置的變量
- $releasever 系統主版本號 $arch平臺 $basearch基礎平臺
- 建立本地倉庫 createrrepo path
- yum命令
- 命令選項
- -y自動回答yes -q靜默安裝 –nogpgcheck禁止gpg chk
- –disablerepo=repo 臨時禁用倉庫 -enablerepo=repo 臨時啟用 –noplugins禁用所有有插件
- 顯示倉庫
- repolist 查看啟用倉庫 加上all顯示全部
- 安裝 install
- 顯示程序包
- yum list {available |install| updates} 顯示可用的包,可以安裝的,可以升級的
- 升級 update 檢查升級 check-update 降級 downgrade
- 卸載 remove
- 查看安裝包信息 indo
- 查看程序特性 provides
- 清理緩存 clean all 構建緩存 makecache
- 搜索 search
- 查看依賴關系 deplist
- 本地包安裝 localinstall
- yum事務管理 history
- 包組管理 groupinstall安裝包組 grouplist列出包組 groupinfo查看信息 groupremove移除包組
- 命令選項
- 工作流程
- 編譯安裝
- 編譯過程
- 源代碼–預處理–編譯–匯編–鏈接–執行 每個過程都需要一個程序來處理
- 源碼組織格式
- 多文件:文件中代碼可能會跨文件依賴
- c;c++: make項目管理 (configure配置–makefile. in 生成配置文件的模板,調用那個編譯器匯編器等等–makefile)
- jave maven
- 多文件:文件中代碼可能會跨文件依賴
- 編譯三部曲 ./configure -h查看啟用特性 yum list 查找特定包
- .configure
- 通過選項參數啟用指定特性,生成配置文件
- make 根據配置文件;構建應用程序
- make install 生成相關文件和信息
- 編譯步驟
- 第一步 configure 安裝幫助文檔INSTALL README
- 指定安裝位置和啟用特性
- .configure –prefix=/usr/local/apache2 –sysconfdir=/etc/httpd2
- 選擇路徑 –prefix=/ 可以指定默認位置 所有文件會分好類,可以選擇其他路徑會安裝在一起編譯后要指定
- system types 跨平臺編譯
- –disable –enable 關閉或開啟指定特性
- –with安裝包 –without不安裝包
- 指定安裝位置和啟用特性
- 第二步:make -j 4 指定用cpu核數
- 第三步 make install
- 編譯后配置
- 導出二進制程序目錄到PATH變量
- 導出庫文件路徑 /etc/ld.so.conf/*.conf 刷新緩存ldconfig -V
- 導出頭文件 基于連接 ln -sv
- 導出幫助文檔
- curl 地址 |bash
- 第一步 configure 安裝幫助文檔INSTALL README
- .configure
- 開發工具
- autoconf:生成configure腳本
- automake:生成makefile。in
- 編譯前提:
- 開發工具:make gcc等 開發環境:開發庫及頭文件等等
- 編譯過程
- 相關知識
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/96870