21.rpm包介紹 rpm yum與搭建本地倉庫

7.1 安裝軟件包的三種方法python

7.2 rpm包介紹linux

7.3 rpm工具用法編程

7.4 yum工具用法vim

7.5 yum搭建本地倉庫centos

 

7.1 安裝軟件包的三種方法:緩存

1.rpm工具:安全

跟Windows下的ext安裝包差很少,可直接安裝,不須要太多的設置。安裝路徑與文件名基本是固定好的bash

2.yum工具:服務器

yum是另一種工具去安裝rpm包,centos下這種包統一叫rpm包網絡

yum是python開發的一種工具,實際操做的對象也是rpm包。yum的優點是支持自動的去安裝依賴的包

3.源碼包

能夠看到這個源碼的當時做者,用編程語言開發的各個文件均可以看到,須要經過編譯器把源碼包編譯成可執行的文件。

這三種方法,源碼包是最難的,yum是最簡單的

 

---------------------------------------------------------------------------------------------------------------------------------------

 

7.2 rpm包介紹:

 

1.~設置光驅並掛載

2.~rpm包格式,包名、版本號、發佈版本號、平臺

 

1.虛擬機中右下角,右擊光耦按圖標,點鏈接。把光盤鏈接到linux裏來,而後進行掛載

掛載光驅,方法:

mount /dev/cdrom /mnt/

[root@aminglinux-01 ~]# mount /dev/cdrom /mnt/

mount: /dev/sr0 寫保護,將以只讀方式掛載 由於光盤是隻讀的,因此會提示

咱們進入mnt看一下,這裏面就是光驅裏面的內容

[root@aminglinux-01 ~]# cd /mnt/

[root@aminglinux-01 mnt]# ls

CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7

EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL

2.其中packages這個目錄裏,就是rpm包,例如:

xz-devel-5.2.2-1.el7.x86_64.rpm

數字前面的是包名

數字爲版本號,依次爲,主版本、次版本、修正版本

1.el7爲發佈版本號

x86_64爲平臺

 

---------------------------------------------------------------------------------------------------------------------------------------

 

7.3 rpm工具用法:

3.~rpm -ivh rpm包文件 //安裝

4.~rpm -Uvh rpm包文件 //升級

5.~rpm -e 包名 //卸載

6.~rpm -qa //查詢安裝的包

7.~rpm -q 包名 //查詢指定包是否安裝

8.~rpm -qi 包名 //查詢指定包信息

9.~rpm -ql 包名 //列出包安裝的文件

10.~rpm -qf 文件的絕對路徑 //查看一個文件是有哪一個包安裝的

配合`which cd`可直接查看

 

實例:

3.~rpm -ivh rpm包文件 //安裝

[root@aminglinux-01 Packages]# rpm -ivh zsh-5.0.2-28.el7.x86_64.rpm

準備中... ################################# [100%]

正在升級/安裝...

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

 

4.~rpm -Uvh rpm包文件 //升級

[root@aminglinux-01 Packages]# rpm -Uvh zsh-5.0.2-28.el7.x86_64.rpm

準備中... ################################# [100%]

軟件包 zsh-5.0.2-28.el7.x86_64 已經安裝

 

5.~rpm -e 包名 //卸載

[root@aminglinux-01 Packages]# rpm -e zsh 不顯示什麼即爲卸載成功

 

6.~rpm -qa //查詢安裝的包

[root@aminglinux-01 Packages]# rpm -qa

open-vm-tools-10.1.5-3.el7.x86_64

grub2-common-2.02-0.64.el7.centos.noarch

kexec-tools-2.0.14-17.el7.x86_64

setup-2.8.71-7.el7.noarch

NetworkManager-tui-1.8.0-9.el7.x86_64

basesystem-10.0-7.el7.centos.noarch

NetworkManager-wifi-1.8.0-9.el7.x86_64

--

-

 

7.~rpm -q 包名 //查詢指定包是否安裝

[root@aminglinux-01 Packages]# rpm -q kernel

kernel-3.10.0-693.el7.x86_64

 

8.~rpm -qi 包名 //查詢指定包信息 (用的很少)

[root@aminglinux-01 ~]# rpm -qi kernel

Name : kernel

Version : 3.10.0

Release : 693.el7

Architecture: x86_64

--

-

 

9.~rpm -ql 包名 //列出包安裝的文件

[root@aminglinux-01 ~]# rpm -ql vim-enhanced

/etc/profile.d/vim.csh

/etc/profile.d/vim.sh

/usr/bin/rvim

/usr/bin/vim

/usr/bin/vimdiff

/usr/bin/vimtutor

 

10.~rpm -qf 文件的絕對路徑 //查看一個文件是有哪一個包安裝的

[root@aminglinux-01 ~]# rpm -qf /usr/bin/vim

vim-enhanced-7.4.160-4.el7.x86_64

 

使用反引號`which` 一個命令的路徑,配合rpm -qf可直接查詢,例如

[root@aminglinux-01 ~]# rpm -qf `which cd`

bash-4.2.46-28.el7.x86_64

 

---------------------------------------------------------------------------------------------------------------------------------------

 

7.4 yum工具用法:

 

yum能夠自動幫助解決依賴關係的

 

~1.yum list 列出可用rpm包

ls /etc/yum.repos.d/ (爲yum的配置文件)

~2.yum search vim 搜索vim包,但不精準

yum list |grep 'vim' 較爲精準,詳細見實例

~3.yum install -y 不詢問直接安裝文件

~4.yum grouplist 列出可用的組

yum groupinstall [-y] 安裝可用的組,詳細見實例

~5.yum remove [-y] ppp 卸載ppp這個包,連同依賴的一塊兒卸載,較危險

~6.yum update [-y] ppp 升級ppp這個包,若是不加包名,會將系統裏全部的rpm包所有升 級,包括系統。需注意

~7.yum provides 「/*/vim" 搜索vim這個命令有哪些包,好比不知道這個包的名字,只知道命令。/*/表明路徑不固定,統配。前提是沒有安裝vim這個命令

 

 

 

 

實例:

~1.yum list 列出可用rpm包:

 

zziplib-utils.x86_64 0.13.62-5.el7 base

包的名字及信息 版本號以及平臺版本號 倉庫名字

關於倉庫,能夠看一下yum的配置文件

[root@aminglinux-01 ~]# ls /etc/yum.repos.d/

-

--

[base] 找到base,這就是yum的倉庫文件,紅色爲網絡地址

name=CentOS-$releasever - Base

mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra

#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

--

-

 

~2.yum search network 搜索vim包,但不精準

只要有network出現的包都會列出來,不精準

[root@aminglinux-01 ~]# yum search network

已加載插件:fastestmirror

Loading mirror speeds from cached hostfile

* base: mirrors.tuna.tsinghua.edu.cn

* extras: mirrors.tuna.tsinghua.edu.cn

* updates: mirrors.tuna.tsinghua.edu.cn

======================================================= N/S matched: network ========================================================

NetworkManager.x86_64 : Network connection manager and user applications

NetworkManager-adsl.x86_64 : ADSL device plugin for NetworkManager

NetworkManager-bluetooth.x86_64 : Bluetooth device plugin for NetworkManager

NetworkManager-config-server.noarch : NetworkManager config file for "server-like" defaults

--

-

yum list |grep 'vim' 較爲精準

grep是過濾字符串的工具

管道符|能夠將前面輸出的結果丟給後面的這個命令,也就是yum list的輸出做爲grep的輸入

[root@aminglinux-01 ~]# yum list |grep 'vim'

vim-common.x86_64 2:7.4.160-4.el7 @base

vim-enhanced.x86_64 2:7.4.160-4.el7 @base

vim-filesystem.x86_64 2:7.4.160-4.el7 @base

vim-minimal.x86_64 2:7.4.160-2.el7 @anaconda

protobuf-vim.x86_64 2.5.0-8.el7 base

vim-X11.x86_64 2:7.4.160-4.el7 base

vim-minimal.x86_64 2:7.4.160-4.el7 base

 

~4.yum grouplist 列出可用的組

[root@aminglinux-01 ~]# yum grouplist

已加載插件:fastestmirror

沒有安裝組信息文件

Maybe run: yum groups mark convert (see man yum)

Loading mirror speeds from cached hostfile

* base: mirrors.tuna.tsinghua.edu.cn

* extras: mirrors.tuna.tsinghua.edu.cn

* updates: mirrors.tuna.tsinghua.edu.cn

可用的環境分組:

最小安裝

基礎設施服務器

計算節點

文件及打印服務器

基本網頁服務器

虛擬化主機

帶 GUI 的服務器

GNOME 桌面

KDE Plasma Workspaces

開發及生成工做站

可用組:

傳統 UNIX 兼容性

兼容性程序庫

圖形管理工具

安全性工具

開發工具

控制檯互聯網工具

智能卡支持

科學記數法支持

系統管理

系統管理工具

完成

選擇須要的包來安裝,可用LANG=en換成英文,來進行安裝

yum groupinstall ‘Virtualization Host’ 若是須要安裝的包有空格,要加單引號。沒有空格就不加單引號

也能夠加-y 不詢問安裝

[root@aminglinux-01 ~]# yum groupinstall 'GNOME Desktop'

Failed to set locale, defaulting to C

Loaded plugins: fastestmirror

There is no installed groups file.

Maybe run: yum groups mark convert (see man yum)

Loading mirror speeds from cached hostfile

* base: mirrors.tuna.tsinghua.edu.cn

* extras: mirrors.tuna.tsinghua.edu.cn

* updates: mirrors.tuna.tsinghua.edu.cn

--

-

---------------------------------------------------------------------------------------------------------------------------------------

 

7.5 yum搭建本地倉庫:

有時候yum不能用,是由於沒有聯網

若是沒有聯網,能夠搭建一個本地的倉庫,來用yum。竟然能夠這麼神奇

前提是要有一個光盤,掛載。能夠訪問到裏面的rpm包

 

~1.掛載鏡像到/mnt目錄

~2.cp -r /etc/yum.repos.d /etc/yum.repos.d.bak

~3.rm -f /etc/yum.repos.d/*

~4.vim /etc/yum.repos.d/dvd.repo 內容以下:

[dvd]

name=install dvd 該步驟是創建這個倉庫的名字,搭建好之後可查看

baseurl=file:///mnt

enable=1

gpcheck=0 由於是臨時的因此不用檢測,就寫0

~5.yum cean all 清除之前的緩存

~6.yum list 查看可用包,可看到dvd這個倉庫

相關文章
相關標籤/搜索