1. 程式人生 > >Linux rpm包、rpm原始碼包及tar原始碼包的安裝詳解

Linux rpm包、rpm原始碼包及tar原始碼包的安裝詳解

在使用linux系統的過程中,軟體包的安裝是避免不了的,在linux下,軟體安裝程式的種類很多,安裝方法也格式各樣,論安裝的舒適肯定比不上windowswindows安裝軟體基本就是用滑鼠點選下一步,如果學習linux的軟體包安裝,還像windows那樣點選滑鼠下一步安裝,那就太對不起linuxshell了,linuxshelllinux的圖形化介面要強大太多了。好了廢話不多說了,安裝軟體包,首先要了解軟體包的組成

      軟體包由二進位制檔案、庫檔案、配置檔案、幫助檔案、標頭檔案等這重要的部分組成。他們分別存放在系統的那些路徑裡面?

二進位制檔案:/bin,  /sbin,  /usr/bin, /usr/sbin,

/usr/local/bin,/usr/local/sbin

庫檔案:/lib,  /usr/lib, /usr/local/lib

配置檔案:/etc

幫助檔案:/usr/share/man,  /usr/local/share/man,  {像README, INSTALL檔案主   要存放在 /usr/share/doc}

標頭檔案:/usr/include/

1、軟體包的安裝方法之rpm安裝的相關操作

rpm包的組成:name-version-release.arch.rpm

      name:表示包的名稱,包括主包名和分包名

      version:表示包的版本資訊

      release:用於標識rpm

包本身的發行號,可還包含適應的作業系統

      arch:表示主機平臺,noarch表示此包能安裝到所以平臺上面

gd-devel-2.0.35-11.el6.x86_64.rpm

      gd是這個包的主包名,devel是這個包的分包名,

      2.0.35是表示版本資訊,2為主版本,0為此版本,35為修訂號,

      11.el6中的11是表示發行號,el6表示是RHEL6

      x86_64是表示包適合的平臺,如果是noarch這表示與平臺無關

option

引數解釋

Example

安裝

-i

安裝

-v|-vv|-vvv

顯示詳細資訊

-h

#顯示安裝進度一個#表示2%的進度

rpm -ivh zsh-4.3.10-5.el6.x86_64.rpm

--nodeps

忽略依賴關係

--test

測試安裝

--replacepkgs

重新安裝(安裝的包已經安裝了)

升級

-U   -Uvh

升級+安裝

-F    -Fvh

升級(此包已經安裝了)

--force

有衝突強制升級

--nodeps

忽略包依賴性關係

解除安裝

-e

解除安裝

rpm  -e  包名

--nodeps

忽略包依賴性關係

查詢

-q  |--query

rpm -q|--query  包名

-qa

檢視所有已經安裝的包

rpm -qa  檢視所有包名

rpm -qa |  grep包名檢視某個包名

-qi

檢視包的摘要資訊

-qf

檢視檔案是有那個包安裝的

rpm  -qf  /path/to/file

-ql

檢視包安裝生成的檔案清單

-qc

檢視包安裝生成的配置檔案

-qd

檢視包安裝生成的幫助文件

-q  --scripts

檢視相關的指令碼

rpm -q--script  包名

-qp[i|l|d|c]

檢視尚未安裝包的詳細資訊

rpm-qpi/path/to/rpm_file

校驗

-V

rpm -V  包名

資料庫管理

--initdb

新建

rpm  --initdb

--rebuilddb

重建

rpm  --rebuilddb

2、軟體包的安裝方法之yum安裝的相關操作

    yum(Yellowdog Update  Manager),yumRPM的前端工具,是基於RPM的一個管理工具,他能自動的解決安裝rpm包產生的依賴關係。

    yum的配置檔案    /etc/yum.conf

    yum  repository倉庫的配置檔案/etc/yum.repos.d/*.repo

yum倉庫的搭建是使用yum安裝的前提,如何搭建一個好的yum倉庫?

     1)首先要在yum倉庫的檔案(/etc/yum.repos.d/)中建立一個以.repo結尾的檔案;

     2)[  ]方括號裡面是寫倉庫的ID(repository_ID),名稱可以隨便取,但必須唯一;

     3)name是yum的名稱也可以隨便取,也必須唯一;

     4)baseurl指定你可以能通過本機、http或者ftp訪問到那些rpm包的所在路徑,該路徑下必須有一個    

        repodata的檔案,比如/media下面有那個repodata的檔案,那你的baseurl指向/media/,如果  

是/media/Server下面有那個repodata的檔案,那你的baseurl指向/media/Server/目錄;

     5)enabled預設為11表示啟用此倉庫,0表示不啟,

     6)gpgcheck預設也是為11表示檢查公鑰,當檢查公鑰時要指定gpgkey的地址,0表示不檢查,不

        檢查公鑰就不用指gpgkey的地址,如果是本地光碟搭建yum倉庫,則可以設定gpgcheck=0

     7)當gpgcheck=1時,gpgkey指向包含RPM-GPG-KEY-CentOS-6這個檔案的路徑

     8)cost是表示花費代價,cost預設是2000,越小越先訪問

用光碟搭建本地yum倉庫的方法:

1 2 3
Java專案生成可執行jarexe檔案以及在Windows下的安裝檔案 Java專案生成可執行jarexe檔案以及在Windows下的安裝檔案

Java專案生成可執行jar包、exe檔案以及在Windows下的安裝檔案 1、如何通過eclipse將Java專案生成可執行jar包 首先把在eclipse下的java專案匯出jar file 下一步 下一步 下一步 最後點選完成,便生成了可執行的j

Linux中susudo命令使用區別介紹

原文地址:http://blog.csdn.net/crave_shy/article/details/23037787 一:兩者之間的區別         su用於使用者之間的切換。         sudo用於普通使用者可以使用root許可權來執行指定命令。

charles抓誤點deny處理辦法日常抓

誤點deny方法在最底下~~ (博文為轉載) 我們在開發網站專案的時候,我們可以通過瀏覽器的debug模式來看request以及response的資料,那麼如果我們開發移動端專案沒有網頁呢?如何抓取資料呢?       前幾天有個做服務端的師弟跟我說他不用抓包工具,遇到問題直接debug程式碼,那我問他

AngularJS語法基礎數據綁定——各種數據綁定指令屬性應用

har 用戶 添加 雙向 技巧 title 程序 詳細 allow   AngularJS簡單易學,但是功能強大。特別是在構建單頁面應用方面效果顯著。而 數據綁定 可以說是他被廣泛使用的最主要的優點。他舍棄了對DOM的操作方式,一切都由AngularJS來自動更新視圖,我們

linux進程間通信之Posix共享內存用法代碼舉例

函數 ini 復制代碼 define 進程 a.out IV 使用 init Posix共享內存有兩種非親緣進程間的共享內存方法:1). 使用內存映射文件,由open函數打開,再由mmap函數把返回的文件描述符映射到當前進程空間中的一個文件。2). 使用共享內存區對象,由

C/C++堆靜態數據區

編輯 bsp category 例如 錯誤 首地址 float 文件的 自己的 轉自:https://www.cnblogs.com/hanyonglu/archive/2011/04/12/2014212.html 做略微修改   本文介紹C/C++中堆,棧及

Memcached 安裝【送源碼

ESS directory var code sco dex fire ref .html Memcached簡介 Memcached 是一個高性能的分布式內存對象緩存系統,用於動態Web應用以減輕數據庫負載。它通過在內存中緩存數據和對象來減少讀取數據庫的次數,從而提高動

Linux原始碼編譯安裝

1. 編譯原始碼步驟 configure、Makefile.in一般是專案管理器自動生成的,這依賴於兩個開發工具: autoconf:生成configure指令碼檔案; autoconf需要結合一個配置檔案來和其它命令生成configure指令碼;這個配置檔案告訴autoco

Python3中正則模組re.compilere.matchre.search函式用法

本文例項講述了Python3中正則模組re.compile、re.match及re.search函式用法。分享給大家供大家參考,具體如下: re模組 re.compile、re.match、 re.search re 模組官方說明文件 正則匹配的時候,第一個字元是 r,表示 raw string 原生字

ListSetMap集合最常用六個子類它們之間的區別(含經典面試題)

集合: 在程式設計中,我們需要管理很多物件集,比如某班全部的同學資訊,某個公司的人員資料等等。JAVA集合就是提供某種資料結構的支援,即存放物件,並讓這些物件按照某種資料結構存放。 集合與陣列的區別: 1. 陣列存放的元素個數是在定義陣列時固定的。

Linux原始碼編譯安裝

前言 原始碼要執行,必須先轉成二進位制的機器碼。這是編譯器的任務。 比如,下面這段原始碼(假定檔名叫做test.c)。 #include <stdio.h> int main(void) {   fputs("Hello, world!\n", stdout

安裝oralce過程中使用者群組相關oracle inventory的

1、單例項使用者 我們在建立單例項的時候,一般用的使用者是 oracle  使用者,oinstall ,dba ,oper組 oinstall:oinstall 組是oracle 推薦作業系統的使用者組,該使用者組應該具有oracle 軟體目錄$ORACLE_BAES,$O