rpm包管理

    • 相關知識
      • 接口
        • 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數據庫
          • 程序包名稱和版本,依賴關系,校檢碼。功能說明
      • 程序包獲取
    • centosrpm命令管理程序
      • 安裝,卸載。升級。查詢;校檢,數據庫維護
        • 安裝 –root=/ 可以指定安裝在那個根系統
          • rpm -i -v和vv都是顯示過程的 h顯示進度的
            • –test測試安裝 –nodeps忽略依賴關系(在依賴關系循環時) –replacepkgs重新安裝
            • –nosignature不檢查包的來源合法性 –nodigest不檢查完整性
            • –noscripts不執行 程序包安裝腳本 %pre安裝前腳本 %post安裝后腳本%preun卸載前腳本%postun卸載后腳本
          • rpm2cpio 包文件 | cpio “*.conf” 釋放包文件
        • 升級
          • -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重建
    • 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
      • 開發工具
        • autoconf:生成configure腳本
        • automake:生成makefile。in
      • 編譯前提:
        • 開發工具:make gcc等 開發環境:開發庫及頭文件等等

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

(1)
阿飛阿飛
上一篇 2018-04-22 20:40
下一篇 2018-04-22 20:59

相關推薦

  • Linux系統日志管理

    Linux系統中的日志記錄了系統每天發生的各種各樣的事情,你可以通過它來檢查錯誤發生的原因,或者受到攻擊時攻擊者留下的痕跡。日志對于安全來說,非常重要。

    2018-06-25
  • 第三周博客作業

    1、列出當前系統上所有已登錄的用戶名,注意:同一用戶登陸多次,則只顯示一次即可。
    2、取出最后登錄到當前系統的用戶的相關信息。
    3、取出當前系統上被用戶當作默認shell的最多的那個shell。
    4、將/etc/passwd中的第三個字段數值最大的后10個用戶的信息全部改為大寫后保存至/tmp/maxusers.txt文件中。
    5、取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分。
    6、列出/etc目錄下所有以.conf結尾的文件的文件名,并將其名字轉換為大寫后保存至/tmp/etc.conf文件中。
    7、顯示/var目錄下一級子目錄或文件的總個數。
    8、取出/etc/group文件中第三個字段數值最小的10個組的名字。
    9、將/etc/fstab和/etc/issue文件的內容合并為同一個內容后保存至/tmp/etc.test文件中。
    10、請總結描述用戶和組管理類命令的使用方法并完成以下練習:

    Linux筆記 2018-03-27
  • Linux 用戶及權限管理(未完)

    1、查看(登錄)用戶名稱及所啟動的進程 A、使用w命令查看登錄用戶正在使用的進程信息 w命令用于顯示已經登錄系統的用戶的名稱,以及他們正在做的事。該命令所使用的信息來源于/var/run/utmp文件。w命令輸出的信息包括: 用戶名稱 用戶的機器名稱或tty號 遠程主機地址 用戶登錄系統的時間 空閑時間(作用不大) 附加到tty(終端)的進程所用的時間(JC…

    Linux筆記 2018-05-28
  • shell

    shell 內外部命令

    2018-04-07
  • Docker容器技術之Docker Image

    鏡像是Docker容器的基石,容器是鏡像的運行實例,有了鏡像才能啟動容器。

    2018-08-02
  • 正則表達式簡單明了的學法

    以下的內容都是在centos6.9或centos7中做過后得出的一些個人看法,希望大家多多交流,有誤的地方請及時指正

    2018-04-07
欧美性久久久久