day-20: 安装软件包及rpm yum的介绍
系統(tǒng)下是如何安裝軟件:windows下是.exe的下一步安裝法:那linux如何安裝軟件呢:
7.1:linux安裝軟件包的方法:rpm ? yum ? ?源碼包
.2-7.3 rpm工具
rpm包介紹(準(zhǔn)備工作)
掛載系統(tǒng)安裝盤鏡像(掛載到一個空目錄,此處/mnt/目錄未使用,所以直接掛載到/mnt/目錄下)
[root@adai002?~]#?df?-h 文件系統(tǒng)????????容量??已用??可用?已用%?掛載點/dev/sda3????????28G??1.3G???27G????5%?/devtmpfs????????483M?????0??483M????0%?/devtmpfs???????????493M?????0??493M????0%?/dev/shmtmpfs???????????493M??6.8M??486M????2%?/runtmpfs???????????493M?????0??493M????0%?/sys/fs/cgroup/dev/sda1???????197M??109M???88M???56%?/boottmpfs????????????99M?????0???99M????0%?/run/user/0[root@adai002?~]#?mount?/dev/cdrom?/mnt/ mount:?/dev/sr0?寫保護,將以只讀方式掛載 [root@adai002?mnt]#?ls CentOS_BuildTag??GPL???????LiveOS????RPM-GPG-KEY-CentOS-7EFI??????????????images????Packages??RPM-GPG-KEY-CentOS-Testing-7EULA?????????????isolinux??repodata??TRANS.TBL [root@adai002?Packages]#?ls yum-plugin-changelog-1.1.31-40.el7.noarch.rpm yum-plugin-fastestmirror-1.1.31-40.el7.noarch.rpm yum-plugin-tmprepo-1.1.31-40.el7.noarch.rpm yum-plugin-verify-1.1.31-40.el7.noarch.rpm yum-plugin-versionlock-1.1.31-40.el7.noarch.rpm …… (rpm包格式:包名、版本號、發(fā)布版本號、平臺)rpm包存放在Packages該文件下!
rpm工具用法
安裝rpm包
語法:?rpm [options] [參數(shù)]
Options:
-i:=install,安裝
-v:可視化
-h:顯示安裝進(jìn)度
在安裝一個rpm包時常用附帶選項:
--force:強制安裝
--nodeps:=no dependent 無依賴安裝(忽視與其他包之間的依賴關(guān)系)
-
eg1:安裝一個rpm包(無依賴包)
-
eg2:安裝一個rpm包(有依賴包)
說明:?安裝有依賴關(guān)系的包時,可以先安裝其所依賴的包再安裝目標(biāo)包(同時安裝存在依賴關(guān)系的包),或者使用--force或--nodeps選項進(jìn)行強行安裝(不建議使用)。
升級rpm包
語法:?rpm [-U] [包名]
[root@adai002?Packages]#?rpm?-Uvh?x86info-1.30-6.el7.x86_64.rpmPreparing...??????????????????????????#################################?[100%]package?x86info-1:1.30-6.el7.x86_64?is?already?installed說明:?如果升級一個已經(jīng)安裝的最新版本的包,執(zhí)行該命令后無任何操作。
卸載一個rpm包
語法:?rpm [-e] [包名]
[root@adai002?Packages]#?rpm?-e?x86info-1.30-6.el7.x86_64.rpmerror:?package?x86info-1.30-6.el7.x86_64.rpm?is?not?installed[root@adai002?Packages]#?rpm?-e?x86info注:?卸載時直接跟報名,無需跟該包的信息;當(dāng)包之間存在依賴關(guān)系時也需要先卸載其依賴包。
查詢rpm包
查詢已安裝的包
語法:
rpm [-q] [包名] 查詢指定包
rpm [-qa] 查詢所有已安裝包
eg:
查詢已安裝包的相關(guān)信息
語法:?rpm [-qi] [包名]
i=information
查詢某包所安裝的文件
語法:?rpm [-ql] [包名]
l=list
查看某文件的安裝包
語法:?rpm [-qf] [文件絕對路徑]
[root@adai002?Packages]#?rpm?-qf?/usr/bin/vimvim-enhanced-7.4.160-1.el7_3.1.x86_64即,通過其絕對路徑查詢到其安裝包,當(dāng)不知道其絕對路徑時,使用which命令查詢。
反引號命令
反引號的作用就是將反引號內(nèi)的Linux命令先執(zhí)行,然后將執(zhí)行結(jié)果賦予變量。即,在命令行上把Linux命令放在反引號中,這個命令會首先被執(zhí)行,然后將其結(jié)果作為為該命令行的一個參數(shù)。
eg:
[root@adai002?Packages]#?rpm?-qf?`which?cd`bash-4.2.46-20.el7_2.x86_64說明:?先執(zhí)行“which cd”命令,其次將“which cd”的結(jié)果作為“rpm -qf”的參數(shù)執(zhí)行該命令。
7.4 yum工具用法
列出所有rpm包
語法:?yum list
[root@adai002?Packages]#?yum?list?Failed?to?set?locale,?defaulting?to?CLoaded?plugins:?fastestmirrorLoading?mirror?speeds?from?cached?hostfile*?base:?mirrors.btte.net*?extras:?mirrors.aliyun.com*?updates:?mirrors.tuna.tsinghua.edu.cnInstalled?PackagesNetworkManager-libnm.x86_64????????????????1:1.4.0-12.el7??????????????@anacondaNetworkManager-team.x86_64?????????????????1:1.4.0-12.el7??????????????@anaconda zsh.x86_64????????????????????????????????????????5.0.2-25.el7_3.1????????????????????updates?? zsh-html.x86_64???????????????????????????????????5.0.2-25.el7_3.1????????????????????updates?? zziplib.i686??????????????????????????????????????0.13.62-5.el7???????????????????????base????? zziplib.x86_64????????????????????????????????????0.13.62-5.el7???????????????????????base??? …… Exiting?on?Broken?Pipe 注:?第一列是包名,第二列是版本號,第三列是庫說明:?庫所在位置有“@”表示已安裝;“updates”表示已安裝,有新版本,需要升級;其他的表示可安裝但還未安裝的rpm包。
-
yum配置文件
-
配置文件base的信息
說明:?該文件下有rpm包所在庫base的鏡像地址信息!
搜索rpm包
語法:?yum search [關(guān)鍵詞]
[root@adai002?Packages]#?yum?search?vimFailed?to?set?locale,?defaulting?to?C Loaded?plugins:?fastestmirror Loading?mirror?speeds?from?cached?hostfile*?base:?mirrors.btte.net*?extras:?mirrors.aliyun.com*?updates:?mirrors.tuna.tsinghua.edu.cn ======================================?N/S?matched:?vim?======================================= golang-vim.noarch?:?Vim?plugins?for?Go protobuf-vim.x86_64?:?Vim?syntax?highlighting? vim-minimal.x86_64?:?A?minimal?version?of?the?VIM?editorName?and?summary?matches?only,?use?"search?all"?for?everything.說明:?使用該命令搜索時會列出所有包含‘vim’(關(guān)鍵詞)的信息,不精確,為了只搜索相關(guān)rpm包,可用如下方法:
[root@adai002?Packages]#?yum?list?|grep?vimFailed?to?set?locale,?defaulting?to?C vim-common.x86_64??????????????????????????2:7.4.160-1.el7_3.1?????????@updates?vim-enhanced.x86_64????????????????????????2:7.4.160-1.el7_3.1?????????@updates?vim-filesystem.x86_64??????????????????????2:7.4.160-1.el7_3.1?????????@updates?vim-minimal.x86_64?????????????????????????2:7.4.160-1.el7?????????????@anaconda說明:?grep表示過濾。
列出rpm包組
語法:?yum grouplist
[root@adai002?Packages]#?yum?grouplistFailed?to?set?locale,?defaulting?to?CLoaded?plugins:?fastestmirrorThere?is?no?installed?groups?file.Maybe?run:?yum?groups?mark?convert?(see?man?yum)Loading?mirror?speeds?from?cached?hostfile*?base:?mirrors.btte.net*?extras:?mirrors.aliyun.com*?updates:?mirrors.tuna.tsinghua.edu.cnAvailable?Environment?Groups:???Minimal?InstallCompute?Node……Available?Groups:???Compatibility?LibrariesConsole?Internet?Tools……Done安裝rpm包
語法:?yum install [-y] [包名]
說明:?如果不加‘-y’選項,則會以與用戶交互的方式安裝。首先是列出需要安裝的rpm包,然后會問用戶是否需要安裝,輸入‘y’則安裝,輸入‘n’則不安裝,這樣太麻煩,所以直接加上‘-y’選項,省略與用戶之間的交互。
安裝rpm包組
語法:?yum groupinstall [-y] [包的組名]
如果不知道組名,可用yum grouplist查看(注:進(jìn)行安裝時只能用英文名)。
卸載rpm包
語法:?yum remove [-y] [包名]
說明:?‘-y’選項同install的用法,需要注意的是,在使用該命令進(jìn)行卸載時會將目標(biāo)文件所依賴的所有包同時刪除,所以要謹(jǐn)慎使用!
升級rpm包
語法:?yum update [-y] [包名]
說明:?如果不加包名,則會升級系統(tǒng)內(nèi)所有包以及系統(tǒng)本身(慎用,一般只在剛安裝完系統(tǒng)時使用)。
yum provides
該命令的作用是通過已知命令名稱來搜索其rpm包名。
用法:
說明:?因為該命令位置不確定,所以進(jìn)行搜索時使用‘*’(通配符)來代表其路徑。
7.5 yum搭建本地倉庫
有時候Linux系統(tǒng)無法聯(lián)網(wǎng),此時無法使用網(wǎng)上的yum源,需要我們利用Linux系統(tǒng)光盤制作一個yum源。
步驟
掛載光盤——刪除/etc/yum.repos.d/目錄所有repo文件——創(chuàng)建新文件dvd.repo——清除原有緩存‘yum clean all’。
[root@adai002?~]#?cp?-r?/etc/yum.repos.d?/etc/yum.repos.d.bak???備份原.repo文件 [root@adai002?~]#?cd?/etc/yum.repos.d???切換目錄[root@adai002?yum.repos.d]#?lsCentOS-Base.repo??CentOS-Debuginfo.repo??CentOS-Sources.repo??CentOS-fasttrack.repo CentOS-CR.repo????CentOS-Media.repo??????CentOS-Vault.repo [root@adai002?yum.repos.d]#?rm?-rf?./*刪除原有repo文件 [root@adai002?yum.repos.d]#?vim?dvd.repo“ [dvd] name=install?dvd???????? baseurl=file:///mntenable=1gpgcheck=0” 此部分內(nèi)容除baseurl目錄根據(jù)個人實際操作更改外,其余內(nèi)容固定。[root@adai002?yum.repos.d]#?yum?clean?all清除系統(tǒng)原有緩存 Failed?to?set?locale,?defaulting?to?C Loaded?plugins:?fastestmirror Cleaning?repos:?dvd Cleaning?up?everything Cleaning?up?list?of?fastest?mirrors [root@adai002?~]#?yum?list?…… Available?Packages??還未安裝的可安裝rpm包的庫都變成dvd ypserv.x86_64????????????????????????????????????2.31-8.el7???????????????????????????dvd?????? yum-langpacks.noarch?????????????????????????????0.4.2-7.el7??????????????????????????dvd?????? yum-plugin-aliases.noarch????????????????????????1.1.31-40.el7????????????????????????dvd?????? yum-plugin-changelog.noarch??????????????????????1.1.31-40.el7????????????????????????dvd?????? yum-plugin-tmprepo.noarch????????????????????????1.1.31-40.el7????????????????????????dvd??????……配置完成后便可直接使用yum安裝所需要的rpm包。如果不想使用本地yum源,需要刪除/etc/yum.repos.d/dvd.repo文件,然后恢復(fù)原來的配置文件。
擴展1:yum保留已經(jīng)安裝過的包
可以設(shè)置使yum保留已經(jīng)下載的rpm包,供以后升級或重新安裝時使用。
修改/etc/yum/conf即可:
cachedir是放置下載的包的地方,可以修改成自己想放置的位置。
keepcache為1時表示保存已經(jīng)下載的rpm包。
擴展2:yum局域網(wǎng)軟件源搭建
搭建Apache服務(wù)器或ftp服務(wù)器
yum安裝或二進(jìn)制包安裝.
準(zhǔn)備RPM包
把CentOS的DVD1和DVD2.iso都下載下來,把DVD1.iso里的所有內(nèi)容解壓出來,放到/var/www/html/centos-6目錄下,然后把DVD2.iso解壓出來的Packages目錄下的rpm包復(fù)制到/var/html/centos-6/Packages目錄下,這樣/var/html/centos-6/Packages里面就有了6000多個rpm包。
創(chuàng)建yum倉庫
準(zhǔn)備createrepo:yum -y install createrepo
創(chuàng)建repository:createrepo /var/www/html/centos-6/
創(chuàng)建完成之后,會在/var/www/html/centos-6/repodata下生成一些文件。
使用軟件源
在其他centos機器上試試軟件源能不能用。
-
首先修改機器上軟件源配置文件:
-
CentOS-Base.repo文件修改之后如下:
保存之后,就可以使用局域網(wǎng)的軟件源了:
#?yum?update本文轉(zhuǎn)自 芬野 51CTO博客,原文鏈接:http://blog.51cto.com/yuanhaohao/2059180,如需轉(zhuǎn)載請自行聯(lián)系原作者
總結(jié)
以上是生活随笔為你收集整理的day-20: 安装软件包及rpm yum的介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CCNP-1 EIGRP基本配置(BSC
- 下一篇: 更改sybase服务名