1. 程式人生 > 實用技巧 >linux軟體包安裝和解除安裝

linux軟體包安裝和解除安裝

軟體包安裝有三種方法:

  • rpm工具
  • yum工具
  • 原始碼包

1.0 rpm工具使用

設定光碟機並掛載
rpm包格式,包名、版本號、釋出版本號、平臺
rpm -ivh rpm包檔案 //安裝
rpm -Uvh rpm包檔案 //升級
rpm -e 包名 //解除安裝
rpm -qa //查詢安裝的包
rpm -q 包名 //查詢指定包是否安裝
rpm -qi 包名 //查詢指定包資訊
rpm -ql 包名 //列出包安裝的檔案
rpm -qf 檔案絕對路徑 //檢視一個檔案是由哪個包安裝的

點選小光碟,連線

掛載光碟機
# mount /dev/cdrom /mnt
掛載光碟機後,會在/mnt/Packages 目錄下看到許多字尾.rpm的檔案,這些就是rpm包
# ls /mnt/
列出十行的rpm包
# ls /mnt/Packages/ | head

注: 每個rpm包的名稱都是由-和.分成若干部分,比如

abrt-2.1.11-45.el7.centos.x86_64.rpm

abrt包名:2.1.11-45:版本號;2為主版本號,1為次版本號,11為修正版本
45-el7.centos:釋出版本號x86_64.:執行平臺,64位 cpu目前分32位和64位,i386、i586、i686是32位,X86_64是64位。64位系統可以安裝32位軟體,但是32位系統不能安裝64為軟體。

安裝rpm包命令進入/mnt/Packages/目錄下執行如下:
# rpm -ivh xdelta-3.0.7-4.el7.x86_64.rpm
安裝rpm包
  • rpm -ivh rpm包檔案 //安裝
  • -i:表示安裝
  • -v:表示視覺化
  • -h:表示顯示安裝進度
  • –force:表示強制安裝,即使覆蓋屬於其他包的檔案也要安裝
  • –nodeps:表示當要安裝的rpm包依賴於其他包時,即使其他包沒有安裝,也要安裝這個包
升級rpm包
  • 命令:rpm -Uvh rpm 包檔案
  • -U:表示升級
# rpm -Uvh xdelta-3.0.7-4.el7.x86_64.rpm
解除安裝rpm包
  • 命令:rpm -e 包名
# rpm -e xdelta

解除安裝是沒有任何提示,有提示說明出錯

查詢一個包是否已經安裝
  • 命令:rpm –qa 包名
# rpm -qa yum
查詢當前系統所有已經安裝的包
  • 命令:rpm -qa
# rpm -qa
查詢指定包的資訊
  • 命令:rpm -qi 包名
# rpm -qi yum
列出一個rpm包的安裝檔案
  • 命令:rpm -ql 包名
# rpm -ql yum
根據一個檔案的絕對路徑,檢視這個檔案是由哪個包安裝的
  • 命令:rpm -qf 絕對路徑
# rpm -qf /usr/bin/cd
另外一種方法
# rpm -qf `which cd`

2.0 yum工具

yum比rpm工具更方便,yum工具最大的優勢在於可以聯網去下載所需要的的rpm包,然後自動安裝,安裝所有相關的rpm包,解決依賴關係。

yum list //列出可用rpm包
ls /etc/yum.repos.d/
yum search vim //搜尋包
yum install [-y]
yum grouplist
yum groupinstall [-y]
yum remove [-y]
yum update [-y]
yum provides “/*/vim”

2.1列出所有可用的rpm包
# yum list
左邊是包名,中間是版本資訊,右邊是倉庫名,倉庫這邊顯示@base、@anaconda表示已經安裝。如果未安裝這顯示base或者anaconda,如果是updates表示已安裝但是需要升級

yum的配置檔案:/etc/yum.repos.d/Centos-Base.repo 裡面可以配置倉庫名,yum源地址

# cat/etc/yum.repos.d/CentOS-Base.repo
2.2搜尋rpm包
  • 命令:yum search 包名
# yum search vim
還有另外一種方法搜尋
# yum list | grep 'vim'
2.3 安裝rpm包
  • 命令:yum install -y 包名
# yum install -y vim-enhanced
加上-y是不再詢問你是否需要安裝,-y直接安裝不會提示
2.4解除安裝rpm包
  • 命令:yum remove -y 包名
# yum remove vim-enhanced
注:建議還是不要用-y,解除安裝某一個包要看清楚,不要把別的rpm解除安裝。
2.5 升級rpm包
  • 命令:yum update –y 包名 注意:如果不加包名,會把系統所有的包包括系統本身升級。
2.6搜尋一個命令是那個包安裝的
  • 命令:yum provides "/*/vim"
# yum provides "/*/vim"

3.0 使用本地光碟製作yum源

3.1 掛載映象到/mnt目錄

# mount /dev/cdrom /mnt
3.2 拷貝原有的yum源
# cp -r /etc/yum.repos.d/ /etc/yum.repos.d.bak
3.3 刪除原有的yum源
# rm -f /etc/yum.repos.d/*
3.4 建立新檔案dvd.repo
# vim /etc/yum.repos.d/dvd.repo
[dvd] //倉庫名字
name=install dvd
baseurl=file:///mnt //本地源地址
enable=1 //本地是否可用,1可用,0不可以
gpgcheck=0	//是否檢測,1檢測,0不檢測
3.5 清理快取
# yum clean all
3.6 重新整理repos生成快取
# yum makecache
3.7 使用yum list列出本地所有包
# yum list

4.0yum更改國內源

4.1先安裝wget命令

# yum install -y wget

4.2刪除原有的源

# rm -f CentOS-Base.repo

4.3安裝國內源,先下載國內的repo的源

wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
或者
curl -O http://mirrors.163.com/.help/CentOS7-Base-163.repo

4.5清理快取

# yum clean all

4.6檢視下包

# yum list

5.0 yum下載rpm包

安裝擴充套件源epel

# yum install -y epel-release

過濾檢視下

# yum list |grep epel

下載rpm包不安裝

# yum install zsh --downloadonly

儲存放的地址

# ls /var/cache/yum/x86_64/7/base/packages/

預設會在/var/cache/yum/x86_64/7/xxx/packages/下面xxx是指bash、updatex或者extras等,跟yum list最右側字串一致。

如何下載到指定的目錄下,命令如下:

# yum install zsh --downloadonly --downloaddir=/tmp/

如果安裝過的包是下載不成功的,如何下載?命令如下:

# yum reinstall -y vim-enhanced --downloadonly --downloaddir=/tmp/

6.0 原始碼包安裝

下載原始碼包放到#cd /usr/local/src/

# cd /usr/local/src/

下載一個apache

# wget https://ftp.bit.nl/apache/httpd-2.2.29.tar.gz

下載完解壓

# tar -zxvf httpd-2.2.29.tar.gz

進入cd httpd-2.2.29目錄看說明文件

# more README

也可以看安裝文件

# more INSTALL

編譯安裝apache

./configure --prefix=/usr/local/apache2

–prefix是指定安裝路徑

剛剛編譯安裝就出錯,可以echo $? 檢視是否出錯

# echo $?
1

1表示出錯,0沒有錯誤注:執行完命令馬上echo $?檢視

缺少gcc編譯器的包,怎麼知道缺少什麼包呢?可以百度輸出結果

# yum install -y gcc

繼續編譯

# ./configure --prefix=/usr/local/apache2

編譯完成echo $?顯示0沒有出錯,安裝它。如何安裝命令如下:

# make && make install

make使用這命令,會根據makefile檔案預設的引數進行編譯

make install 這步是安裝步驟,用於建立相關檔案存放目錄和配置檔案。

擴充套件

1. yum保留已經安裝過的包 http://www.360doc.com/content/11/0218/15/4171006_94080041.shtml

2. 搭建區域網yum源 http://blog.lishiming.net/?p=500