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 10:11
下一篇 2017-03-07 15:01

相關推薦

  • Linux啟動之grub詳解,故障排除,自建linux

    概述     上篇我們以CentOS6為例介紹了一下系統啟動流程,本篇將承接上篇,詳細的介紹一下系統啟動流程中的grub,以及系統啟動過程中的各種故障的排除,以及利用現有內核自己構建一個能夠正常啟動的簡單Linux系統。具體分為一下幾個部分:     1、grub相關概念詳解 &…

    Linux干貨 2016-09-13
  • haproxy 監控配置

    方法一:在defaults段增加如下配置: stats refresh 30s #統計頁面自動刷新時間stats uri /stats #統計頁面urlstats realm baison-test-Haproxy #統計頁面密碼框上提示文本stats auth admin:admin123 #統計頁面用戶名和密碼設置stats hide-version #…

    Linux干貨 2018-03-19
  • 如何刪除一個目錄下的所有文件,但保留一個指定文件。附一些常用命令

    解答: 假設這個目錄是/xx/,里面有file1,file2,file3..file10   十個文件 方法如下: find /date -type f ! -name “file10″|xargs rm -f 另外還有其他的方法比如:rsync命令和bush的 extglob功能等。在此不一一列舉。 附常用命令: 文件和目…

    2017-07-15
  • AWK——文本處理三劍客

    GNU awk ·文本處理三工具:grep,sed,awk          grep,egrep,fgrep:文本過濾工具:pattern          sed:行編輯器  &nbsp…

    Linux干貨 2016-09-20
  • vncserver安裝配置小結

      安裝VNC Server 端:        1. yum install  tigervnc-server         //RHEL6: vnc server的包名          yum &nbs…

    Linux干貨 2016-03-09
  • httpd

      httpd http服務器程序:   httpd (apache) nginx lighttpd httpd的特性:   高度模塊化: core + modules DSO:dynamic shared object(模塊的動態加載) MPM:Multipath processing Modules (多路處理模塊) &nb…

    Linux干貨 2017-06-04
欧美性久久久久