天天看點

RHEL7軟體包管理

軟體管理:

rpm軟體包管理:

Redhat package manager

#rpm

作用:管理rpm包

文法: rpm 【選項】 包名

挂載CD光牒

[root@localhost ~]# umount /dev/sr0

[root@localhost ~]# mount /dev/sr0 /mnt/

檢視包個數

[root@localhost ~]# cd /mnt/Packages/

[root@localhost Packages]# ls | wc -l

4621

zsh-5.0.2-14.el7.x86_64.rpm

zsh -5 .0 .2 -7 x86 64

軟體名 主版本号 次版本号 修訂号 RHEL7 CPU架構平台 支援系統位數

el7 :Enterprise Linux 7 RHEL7 或 CentOS7

el6 

el5

安裝rpm軟體

[root@localhost ~]# rpm -ivh /mnt/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm

[root@localhost ~]# rpm --help

-i, --install install package(s)

-v, --verbose 詳細 provide more detailed output

-h, --hash print hash marks as package installs (good with -v) #安裝時列印散列标記#号

安裝時,解決依賴關系:

[root@localhost ~]# rpm -ivh /mnt/Packages/mariadb-server-5.5.44-2.el7.x86_64.rpm --nodeps

方法1:直接找以perl-DBD-MySQL開頭的包

[root@localhost Packages]# rpm -ivh perl-DBD-MySQL

方法2:到rpm包相關的網站上去下載下傳軟體包

<a href="http://rpmfind.net/">http://rpmfind.net/</a>

<a href="http://rpm.pbone.net/">http://rpm.pbone.net/</a>

<a href="http://www.rpmseek.com/index.html">http://www.rpmseek.com/index.html</a>

zsh 的安裝

[root@localhost ~]# rpm -ivh /mnt/Packages/zsh-5.0.2-14.el7.x86_64.rpm

warning: /mnt/Packages/zsh-5.0.2-14.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY

Preparing... ################################# [100%]

Updating / installing...

1:zsh-5.0.2-14.el7 ################################# [100%]

[root@localhost ~]# cat /etc/shells #多了一個zsh

/bin/sh

/bin/bash

/sbin/nologin

/usr/bin/sh

/usr/bin/bash

/usr/sbin/nologin

/bin/tcsh

/bin/csh

/bin/zsh

rpm查詢功能

[root@localhost ~]# rpm -q zsh #查詢單個zsh包是否安裝

zsh-5.0.2-14.el7.x86_64

[root@localhost ~]# rpm -qa | grep httpd #查詢是否安裝了httpd相關的軟體包

[root@localhost ~]# rpm -ql zsh |more

(查詢zsh這個軟體安裝後,産生了那些檔案和目錄)

zsh 這個指令是由哪個軟體包安裝的?

[root@localhost ~]# rpm -qf <code>which zsh</code>

在軟體沒有安裝之前進行檢視

[root@localhost ~]# rpm -qpl /mnt/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm

warning: /mnt/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY

/usr/bin/rb

/usr/bin/rx

/usr/bin/rz

/usr/bin/sb

/usr/bin/sx

/usr/bin/sz

/usr/share/locale/de/LC_MESSAGES/lrzsz.mo

/usr/share/man/man1/rz.1.gz

/usr/share/man/man1/sz.1.gz

更新:

[root@localhost ~]# rpm -Uvh /mnt/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm

解除安裝:

[root@localhost ~]# rpm -e zsh 隻寫軟體包的名稱,不用寫軟體包

強制解除安裝

[root@localhost ~]# yum -y install httpd

[root@localhost ~]# rpm -e mailcap --nodeps

導入RPM-GPG-KEY 安裝rpm包時,對rpm的簽名進行驗證。

[root@localhost ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

package zsh-5.0.2-14.el7.x86_64 is already installed

驗證的原理是:非對稱加密。 導入公鑰。驗證rpm中的簽名是否是對的。

使用yum安裝軟體:

自動裝軟體包(軟體包管理):

YUM

解決依賴關系問題、自動下載下傳軟體包。基于C/S架構。

S:

直接使用CD光牒所在的根目錄(/media 或 /mnt)

ftp http file(本地yum源)

C:配置yum源的配置檔案

[root@localhost ~]# rm -rf /etc/yum.repos.d/*

[root@localhost ~]# vim /etc/yum.repos.d/rhel7.repo

[rhel7-yum] #yum源名稱,唯一的,用來區分不同的yum源

name=rhel7-source #對yum源描述資訊

baseurl=file:///mnt #yum源的路徑(repodata目錄所在的目錄)

enabled=1 #為1,表示啟用yum源

gpgcheck=0 #為1,使用公鑰檢驗rpm的正确性

YUM使用:

[root@localhost ~]# yum clean all #清空yum緩存

[root@localhost ~]# yum list #生成清單

[root@localhost ~]# yum install zsh #安裝軟體包

安裝一組軟體包:

[root@localhost ~]# yum grouplist

[root@localhost ~]# yum groupinstall "Security Tools"

yum查詢:

[root@localhost ~]# yum list z*

[root@localhost ~]# yum search zsh

[root@localhost ~]# rpm -qpi /mnt/Packages/zsh-5.0.2-14.el7.x86_64.rpm

檢視一個包的作用

凡是加上p則表示查詢的包未安裝。若查詢已安裝的包則去掉p

删除

[root@localhost ~]# yum remove zsh

選項 : -y #回答yes 取消互動

[root@localhost ~]# yum -y install mariadb-server

源碼編譯安裝軟體包:

前提:系統必須安裝:開發工具、開發庫

步驟:

獲得源碼包

解壓

tar

配置,檢測安裝環境

#./configure #檢查安裝環境是否符合需求 ,如果沒有問題,生成:Makefile檔案

編譯

#make (編譯時會讀取Makefile檔案)

安裝

#make install

例:安裝軟體包extundelete-0.2.4.tar.bz2

[root@localhost ~]# tar jxvf extundelete-0.2.4.tar.bz2

[root@localhost ~]# cd extundelete-0.2.4/

[root@localhost extundelete-0.2.4]# yum -y install e2fsprogs-devel

[root@localhost extundelete-0.2.4]# ./configure

Configuring extundelete 0.2.4

Writing generated files to disk

[root@localhost extundelete-0.2.4]# make

[root@localhost extundelete-0.2.4]# make install

删除:

[root@localhost extundelete-0.2.4]# make uninstall

Making uninstall in src

( cd '/usr/local/bin' &amp;&amp; rm -f extundelete )

不過多有時删除不幹淨,是以建議大家安裝時,在configure步驟添加一個: --prefix 參數。這樣删

除或備份時,直接對删除這個目錄操作就可以了。

再次編譯時

[root@localhost extundelete-0.2.4]# make clean

Making clean in src

Making clean in .

[root@localhost extundelete-0.2.4]# ./configure --prefix=/usr/local/extundele-rm

[root@localhost extundelete-0.2.4]# make &amp;&amp; make install

删除時隻需删除路徑即可:

[root@localhost ~]# rm -rf /usr/local/extundele-rm/

rpm+yum:友善,軟體版本低。穩定性好、管理友善。性能稍差。

源碼手動:麻煩,軟體版本新。穩定性稍差、管理稍差。性能好。 LAMP,LNMP

安裝.src.rpm源碼包的方法

[root@localhost ~]# cat /etc/redhat-release

Red Hat Enterprise Linux Server release 7.2 (Maipo)

rpmbuild --rebuild lrzsz-0.12.20-27.1.el6.src.rpm  #将src.rpm中源碼檔案編譯成可執行

的二進制檔案。

若順利執行成功則會在root使用者家目錄下生成一個: rpmbuild目錄。 

在/root/rpmbuild/RPMS/x86_64/目錄下生成lrzsz-0.12.20-27.1.el6.x86_64.rpm這個rpm檔案。

接下來就是rpm的安裝過程。

[root@localhost x86_64]# rpm -e lrzsz

[root@localhost x86_64]# rpm -vih lrzsz-0.12.20-27.1.el7.x86_64.rpm

本文轉自信自己belive51CTO部落格,原文連結: http://blog.51cto.com/11638205/2048709,如需轉載請自行聯系原作者

繼續閱讀