課程内容:
- 安裝軟體包的三種方法
- rpm包介紹
- rpm工具用法
- yum工具用法
- yum搭建本地倉庫
- yum更換國内源
- yum下載下傳rpm包
- 源碼包安裝
安裝軟體包的三種方法
- rpm工具
- yum工具
- 源碼包
rpm工具使用
概念:RMP包的名稱都是由-和.分成了若幹部分。
設定光驅并挂載

挂載光驅
挂載CD光牒
[root@localhost ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 寫保護,将以隻讀方式挂載 #因為光驅是隻讀的,不可以寫東西
檢視rpm包都在哪
[root@localhost Packages]# ls #進入到/mnt/Packages目錄裡,ls出來的都是rpm包
rmp是由包名,版本号(主版本、次版本、修正版本)、釋出版本号、平台
rpm包工具用法
rpm包選項: -i 表示安裝 -U 表示更新一個包 -v 表示可視化 -h 表示顯示安裝進度 -e 解除安裝一個包 -q 查詢一個包是否已經安裝 -qi 查詢指定包資訊 -ql 列出一個包安裝的檔案 -qf 查詢檔案絕對路徑 //檢視一個嗯我呢見是由哪個包安裝的 rpm -qf `which cd` 檢視這指令的路徑包在哪 另在,在安裝RPM包時,常用的附帶參數還包括如下幾項。 --force 表示強制安裝,即使覆寫屬于其他包的檔案也要安裝。 --nodeps 表示當要安裝的RPM包依賴于其他包時,即使其他包沒有安裝,也要安裝這個包
安裝rpm封包件 -ivh
[root@localhost Packages]# rpm -ivh zsh-5.0.2-28.el7.x86_64.rpm
更新rpm封包件 -Uvh
[root@localhost Packages]# rpm -Uvh zsh-5.0.2-28.el7.x86_64.rpm
準備中... ################################# [100%]
軟體包 zsh-5.0.2-28.el7.x86_64 已經安裝
安裝最新版本
解除安裝rpm包 -e
[root@localhost Packages]# rpm -e zsh
查詢指定包是否安裝 -q
[[email protected] Packages]# rpm -q ppp
未安裝軟體包 ppp
查詢指定包資訊 -qi
[[email protected] Packages]# rpm -qi vim-enhanced
Name : vim-enhanced
Epoch : 2
Version : 7.4.160
Release : 2.el7
Architecture: x86_64
Install Date: 2018年04月12日 星期四 22時07分45秒
Group : Applications/Editors
Size : 2292098
License : Vim
Signature : RSA/SHA256, 2017年08月11日 星期五 04時15分38秒, Key ID 24c6a8a7f4a80eb5
Source RPM : vim-7.4.160-2.el7.src.rpm
Build Date : 2017年08月02日 星期三 08時46分12秒
Build Host : c1bm.rdu2.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>;
Vendor : CentOS
URL : http://www.vim.org/
Summary : A version of the VIM editor which includes recent enhancements
Description :
VIM (VIsual editor iMproved) is an updated and improved version of the
vi editor. Vi was the first real screen-based editor for UNIX, and is
still very popular. VIM improves on vi by adding new features:
multiple windows, multi-level undo, block highlighting and more. The
vim-enhanced package contains a version of VIM with extra, recently
introduced features like Python and Perl interpreters.
Install the vim-enhanced package if you'd like to use a version of the
VIM editor which includes recently added enhancements like
interpreters for the Python and Perl scripting languages. You'll also
need to install the vim-common package.
列出一個RMP包的安裝檔案的指令rpm -ql 包名
[[email protected] Packages]# 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
檢視一個指令,是由誰安裝的
[[email protected] Packages]# rpm -qf /usr/bin/vim
vim-enhanced-7.4.160-2.el7.x86_64
查一個指令的包是由誰安裝的,如不知道絕對路徑的
[[email protected] Packages]# rpm -qf which cd # which cd兩邊有倆個反引号`
bash-4.2.46-28.el7.x86_64
yum工具
使用yum自動安裝依賴包,直接直接跟包名就行
[[email protected] Packages]# yum install -y texlive
yum list可以列出所有的RPM包的資源
[[email protected] Packages]# yum list |head -n 20
搜尋一個相關關鍵字的包 yum search vim
[[email protected] Packages]# yum search vim
除此之外,還可以用grep來過濾,進而找到相應的RPM包
[[email protected] Packages]# yum list |grep 'vim'
vim-common.x86_64 2:7.4.160-2.el7 @base
vim-enhanced.x86_64 2:7.4.160-2.el7 @base
vim-filesystem.x86_64 2:7.4.160-2.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-2.el7 base
解除安裝RPM包及相連的包 yum remove -y 包名
[[email protected] Packages]# yum remove -y protobuf-vim
已加載插件:fastestmirror
參數 protobuf-vim 沒有比對
不删除任何軟體包
yum搭建本地倉庫
yum本地倉庫,為了友善Linux系統不能聯網,此時我們不能很友善的使用聯網的yum源了,這時候就需要卧兒們自己在Linux系統下使用CD光牒制作yum源。
挂載鏡像到/mnt目錄
[[email protected] /]# mount /dev/cdrom /mnt/
備份一個檔案 友善恢複。
[[email protected] ~]# cp -r /etc/yum.repos.d/ /etc/yum.repos.d.bak
删除所有的.repo檔案
[[email protected] ~]# cd /etc/yum.repos.d #進入到yum.repos.d目錄
[[email protected] yum.repos.d]# ls #檢視
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Sources.repo CentOS-fasttrack.repo
CentOS-CR.repo CentOS-Media.repo CentOS-Vault.repo
[[email protected] yum.repos.d]# rm -rf ./* #删除所有的檔案
建立一個dvd.repo的檔案,并且添加以下内容
[[email protected] yum.repos.d]# vi dvd.repo
[dvd] #倉庫的名字
name=install dvd #描述
baseurl=file:///mnt #rpm在光驅的路徑
enable=1 #是否可用
gpgcheck=0 #是否需要檢測,不需要
~
重新整理repos生成緩存
[[email protected] yum.repos.d]# yum clean all
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror
Cleaning repos: dvd
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
yum更換國内源
首先先恢複昨天的實驗,把yum備份恢複回來
[[email protected] ~]# cd /etc/yum.repos.d #進入到目錄
[[email protected] yum.repos.d]# ls #檢視目前檔案
dvd.repo
[[email protected] yum.repos.d]# rm -f dvd.repo #rm 删除 dvd.repo檔案
[[email protected] yum.repos.d]# cp /etc/yum.repos.d.bak/* /etc/yum.repos.d
#cp拷貝的檔案下所有的配置檔案,到本目錄下。
更換yum源,把源碼包删除掉
[[email protected] yum.repos.d]# ls #檢視檔案的第一個包是源碼包裡最核心的一個
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo
[[email protected] yum.repos.d]# rm -f CentOS-Base.repo #删除這個檔案
緊接着,去下載下傳一個源碼包,國内的
[[email protected] yum.repos.d]# wget http://mirrors.163.com/.help/CentOS7-Base-163.repo #在這裡,由于源碼包被删除,wget就使用不了
-bash: wget: 未找到指令
[[email protected] yum.repos.d]# curl -O http://mirrors.163.com/.help/CentOS7-Base-163.repo #下載下傳,後面是大“O"
檢視是否下載下傳完成
[[email protected] yum.repos.d]# ls
CentOS7-Base-163.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo
測試一下可以用yum安裝
[[email protected] yum.repos.d]# yum install zsh
[[email protected] yum.repos.d]# yum clean all #清除緩存
[[email protected] yum.repos.d]# yum list #這一步是必須要執行的,這樣可以生成緩存,友善下次使用。
yum安裝RMP包,epel
安裝擴充源epel(備用的源碼包)
[[email protected] yum.repos.d]# yum install -y epel-release
[[email protected] yum.repos.d]# yum list #這一步是必須要執行的,這樣可以生成緩存,友善下次使用。
[[email protected] yum.repos.d]# yum list |grep epel
怎麼安裝一個rpm包;
- yum install -y 包名 --downloadonly
[[email protected] yum.repos.d]# yum install -y zsh --downloadonly
檢視rpm預設下載下傳路徑
[[email protected] yum.repos.d]# ls /var/cache/yum/x86_64/7/updates/
794f09bfe14c121f746efba16bb0aa24b38c2506bb93d0939e01df1158efc56d-primary.sqlite.bz2 packages
cachecookie repomd.xml
gen
如果指定下載下傳的rpm路徑(如已安裝的就指定不了)
[[email protected] yum.repos.d]# yum install -y znc --downloadonly --downloaddir=/tmp/
[[email protected] yum.repos.d]# ls /tmp/
1.txt.gz
d6z
dior1
ks-script-5ToQJK
systemd-private-d4565e90fd384c749a36d51b19e3e377-chronyd.service-91Lo0Y
systemd-private-d4565e90fd384c749a36d51b19e3e377-vgauthd.service-XKotz4
systemd-private-d4565e90fd384c749a36d51b19e3e377-vmtoolsd.service-NZwSqa
yum.log
yum_save_tx.2018-04-15.15-35.qfXziD.yumtx
yum_save_tx.2018-04-16.23-44.QDLlX9.yumtx
znc-1.6.6-1.el7.x86_64.rpm
源碼包安裝,首先要先下載下傳一個源碼包,根據自己需求
[[email protected] httpd-2.4.33]# echo $? 表示上一條指令是否正确
安裝源碼包通常需要以下3個步驟: 1. ./configyre。這一步可以定制功能,加上相應的選項即可; 具體有什麼選項可以通過指令 ./configure --help檢視。 這一步會自動檢測你的Linux系統于相關的套件是否有編譯該源碼包時所需要的庫, 因為一但缺少某個庫,就能完成編譯。 2. make。使用這個指令,會進行預設參數編譯。 3. make install,用于安裝,用于建立相關軟體的存放目錄和配置檔案
源碼包預設下載下傳路徑 /usr/local/src/ 這個目錄下
下載下傳一個apache的包,r.aminglinux.com 在這個網址上找
[[email protected] src]# wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.33.tar.gz
然後解壓,tar
[[email protected] src]# ls
httpd-2.4.33.tar.gz
[[email protected] src]# tar -zxvf httpd-2.4.33.tar.gz
進入到解壓的文檔
/configuer --prefix=/usr/local/apache2,prefix指定安裝路徑,apache2表示版本
[[email protected] httpd-2.4.33]# ./configure --prefix=/usr/local/apache2
[[email protected] httpd-2.4.33]# echo $? #由于上條指令出現錯誤,
1 #在這裡表示非0的數字,都代表有錯誤
由于上條指令,缺少依賴包(gcc編譯器),繼續安裝。
[[email protected] src]# tar -zxvf apr-1.6.3.tar.gz
[[email protected] apr-1.6.3]# yum install -y apr
[[email protected] apr-1.6.3]# ./configure --prefix=/usr/local/apache2
[[email protected] apr-1.6.3]# echo $?
此時就成功生成Makefile。檢視結果如下:
[[email protected] apr-1.6.3]# ls -l Makefile
-rw-r--r--. 1 root root 5092 4月 17 00:30 Makefile
進行編譯及安裝
[[email protected] apr-1.6.3]# make & make install
檢視該源碼包是否安裝完成,去所對應的路徑下/usr/local/apache2 目錄下有沒有很多的目錄即可。
[[email protected] apr-1.6.3]# cd /usr/local/apache2/
[[email protected] apache2]# ls
bin build-1 include lib
轉載于:https://my.oschina.net/u/3912766/blog/1926638