linux軟件包管理(開始上正菜了)

linux程序包管理:
     API:數據接口
     ABI:應用程序二進制接口
        庫級別的虛擬化:
             linux:wine
             windows:cywin
     系統級開發: c/c++ :httpd,nginx,vsftpd,go
     應用級開發:java python perl php 


c/c++程序格式:

          源代碼:文本格式的程序代碼;
             編譯開發環境:編譯器,頭文件,開發庫
          二進制格式:文本格式的程序代碼–>編譯器–>二進制格式
             開發環境:編譯器,開發庫

程序包管理器:
     源代碼–>目標二進制格式–>組織成為一個或有限幾個“包”文件;
          協助安裝,升級,卸載,查詢,校驗
程序包管理器
                 debian: dpt,dpkg “.deb”
                 rehat : rpm “.rpm”
                 suse  : rpm,

前段工具:自動解決依賴關系:
          yum:rpm包管理的前段工具
          apt-get:deb包管理器的前段工具
          zypper:suse的rpm管理器前端工具
          dnf:也是一種rpm包管理器的前端工具

查看二進制程序所依賴的庫文件               ldd /PATH/TO/BINARY_FILE

獲取程序包的途徑:
         系統發行版的光盤或官方的文件服務器(或鏡像站點)
         http://mirrors.aliyun.com
         http://mirror.sohu.com
         http://mirror.163.com
         項目的官方站點
         第三方組織:EPEL
               搜索引擎:http://pkgs.org
                         http://rpmfind.net
                         http://rpm.phone.net
         自己動手,豐衣足食
         建議:檢查其合法性
               來源合法性
               程序包的完整性
centos系統上rpm命令管理程序包:
          安裝,升級,卸載,查詢和校驗,數據庫維護
          rpm命令:
                 -i :安裝
                 -u :升級
                 -e :卸載
                 -q :查詢
                 -v :校驗
                 –builddb:數據庫維護
               –test:測試安裝,檢查并報告依賴關系及沖突消息等
               –nodeps:忽略依賴關系,不建議
               –replacepkgs:重新安裝
升級:
        rpm -u :升級或安裝
               -f :只升級
        rpm -uvh
             –oldpackage: 降級
             –force     : 強制升級
     注意:(1)不要對內核做升級操作,linux支持多內核版本并存,因此,直接安裝新版本
              (2)如果某原程序包的配置文件安裝后曾被修改過,升級時,新版本的程序提供的同一個配置文件不會覆蓋原版本的配                       置文件,而是把新版本的配置文件重命名后提供;
     卸載: 直接給包名即可
         rpm -e :卸載
               –allmatches:卸載所有匹配指定名稱的程序包的各版本
               –nodeps    :忽略依賴關系
               –test      : 測試卸載

     查詢:   rpm -qa  -qc  -ql  等
          rpm -q :查詢  
              -a :查詢所有已經安裝過的包
              -f file :查詢指定的文件由哪個程序包安裝生成
              -l :程序包安裝生成的所有文件列表
              -i : 程序包相關信息,版本號,大小,所屬的包組等
              -c : 查詢指定的程序包提供的配置文件
              -d : 查詢指定的程序包提供的文檔
              -p : 指定未安裝的包文件做查詢操作
     校驗: rpm -v  filenam      

包來源合法性驗證和完整性驗證:
             獲取并導入信任的包制作者的秘鑰
             驗證:
                        安裝此組織簽名的程序時,會自動執行驗證;
                        手動驗證:rpm -k packagefile
數據庫重建:
            rpm管理器數據庫路徑:/var/lib/rpm        rpm –initdb     初始化  如果 事先不存在數據庫,則新建之否則
            查詢操作:通過此處的數據庫進行;           rpm –rebuliddb    重建已安裝的包的數據庫索索引

            獲取幫助:
                          man rpm    centos6
                          man rpmdb  centos7  


YUM: Yellowdog Update Modifier ,rpm 的前端程序,可解決軟件包相關依賴性,可在多個庫之間定位軟件包,up2date
的替代工具
yum repository: yum repo ,存儲了眾多rpm 包,以及包的相關的元數據文件(放置于特定目錄repodata 下)
                       文件服務器:
                                        ftp://
                                        http://
                                        file://

yum 客戶端配置文件:
               /etc/yum.conf :為所有倉庫提供公共配置
               /etc/yum.repos.d/*.repo :為倉庫的指向提供配置
                             配置格式:   [repositoryID]

                                                baseurl=ftp://        或者http://      file://

                                                gpgcheck=0           不檢查簽名

             yum repolist     檢查是否成功 ,會顯示具體信息

ftp服務器創建yum源:

     rpm -ivh /mnt/P…    vsftp           安裝FPT服務
     service vdftpd  start                  開啟FTP服務
     systemctl start vsftpd.service         centos7 開啟FPT
     iptables  -F                          清除防火墻
                -vnL                        查看防火墻
     setenforce 0                        禁用selinux
     mkdir /var/ftp/pub/6            光碟掛載路徑
     mount -o loop centos.iso  /var/ftp/pub/   生產
     mount –bind /misc/cd/ /var/ftp/pub/      實驗

     http://server/centos/$releasever/$basearch/      通用格式

經過查找幫助: 以上設置最好設置開機自動啟動:

                     開機自動掛載光碟:/etc/fstab        

                           格式       /dev/cdrom        /var/ftp/pub/     iso9660   auto     0      0

                    自動開啟FPT服務:chkconfig  vsftpd    on      

                    自動關閉防火墻:  chkconfig iptables   off 

                    開機關閉selinux:vim /etc/sysconfig/selinux    把第七行改成permissive     (打開文件里面有說明的)  

 yum history       查看以前yum安裝信息

yum   history info  #      具體查看某信息

yum   history   undo #     撤銷#此次操作, 可以把曾經安裝過的依賴包都卸載

原創文章,作者:shewei,如若轉載,請注明出處:http://www.www58058.com/70663

(0)
sheweishewei
上一篇 2017-03-07
下一篇 2017-03-07

相關推薦

  • rsync+inotify實現數據的實時同步更新

    ? rsync可以實現觸發式的文件同步,但是通過crontab守護進程方式進行觸發,同步的數據和實際數據會有差異,而inotify可以監控文件系統的各種變化,當文件有任何變動時,就觸發rsync同步,這樣就可以解決同步數據的實時性問題。 一、rsync的優點與不足 rsync具有安全性高、備份迅速、支持增量備份等優點,通過rsync可以解決對實時性要求不高的…

    2018-01-06
  • CentOS系統安裝

    centos系統安裝        安裝程序:anaconda,Anaconda是RedHat、CentOS、Fedora等Linux的安裝管理程序。它可以提供文本、圖形等安裝管理方式,并支持Kickstart等腳本提供自動安裝的功能。此外,其還支持許多啟動參數,熟悉這些參數可為安裝帶來很多方便。該程序的功能是把位于光…

    Linux干貨 2016-09-23
  • SSH會話劫持實現端口轉發

    在進行滲透測試時,我們有時候會碰到搭建的測試環境、產品服務器、DMZ或者其他類似的機器群的情況,這時我們完全可以把它們看作跳板。這些系統被設計成對外交互的接口,這時候我們考慮對其他域里的用戶進行SSH會話劫持是個不錯的選擇。 那么如果你擁有了某一個跳板的控制權限,想要通過另一個域的用戶對遠程域進行訪問會怎么辦呢?當然,這時候你是沒有密碼、密鑰的,你不能拋棄二…

    系統運維 2015-03-23
  • 二進制、八進制、十進制、十六進制之間的轉換

    二進制、八進制、十進制、十六進制之間的關系:   二進制:0,1 八進制:0,1,2,3,4,5,6,7, 十進制:0,1,2,3,4,5,6,7,8,9 十六進制:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F   二進制與十進制之間的轉換: 十進制轉二進制:   二進制轉十進制:   二進制與八進制…

    2017-04-01
  • 用戶管理生產環境實踐案例

    關于用戶管理的命令回顧:visudo 用戶管理生產環境實踐案例 1. 關于用戶管理命令的回顧 2. 正文 關于用戶管理的命令回顧: <1> useradd命令 <2> 其他命令 (1)信息收集 (2)模擬用戶測試 <1> 問題現狀 <2> 需求分析 <3> 實現方針 <4>. 實施過程 …

    Linux干貨 2016-10-18
  • linux程序包管理

    對第五周學習的內容進行總結

    2018-01-01
欧美性久久久久