1. 程式人生 > >為redhat增加apt軟體包管理工具

為redhat增加apt軟體包管理工具

前言

你使用什麼方法在管理你的 RPM,從光碟片安裝,從網路下載安裝、還是使用 Red Hat 的 up2date(Red Hat Network)在維護,這些都是解決問題的方法,可是你可以有更好的選擇 -- APT

一、 簡介
redhat採用了RPM軟體包管理系統,RPM軟體包管理系統具有強大的編譯安裝功能,但是由於歷史原因,RPM軟體包管理系統對軟體之間的依存關係沒有內部定義,造成安裝RPM軟體時經常出現令人無法理解的軟體依賴問題。
debian系統則基於apt(Advanced Packaging Tool)工具進行軟體包管理,可以自動解決並安裝倚賴軟體包,因此debian linux被認為是最容易管理和升級的系統,apt工具也被認為是目前最好的軟體包管理工具之一。為了解決redhat包管理系統的致命問題,Conectiva Linux將apt系統移植到了使用rpm軟體包管理系統的Linux系統下,使得基於RPM軟體包的系統可以利用apt工具提供的自動解決倚賴關係的能力。目前已經有很多為redhat linux提供apt方式升級管理軟體包的站點,如http://freshrpms.net , http://apt.unl.edu等等,使得redhat也成為可以利用apt工具的發行版之一,本文介紹如何在redhat linux系統安裝和使用apt軟體包管理工具。
為了對apt工具的特性有一個大致的瞭解,下面先介紹幾個使用apt with rpm管理系統的例項:
(1)刪除一個軟體包時自動刪除相關軟體包:
[

[email protected] root]# apt-get remove nessus-common

2)自動下載安裝依賴包:
[[email protected] root]# apt-get install nessus-server

(3)維護系統軟體,自動更新系統 :
[[email protected] root]# apt-get upgrade


二、APT 簡易運作原理

我們的機器安裝了 APT 套件之後就成了 APT 的使用者端,當我們在安裝、升級 RPM 的時候,事實上,都是透過網路連到遠端的 APT 伺服器去下載 RPM 回來安裝的,APT 伺服器我們是可以自己指定的,而 APT 使用者端也可以同時成為 APT 伺服器(在第二節我們會講到 APT 伺服器的架設)

apt-get update

指令會同步使用者端和 APT 伺服器的 RPM 索引清單(package list),APT 伺服器的 RPM 索引清單置於 base 資料夾內(base 資料夾是由 genbasedir 指令所產生),使用者端計算機取得 base 資料夾內的 bz2 RPM 索引清單壓縮檔案後,會將其解壓置放於 /var/state/apt/lists/,而使用者使用 apt-get installapt-get dist-upgrade 指令的時候,就會將這個資料夾內的資料和使用者端計算機內的 RPM 資料庫比對,如此一來就可以知道那些 RPM 已安裝、未安裝、或是可以升級的,所以一旦 APT 伺服器內的 RPM 有所更動,一定要記得使用 genbasedir
指令產生新的RPM索引清單。

redhat 9.0

[[email protected] root]# rpm -ihv apt-0.5.4cnc9-fr1.i386.rpm
freshrpms.net同時提供了一個圖形介面的apt-rpm介面Synaptic,使用圖形介面的apt更加方便,安裝了apt後,可以直接利用apt安裝Synaptic:
[[email protected] root]# apt-get update
[[email protected] root]# apt-get install synaptic
在幾行提示之後Synaptic就安裝好了,進入Xwindow,Synaptic會出現在“系統設定”選單裡面。[Fixme: redhat 7.x版本Synaptic出現在哪裡?]

三、使用apt
在redhat上面使用apt和在debian下面使用幾乎完全一樣,配置檔案在/etc/apt/,按照前面介紹安裝好apt之後就可以使用並可以更新redhat提供的RPM更新以及freshrpms.net提供的更新了。主要執行命令如下:
(1)更新軟體列表,獲取遠端rpm伺服器上的軟體列表和相互依賴關係列表,所有可用軟體的下載地址都在/etc/apt/sources.list裡面定義,下面的多數下載操作地址也是在這裡定義的。
[[email protected] root]# apt-get update
(2)檢查本地軟體依賴關係合法性,由於rpm系統的問題,很多系統會存在一些依賴問題,用下面命令檢查依賴關係,同時apt-get會提供一些修復方案,只有本機沒有依賴關係問題了才能良好地使用apt-rpm。一個新安裝的乾淨系統不會有依賴關係問題。
[[email protected] root]# apt-get check
(3)安裝或升級一個新軟體
[[email protected] root]# apt-get install package-name
package-name是rpm包的名字的前面部分,不包含版本號,如果選擇不同的處理器型別,可以在後面新增@i686等標識。
(4)升級所有系統軟體
[[email protected] root]# apt-get upgrade
(5)全面升級,比upgrade更加智慧化的升級,同時解決升級時的一些依賴關係
[[email protected] root]# apt-get dist-upgrade
(6)解除安裝軟體,同時解除安裝依賴軟體
[[email protected] root]# apt-get remove package-name
(7)清除本地下載的rpm包,rpm包下載後儲存在/var/cache/apt/archieves下面,本命令清除已下載安裝過的rpm檔案
[[email protected] root]# apt-get clean
以上所有命令都可以通過圖形介面的前端軟體Synaptic完成,圖形化的軟體使用起來更加直觀,理解了前面幾個主要命令,就可以毫無困難地使用Synaptic了,所以本文不再贅述Synaptic的使用方法了。

四 定製apt-rpm

(1)新增軟體資源列表
在apt-rpm系統裡面新增軟體資源非常容易,只需要按照提供apt服務的伺服器的說明在/etc/apt/sources.list裡面加入對網站的描述即可。
這一行引數的格式為:
rpm uri distribution [component1] [componenent2] [...]
其中,uri為軟體資源的地址,可以是http,ftp,file等URL地址,distribution是redhat發行版本,如 7.2,7.3,8.0等等,後面的component可以忽略。有時候可能只對某軟體資源的一或幾部分部分感興趣,那麼可以在這裡明確指出。
例如新增http://apt.unl.edu/ 提供的redhat KDE 3.1的測試軟體包,只需要在sources.list裡面新增一行:
rpm ftp://apt.unl.edu/apt/ 8.0 kde3-test
就將該網站的kde3部分加入了列表。
下面是一些目前可以用於redhat 的apt-rpm軟體資源列表,把它們加入你的 /etc/apt/sources.list 檔案就可以通過apt-rpm使用他們提供的redhat軟體更新和維護了,參看網站說明。(前面是網站名,後面是適用redhat版本和簡介)
http://apt.freshrpms.net/  - Red Hat Linux 6.2, 7.x 、8.0and 9.0 repositories (with all freshrpms included of course!)
http://www.linux.cz/apt-rpm/  - Red Hat Linux 7.x repositories (with all freshrpms included too!)
http://apt-rpm.tuxfamily.org/ - Red Hat Linux 6.2, 7.x 、8.0and 9.0  repositories
http://apt.nlc.no/apt/ - Red Hat Linux 6.2, 7.x and Rawhide repositories
http://ftp.uninett.no/pub/linux/apt/ - Red Hat Linux 6.2, 7.x、8.0and 9.0  and Rawhide repositories
http://redhat.usu.edu/ - Red Hat Linux 7.2, 7.3 and 8.0 repositories
ftp://mirror.pa.msu.edu/apt/ - Red Hat Linux 7.2, 7.3 and 8.0 repositories
http://apt-rpm.codefactory.se/ - Red Hat Linux 7.2, 7.3 and 8.0 and gnomehide repositories
http://apt.42h.de/ - Red Hat Linux 7.2, 7.3 and 8.0 repositories
http://apt.toggletext.com.au/ - A few Red Hat Linux 7.2 custom packages
http://people.ecsc.co.uk/~matt/repository.html - Lots of custom Red Hat Linux 8.0 GNOME 2 and related packages
http://ftp-stud.fht-esslingen.de/apt/ - Red Hat Linux 7.x, 8.x and rawhide
http://apt.unl.edu/ - Red Hat Linux 7.3 and 8.0
http://kde-redhat.sourceforge.net/ - KDE for Red Hat project


(2)把redhat安裝盤新增到軟體源
有的時候需要從redhat安裝光碟或者iso檔案安裝、解除安裝軟體,這時可以把redhat安裝光碟設定為軟體源。這種工作方式需要首先掃面安裝光碟上的軟體包,並在 /var/lib/apt/cdroms.list檔案中建立光碟軟體列表。
如果使用redhat光碟,只需要把光碟插入光碟機,下面命令會自動mount光碟並建立列表
[[email protected] root]# apt-cdrom add
如果是使用ISO檔案安裝,首先mount ISO檔案到mount-point,把mount point輸入,就可以自動搜尋RPM軟體列表了。
[[email protected] root]# apt-cdrom -m -d mount-point add
如果是解開的硬碟映像安裝,只需要把路徑輸入,就可以自動搜尋RPM軟體列表了。
[[email protected] root]# apt-cdrom -m -d path add

五、 架設簡易 APT 伺服器 (這裡只講解Redhat 9)

注意:在進行下面操作前請先確認自己的 apache 已經在正常運做,且 /var 至少還有 2G 的空間

1.為什麼要架設 APT 伺服器

當我們安裝 freshrpms 的 apt,安裝、升級都是透過網路聯機到 freshrpms 下載檔案。若只維護一臺伺服器,還好,可是若有十臺伺服器,就需要花原本十倍的時間和頻寬來做同樣的事情,再加上若連外(美國)的頻寬不充裕,這要如何是好,所以當有多臺伺服器要維護的時候,架設一臺 APT 伺服器,似乎是不錯的選擇。

2.安裝 apt:

3.建置放置 Red Hat Linux 9 相關 rpm 的資料夾

mkdir -p /var/www/html/redhat/9
mkdir /var/www/html/redhat/9/RPMS.os
mkdir /var/www/html/redhat/9/RPMS.updates

4.將整個 Red Hat Linux 9 的 binary rpm 複製到 /var/www/html/redhat/9/RPMS.os 資料夾

(底下提供三種方法,請依自己狀況挑選一種方法執行)

方法一:從光碟片複製(當手上有 Red Hat Linux 9 光碟片的時候可以用這個方法)

mount /mnt/cdrom
cp -f /mnt/cdrom/RedHat/RPMS/* /var/www/html/redhat/9/RPMS.os/
umount /mnt/cdrom

依照上面方法,複製第二片、第三片光碟片內的 rpm


方法二:從 iso 檔案複製(當計算機內有 Red Hat Linux 9 iso 檔的時候可以用這個方法用)

mkdir /mnt/iso

mount -o loop shrike-i386-disc1.iso /mnt/iso
cp /mnt/iso/RedHat/RPMS/* /var/www/html/redhat/9/RPMS.os/
umount /mnt/iso

mount -o loop shrike-i386-disc2.iso /mnt/iso
cp -f /mnt/iso/RedHat/RPMS/* /var/www/html/redhat/9/RPMS.os/
umount /mnt/iso

mount -o loop shrike-i386-disc3.iso /mnt/iso
cp -f /mnt/iso/RedHat/RPMS/* /var/www/html/redhat/9/RPMS.os/
umount /mnt/iso

5.將 Red Hat Linux 9 updates 的 rpm 複製到 /var/www/html/redhat/9/RPMS.updates 資料夾

cd /var/www/html/redhat/9/RPMS.updates
wget ftp://linux.sinica.edu.tw/pub1/redhat/updates/9/en/os/i386/*

(若網路頻寬不高,會花很久時間,請耐心等候)

6.使用 genbasedir 指令產生 base 資料夾和 rpm 索引清單

genbasedir --flat --bloat --bz2only /var/www/html/redhat/9 os updates

執行過程:(過程會有點久,請耐心等候)

Creating base directory... done
Components: os updates



相關推薦

redhat增加apt軟體管理工具

前言 你使用什麼方法在管理你的 RPM,從光碟片安裝,從網路下載安裝、還是使用 Red Hat 的 up2date(Red Hat Network)在維護,這些都是解決問題的方法,可是你可以有更好的選擇 -- APT 一、 簡介 redhat採用了RPM軟體包管理系統,R

RPM軟體管理工具使用詳解

1.RPM概述 1.1 RPM Package Manager 由 Red Hat 公司提出,被眾多 Linux 發行版所採用 建立統一的資料庫檔案 詳細記錄軟體包安裝、解除安裝等變化資訊 自動分析軟體包依賴關係 1.2 RPM軟體包 軟體素材參考:htt

第6章 DNF軟體管理工具

DNF是FEDORA的軟體包管理工具,可以查詢軟體包的資訊、從軟體倉庫中獲取軟體,安裝、刪除軟體包,並自動處理包依賴。它還可以把所有軟體更新到最新版本。因為DNF能在安裝、刪除和更新軟體時自動處理包依賴,所以也就可以自動安裝依賴包。DNF可以配置多個的軟體倉庫,也提供了很多增強功能的外掛。

linux的軟體管理工具---rpm與yum

一、rpm和yum簡介 ReHat和CentOS廠商的linux上的軟體均是以rpm軟體包的方式來安裝的。rpm是安裝的是一種經過編譯後的軟體包,即是廠商經過在自己的一套硬體和軟體平臺編譯安裝後無問題打成的一個包,以這種方式安裝軟體可以認為是第一需要和其原始的硬體和軟體平臺

Mac下安裝Brew軟體管理工具

Brew又叫Homebrew,是MacOSX上的軟體包管理工具,能在Mac中方便的安裝軟體或者解除安裝軟體,brew類似ubuntu系統下的apt-get的功能。 一、安裝brew 1、安裝brew

Debian和Ubuntu系統的軟體管理工具

1、dpkg的使用方法dpkg是一個Debian的一個命令列工具,它可以用來安裝、刪除、構建和管理Debian的軟體包。下面是它的一些命令的使用方法及解釋:  (1) 安裝軟體用法: dpkg -i <.deb file name>示例:dpkg -i sogoupinyin_2.0.0.007

Linux學習(五)軟體安裝與管理工具

一、使用RPM管理 telnet-server 軟體包 1.RPM軟體包管理工具 RPM(Red Hat Package Manager)小紅帽軟體包管理工具,常用於軟體包的安裝、查詢、更新升級、校驗、解除安裝及生成.rpm格式的軟體包等操作。 注:RPM只能管理字尾.rpm的軟

linux下apt 與dpkg安裝管理工具的區別

linux下的安裝包管理工具 一般來說linux系列主要分為兩類: RedHat系列:RedHat,Centos,Fedora Debian系列: Debian,Ubuntu等 2.Debian系列: Debian,Ubuntu等 Dpkg(Debian

ubuntu下安裝依賴關係(問題)& apt管理工具(解決方法)

用到ubuntu時難免要安裝千奇百怪包以用於資料的處理與解釋,之前都是有通過#sudo apt-get install,或是通過自行下載之後#sudo dpkg -i 檔名 進行安裝。可是,對於這兩者到底是幹什麼的,還有為什麼包有依賴關係是一直一臉矇蔽的,今天看了幾位大神的帖

linux之apt與dpkg安裝管理工具的區別

一般來說linux系統主要分為兩大類: 1.RedHat系列:RedHat,Centos,Fedora等; 2.Debian系列:Debian,Ubuntu等; Dpkg(Debian系):Ubuntu RPM(RedHat系):Centos,Fedora RedHat

Ubuntu apt-get軟體管理

apt-get的解除安裝相關的命令有remove/purge/autoremove/clean/autoclean等。具體來說: apt-get purge / apt-get –purge remo

Linux-軟體管理-wget,rpm,yum,apt-get

wget 類似於迅雷,是一種下載工具, 通過HTTP、HTTPS、FTP三個最常見的TCP/IP協議下載,並可以使用HTTP代理 名字是World Wide Web”與“get”的結合。 rpm,軟體管理,redhat的軟體格式rpm,r=redhat,

Python管理工具(pip)

too led -i min date pycuda nts nbsp env 1 前言 pip 是一個Python包管理工具,主要是用於安裝 PyPI 上的軟件包,可以替代 easy_install 工具。 GitHub: https://github.

Python管理工具pip的基本使用

1.0 配置 .net 簡介 pac com 新的 png == 參考網址:https://pip.pypa.io/en/latest/quickstart/ 1.簡介 pip 是一個Python包管理工具,主要是用於安裝 PyPI 上的軟件包,可以替代 easy_inst

iOS管理工具Cocoapods的安裝與使用

data == 鏡像 tracking libtool 們的 install 包管理 問題解決 在我們開發移動應用的時候,一般都會使用到第三方工具,而因為第三方類庫的種類繁多,我們在項目中進行管理也會相對麻煩,所以此時我們就須要一個包管理工具。在iOS開發中

windows安裝python管理工具pip

pipwindows安裝python包管理工具pip pip 是一個Python包管理工具,主要是用於安裝 PyPI 上的軟件包,可以替代 easy_install 工具。一、前期準備 首先確認windows機器上面是否已經安裝好了python。在cmd中輸入python --version和py

Linux 入門記錄:二十、Linux 管理工具 YUM

倉庫 清理 bug entos 需要 tro eat 參數 基於組 一、YUM(Yellowdog Updater, Modified) 1. yum 簡介 RPM 軟件包形式管理軟件雖然方便,但是需要手動解決軟件包的依賴問題。很多時候安裝一個軟件首先需要安裝 1 個或

9、程序管理工具

程序包管理1、程序包的組成: 由四部分組成:二進制格式文件、庫文件、配置文件、及幫助文件。 2、程序包管理工具作用:管理工具用來管理程序的安裝、升級、卸載、查詢、校驗等操作。3、項目構建工具:用來解決哪些源文件先編譯,哪些庫文件先編譯,源文件和庫文件的依賴關系。c、c++:程序包項目構建工具:makejava

python3管理工具問題

工具 kaa dpa ec2 使用 rpi cux mod wpa 關於使用鏈表求兩個集合的交集並集和差集的問題 精通正則表達式七:占有優先量詞和量化分組 Shell腳本的靜態檢查工具shellcheck 反射_程序集_打包庫文件_引用庫文件 yq7人餒缺http:

[golang] Glide 管理工具,在windows10 64位系統上的bug修復方案

環境 all 管理工具 oos for 討論 pos inb direct bug重現 [ERROR] Unable to export dependencies to vendor directory: Error moving files: exit status 1