linux rpm

查看linux機器是32位還是64位的方法:

file /sbin/init 或者 file /bin/ls

在這裏插入圖片描述
如果顯示 64-bit 則爲64位;
如果顯示爲32 bit 則爲32bit;

uname -a

在這裏插入圖片描述
x86_64表示64位機器

uname -a
Linux pmx0**.**.**    2.6.9-5.ELsmp #1 SMP Wed Jan 5 19:30:39 EST 2005 i686 i686 i386 GNU/Linux
i686表示32位機器
i686 只是i386的一個子集,支持的cpu從Pentium 2 (686)開始,之前的型號不支持.

備註:

  1. i386 適用於intel和AMD所有32位的cpu.以及via採用X86架構的32的cpu.
    intel平臺包括8086,80286,80386,80486,奔騰系列(1.2.3.4)、賽揚系列,Pentium D系列
  2. X86_64 適用於intel的Core 2 Duo, Centrino Core 2 Duo, and Xeon 和AMD Athlon64/x2, Sempron64/x2, Duron64等採用X86架構的64位cpu.

getconf LONG_BIT

在32位和64位機器上運行如下命令,結果如下:
在這裏插入圖片描述

RPM軟件安裝

rpm 只要是用來安裝本地安裝包的

RPM是RedHat Package Manager(RedHat軟件包管理工具)類似Windows裏面的“添加/刪除程序”
rpm 執行安裝包
二進制包(Binary)以及源代碼包(Source)兩種。二進制包可以直接安裝在計算機中,而源代碼包將會由RPM自動編譯、安裝。源代碼包經常以src.rpm作爲後綴名。

rpm is a powerful Package Manager, which can be used to build, install, query, verify, update, and erase individual software packages. A package consists of an archive
of files and meta-data used to install and erase the archive files. The meta-data includes helper scripts, file attributes, and descriptive information about the pack‐
age. Packages come in two varieties: binary packages, used to encapsulate software to be installed, and source packages, containing the source code and recipe necessary
to produce binary packages.
rpm是一個功能強大的包管理器,可用於構建、安裝、查詢、驗證、更新和刪除單個軟件包。
包由存檔文件組成 用於安裝和刪除存檔文件的文件和元數據。
元數據包括輔助腳本、文件屬性和包‐的描述信息的年齡。
包有兩種:二進制包(用於封裝要安裝的軟件)和源代碼包(包含所需的源代碼和配方)用於生成二進制包。

rpm二進制包的安裝

使用網易163的源
32位系統的RPM安裝包下載地址
http://mirrors.163.com/centos/6/os/i386/Packages/
64位系統的RPM安裝包的下載地址
http://mirrors.163.com/centos/6/os/x86_64/Packages/
下載好之後 使用rpm -ivh xxx.rpm命令安裝就即可
在這裏插入圖片描述

-ivh:安裝顯示安裝進度–install–verbose–hash

 rpm -ivh ConsoleKit-0.4.1-6.el6.x86_64.rpm 

報錯 權限不夠
在這裏插入圖片描述

sudo rpm -ivh ConsoleKit-0.4.1-6.el6.x86_64.rpm 

報錯
在這裏插入圖片描述
解決
https://blog.csdn.net/wkywj1/article/details/39449851
sudo命令可以讓你以root身份執行命令,來完成一些我們這個帳號完成不了的任務。
其實並非所有用戶都能夠執行sudo,因爲有權限的用戶都在/etc/sudoers中呢。
首先進入root模式,su,然後輸入密碼。
通過編輯器來打開/etc/sudoers,或者直接使用命令visudo來搞定這件事情。
打開sudoers後,像如下那樣加上自己的帳號保存後就可以了。
在這裏插入圖片描述
然後 :wq! 強制保存退出
再次執行

sudo rpm -ivh ConsoleKit-0.4.1-6.el6.x86_64.rpm 

在這裏插入圖片描述

安裝參數 --force 即使覆蓋屬於其它包的文件也強迫安裝

在這裏插入圖片描述
–nodeps 如果該RPM包的安裝依賴其它包,即使其它包沒裝,也強迫安裝。

官方實例

INSTALL AND UPGRADE OPTIONS
       In  these  options,  PACKAGE_FILE can be either rpm binary file or ASCII package manifest (see PACKAGE SELECTION OPTIONS), and may be specified as an ftp or http URL, in
       which case the package will be downloaded before being installed. See FTP/HTTP OPTIONS for information on rpm's internal ftp and http client support.
       在這些選項中,PACKAGE_FILE可以是rpm二進制文件或ASCII包清單(請參閱包選擇選項),也可以指定爲ftp或http URL
       在這種情況下,軟件包將在安裝之前下載。有關rpm的內部FTP和HTTP客戶機支持的信息,請參閱FTP/HTTP選項。

   The general form of an rpm install command is 
   rpm安裝命令的一般形式是

   rpm {-i|--install} [install-options] PACKAGE_FILE ...

   This installs a new package.

   The general form of an rpm upgrade command is
   rpm升級命令的一般形式是

   rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...

   This upgrades or installs the package currently installed to a newer version.  This is the same as install, except all other version(s) of the package are removed  after
   the new package is installed.
   此操作將當前安裝的包升級或安裝到新版本。這與安裝相同,只是包的所有其他版本在安裝之後都被刪除安裝了新包。

   rpm {-F|--freshen} [install-options] PACKAGE_FILE ...

   This will upgrade packages, but only ones for which an earlier version is installed.
   這將升級包,但只升級安裝了較早版本的包。

   The general form of an rpm reinstall command is
   rpm重新安裝命令的一般形式是

   rpm {--reinstall} [install-options] PACKAGE_FILE ...

   This reinstalls a previously installed package.
   這將重新安裝以前安裝的包。

   --test Do not install the package, simply check for and report potential conflicts.

-Uvh:升級軟件包–Update

在這裏插入圖片描述
-qpl:列出RPM軟件包內的文件信息[Query Package list];

-qpi:列出RPM軟件包的描述信息[Query Package install package(s)];
-qf:查找指定文件屬於哪個RPM軟件包[Query File];
-Va:校驗所有的RPM軟件包,查找丟失的文件[View Lost];
-e:刪除包

-q 查詢

查詢一個包是否被安裝

rpm -q < rpm package name>
在這裏插入圖片描述

得到被安裝的包的信息

rpm -qi < rpm package name>
在這裏插入圖片描述

列出該包中有哪些文件

-i, --info
              Display   package  information,  including  name,  version,  and
              description.  This uses the --queryformat if one was specified.

rpm -ql < rpm package name>
在這裏插入圖片描述

列出服務器上的一個文件屬於哪一個RPM包

  -f, --file FILE
              Query package owning FILE.
              查詢包所屬文件。

rpm -qf
在這裏插入圖片描述

列出所有被安裝的rpm package

 -a, --all
              Query all installed packages.

rpm -qa
在這裏插入圖片描述

列出一個未被安裝進系統的RPM包文件中包含有哪些文件?

  -l, --list
              List files in package.

rpm -qilp < rpm package name>

解壓RPM包

有時我們需要RPM包中的某個文件,如何解壓RPM包呢?
RPM包括是使用cpio格式打包的,因此可以先轉成cpio然後解壓,如下所示:

rpm2cpio xxx.rpm | cpio -div

在這裏插入圖片描述

卸載包 rpm -e

在這裏插入圖片描述
以卸載ConsoleKit爲例

 rpm -qa|grep ConsoleKit 

在這裏插入圖片描述
說明: rpm -qa|grep ConsoleKit 命令是爲了把ConsoleKit相關的包都列出來,我上面的例子是Linux默認安裝rpm軟件包列表,如果是別的Linux版本列出來的列表有可能會不一樣,不過不用擔心,不管是什麼,卸載都從最下面的一個包開始,直到卸載掉第一個爲止。
(一般沒有必要帶版本號,如可以直接寫成rpm -e ConsoleKit)

sudo rpm -e ConsoleKit--nodeps

注意:卸載的時候如果卸載不掉,系統一般會提示包的依賴關係,並且列出依賴的包的名稱,先卸載提示依賴的包就可以了。
如果實在有卸載不掉的包,可以加—nodeps這個參數來卸載,

在線安裝

RPM管理包管理器支持網絡安裝和查詢;

rpm 參數 rpm包文件的http或者ftp的地址
sudo rpm -qpi http://mirrors.163.com/centos/6/os/x86_64/Packages/ConsoleKit-0.4.1-6.el6.x86_64.rpm

sudo rpm -ivh http://mirrors.163.com/centos/6/os/x86_64/Packages/ConsoleKit-0.4.1-6.el6.x86_64.rpm

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章