1. 程式人生 > >Linux軟體管理

Linux軟體管理

前提:安裝軟體必須要管理員許可權,centos和Redhat所有的軟體都是以rpm形式安裝的。

開源軟體說明:

  • 絕大多數開源軟體都是以原始碼的形式釋出,通常會被打包成tar.gz的歸檔壓縮檔案;
  • 原始碼需編譯成二進位制檔案後才能執行,編譯基本流程:
    • ./configure:檢查編譯環境、相關庫檔案以及配置引數並生成makefile;
    • .make:對原始碼進行編譯,生成可執行檔案;
    • make install:將生成的可執行檔案進行安裝
  • 原始碼形式的軟體編譯起來較麻煩,但是相容性和可控制性較好;
  • 開源軟體通常會大量使用其它開源軟體的功能;

RPM軟體包管理

為了解決軟體原始碼操作複雜,編譯時間長,極容易出錯的問題,erik troan和Marc ewing開發了RPM(redhat package manager)。

RPM:通過將原始碼基於特定的平臺系統編譯為可執行檔案,並儲存依賴關係,來簡化開源軟體的安裝過程。

RPM設計目標:

  • 時間簡單;
  • 使用單一軟體包格式檔案釋出(.rpm);
  • 可升級;
  • 追蹤軟體的依賴關係;
  • 軟體驗證功能;
  • 支援多平臺;

RPM軟體包常用命名規範:名稱-版本-系統版本-位數.rpm,如linuxcast-1.2.0.el6.i686.rpm

RPM基礎命令:已經安裝過的包用包名,未安裝過的包用包全名

  • 安裝軟體:rpm –I software.rpm
  • 解除安裝軟體:rpm –e softwarename
  • 升級形式安裝:rpm –U software-new.rpm
  • rpm支援通過http、ftp協議安裝軟體:rpm –ivh http://www.linuxcast.net/software.rpm
  • 命令引數:
    • -v:顯示相關資訊
    • -h:顯示進度條

PRM查詢命令:RPM會儲存軟體的很多相關資訊

  • rpm –qa:列出所有已安裝的rpm軟體
  • rpm –qi packagename:查詢已安裝rpm軟體的資訊
  • rpm –ql packagename:查詢已安裝rpm軟體包含的檔案
  • rpm –qf filename:列出目標檔案屬於哪個rpm包
  • rpm –qip software.rpm:檢視rpm檔案的資訊
  • rpm –qlp software.rpm:檢視rpm檔案包含的檔案

RPM驗證:rpm軟體包在傳播過程中可能會被惡意的修改,所以為了安全現代作業系統都加入了對軟體的驗證功能,驗證一般使用非對稱演算法,所以需要一個祕鑰。

  • 匯入祕鑰(如果沒有則需匯入):rpm –import RPM-GPG-KEY-CentOS-6
  • 驗證未安裝的rpm軟體:rpm –K software.rpm
  • 驗證已安裝的rpm軟體:rpm –V software

RPM依賴:

  • 樹形依賴:A-B-C,依次安裝即可解決
  • 環形依賴:A-B-C-A,同時安裝即可
  • 模組依賴:即依賴一些函式,通常包含在一些rpm包中,需要自己找到這些包,http://www.rpmfind.net/

RPM包中檔案提取:cpio [option] < file

  • 一般用法:rpm2cpio packagename | cpio –idv .route
  • option:
    1. -i:copy-in模式,還原
    2. -d:還原時自動新建目錄
    3. -v:還原時顯示過程

rpm一般安裝位置:

rpm驗證結果顯示:

YUM軟體管理

YUM(yellowdog uodater modified):是rpm的一個前端程式,主要目的是設計用來解決RPM的依賴關係問題,特點如下:

  • 安裝rpm包時自動解決依賴關係;
  • 可對rpm包進行分組,並基於分組進行安裝;
  • 引入了倉庫的概念,支援多個配置檔案,每個配置檔案多個倉庫;
  • 配置簡單;

YUM倉庫:用來存放rpm包,會在倉庫中自動查詢安裝軟體需要的rpm包(如果找不到則無法安裝),倉庫可以是本地的,也可以通過HTTP、FTP或NFS形式集中管理的網路倉庫。

YUM倉庫的配置檔案:

  • 儲存在/etc/yum.repos.d/下,每個配置檔案的名字不做限制,但是必須以.repo結尾;
  • 格式如下:

[倉庫名稱]

name=倉庫描述資訊

baseurl=倉庫地址,網路或本地(file://開頭);或mirrorlist的映象形式

enabled=1開啟倉庫,0關閉倉庫,如不配置則預設開啟

gpgcheck=1校驗rpm包,0不校驗

gpg=校驗檔案

YUM倉庫建立:

本地倉庫:

  1. 將所有rpm檔案拷貝到一個資料夾中;
  2. 通過rpm或yum命令手工安裝createrepo軟體;
  3. (無分組資訊)執行命令createrepo –v /rpm-directory;
  4. (有分組資訊)執行命令createrepo –g /tmp/*comps.xml /rpm-directory
  5. 新增yum倉庫檔案至/etc/yum.repos.d/下,可以新建或新增至已有的

說明:createrepo命令實際是建立rpm的索引(存放在rpm資料夾中,名為repodata),分組資訊儲存在以comps.xml結尾的xml檔案中。

網路倉庫:

  1. 將建立好的本地倉庫通過HTTP、、FTP或NFS協議共享出去;
  2. 新增yum倉庫檔案至/etc/yum.repos.d/下,可以新建或新增至已有的

YUM基本命令:

  • yum install software-name:安裝指定軟體
  • yum remove software-name:解除安裝指定軟體(不會解除安裝依賴軟體)
  • yum update software-name:升級指定軟體

YUM查詢命令:

  • yum search keyword:搜尋倉庫中軟體
  • yum list all/installed/recent/updates:列出倉庫中全部軟體、已安裝軟體、最近軟體、更新過的軟體;
  • yum info packagename:顯示倉庫中指定軟體資訊;
  • yum whatprovides filename:查詢目標檔案在那個rpm包中;

YUM軟體組管理命令:

  • yum grouplist:列出可用組
  • yum groupinstall groupname:安裝組
  • yum groupremove groupname:解除安裝組

YUM清除快取命令:yum為了提高速度會快取很多資訊,且每次執行安裝或查詢類命令時會重建快取,但是有時候快取會造成一些故障,可以通過命令yum clean all來清除快取。

​​​​​​​​​​​​​​原始碼安裝

原始碼包和rpm包安裝位置的區別:rpm包一般不指定安裝位置,由作者決定,而原始碼包沒有解除安裝命令需要指定安裝位置。

安裝過程:

  • ./configure:可能不是configure,但是會有替代檔案
    1. 定義需要的功能選項,可通過—help檢視;
    2. 檢測系統環境是否符合安裝要求;
    3. 把前兩者的資訊寫入makefile中,使用者後續編譯安裝;
  • make:編譯
    1. make clean:出錯時清除編譯檔案

make install:安裝,出錯需要刪除confiugre時指定的檔案,然後make clean,然後重來

相關推薦

Linux 軟體管理

原創轉載自海牛部落-青牛,http://hainiubl.com/topics/172 1 什麼是yum? 1.1 yum 簡介 yum 的理念是使用一箇中心倉庫(repository)管理一部分甚至一個distribution 的應用程式相互關係,根據計算出來的軟體依賴關係進行相關的升級、

Linux初級運維(十四)——Linux軟體管理

一、軟體包管理     1、應用程式:         程式,Architecture      C語言:原始碼-->(編譯

linux 軟體管理方式

linux系統中軟體的安裝,升級,解除安裝 centos軟體管理方式: 二進位制檔案(注意相容問題) 原始碼編譯安裝, 軟體管理器rpm 軟體管理器前段工具yum 軟體包組成: 二進位制檔案:/bin /usr/bin... 庫檔案:/lib  /usr/l

Linux軟體管理

前提:安裝軟體必須要管理員許可權,centos和Redhat所有的軟體都是以rpm形式安裝的。 開源軟體說明: 絕大多數開源軟體都是以原始碼的形式釋出,通常會被打包成tar.gz的歸檔壓縮檔案; 原始碼需編譯成二進位制檔案後才能執行,編譯基本流程: ./confi

十一、Linux軟體安裝管理

RPM包 優缺點 二進位制包的優點: 1.包管理系統簡單,只通過幾個命令就可以實現包的安裝、升級、查詢和解除安裝 2.安裝速度比原始碼包快很多 二進位制包的缺點: 2.功能選擇不如原始碼包靈活 3.依賴性 命名原則 dhcp-4.2.5-27.el7.x86_64.r

Day8 linux軟體管理

軟體包的兩種形式      qq.tar.gz  (需要編譯 原始碼翻譯成二進位制)/ rpm (直接安裝) rpm的檔名分為5部分 name名稱  version版本編號  release釋出次數  archite

Linux軟體管理 RMP包管理

RPM 包的命名一般都會遵守統一的命名規則,例如: httpd-2.2.15-15.el6.centos.1.i686.rpm 其中的各項代表的含義如下: httpd:軟體包名。 2.2.15:軟體版本。 15:軟體釋出的次數。 el6:軟體發行商。el6 是由 Red Hat 公司釋

Linux軟體管理 RMP包

RPM 包的安裝雖然很方便和快捷,但是依賴性實在是很麻煩,尤其是庫檔案依賴,還要去 rpmfind 網站査找庫檔案到底屬於哪個 RPM 包,從而導致 RPM 包的安裝非常煩瑣。那麼,有沒有可以自動解決依賴性、自動安裝的方法呢?答案是肯定的,yum 線上管理就可以自動處理 RPM 包的依賴性問題,從而大大簡化

Linux之Python的apt軟體管理和遠端

1.apt介紹 apt是Advanced Packaging Tool的簡稱,是一款安裝包管理工具。在Ubuntu下,我們可以使用apt命令可用於軟體包的安裝、刪除、清理等,類似於Windows中的軟體管理工具。 2.操作的相關命令 sudo apt-get update 更新源 sud

linux軟體管理

摘要:在Windows下安裝軟體很簡單,只需要雙擊字尾為.exe的檔案,然後根據提示連續單擊“下一步”即可。那麼在Linux下如何安裝軟體呢?這篇博文就來介紹如何在linux下安裝軟體。內容主要有 1)介紹rpm工具並管理rpm軟體 2)用yum工具實現軟體管理 3)共享yum源 4)安裝第

Linux軟體管理——簡介

課程大綱: 一、軟體包管理簡介 常識:Linux和Windows中的軟體包一般不能通用,比如wpsy 1、軟體包分類: 原始碼包:原始碼直接開放提供給使用者的包,多數原始碼包都是c語言,也有部分是c++寫的原始碼包。特點:安全穩定、開源、可定製、不方便安裝、耗時間。 &nbs

Linux軟體之怎麼進行軟體管理?如何查詢、安裝、解除安裝軟體呢?(Ubuntu)

文章目錄 1. 如何搜尋和檢視軟體庫裡的軟體呢?使用apt-cache 2. 如何安裝和解除安裝軟體呢?使用apt-get 3. 如何檢視系統已安裝的軟體包呢?使用dpkg 4. 還有沒有更強大的功能呢?使用aptitude

大資料技術學習筆記之linux基礎3-軟體管理與shell指令碼開發

一、Linux軟體管理     -》壓縮檔案管理         -》常見壓縮格式             -

Linux運維之道-軟體管理(yum.rpm,make)

轉載於:https://blog.csdn.net/liulong1010/article/details/84726331 軟體管理 ​ 目前流行的軟體包格式: 可直接執行的RPM與DEB、原始碼形式的gzip與bzip2壓縮包 RPM軟體包管理 rpm rpm [選項

linux學習 lesson12軟體管理

一、虛擬機器yum源配置 step1 virt-manager開啟kris的硬體管理,add Hardware. 開啟虛擬機器顯示映象已經安裝。 step2 建立映象掛載檔案。 掛載成功! step3 編輯系統識別檔案。並使其生效。 虛擬機器yum源配置成功,可以安裝映

Linux Ubuntu中軟體管理apt & dpkg知識整理

一、 Ubuntu中軟體安裝方法 1)APT方式 (1)普通安裝:apt-get install softname1 softname2 …; (2)修復安裝:apt-get -f install softname1 softname2… ;(-f Atemp to c

五、學習筆記-Linux軟體管理(2)

APT高階軟體包管理工具 工作原理 Ubuntu採用集中式的軟體倉庫機制,將各式各樣的軟體包分門別類地存放在軟體倉庫中,進行有效地組織和管理。然後,將軟體倉庫置於許許多多的映象伺服器中,並保持基本一致。因此,對於使用者,這些映象伺服器就是他們的軟體源(reposity)。 在Ubu

五、學習筆記-Linux軟體管理(1)

流行的兩種軟體包管理機制 (1)Debian Linux首先提出“軟體包”的管理機制—Deb軟體包 將應用程式的二進位制檔案、配置檔案、man/info幫助頁面等檔案合併打包在一個檔案中,使用者使用軟體包管理器直接操作軟體包,完成獲取、安裝、解除安裝、查詢等操作。 (2)Redhat L

Linux程序管理、執行任務 和 軟體安裝(筆記)

一、Linux程序管理 系統:centos7 在linux系統中,分為前臺程序和後臺程序,前臺程序意思就是當一個命令執行的過程中,不允許其他的命令執行,我們之前所學習的常用命令基本上都是前臺程序。 比如

Linux資料庫管理——day12——Redis資料庫叢集、Ruby軟體簡析

部署redis叢集    1. 將redis部署進入叢集       1.1 修改主配置檔案/etc/redis/6379.conf sed -i 's/# cluster-enabled/cluster-enabled/' /etc/redis/6379.conf se