日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

yum与rpm的详解 --用来安装软件

發(fā)布時(shí)間:2025/1/21 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 yum与rpm的详解 --用来安装软件 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

? ? ? ? ? ? ? ? ? ?yum與rpm的詳解

? ? ? ? ? ? ? ? ? ? ? ? ??--用來(lái)安裝軟件

? ? ?關(guān)鍵字:本地yum? 第三方y(tǒng)um? yum參數(shù) yum軟件控制 rpm參數(shù)? 永久掛載?? 軟件的依賴(lài)性

第一部分:配置本地yum源

? ? ?1.yum安裝http服務(wù),并共享給其他主機(jī)可以訪問(wèn)

如果在服務(wù)器不在的情況下或是無(wú)法從網(wǎng)上獲取第三方軟件時(shí),此時(shí),可以利用自己的鏡像進(jìn)行安裝,需要一個(gè)與本機(jī)匹配的安裝鏡像,rhel-server-7.0-x86_64-dvd.iso,這個(gè)文件從官方網(wǎng)站下載得到

? ? ?第一步 配置本地的yum 源

腳本文件

vim yum.sh

#!/bin/bash

########create local yum source#########

? ?mkdir /westos

? ?#該步驟的目的建立一個(gè)目錄掛載鏡像,掛載的意思有些文件系統(tǒng)會(huì)有獨(dú)立的inode、block、super block等信息,這個(gè)文件系統(tǒng)要能夠鏈接到目錄樹(shù)才能被我們使用。將文件系統(tǒng)與目錄樹(shù)結(jié)合的操作稱(chēng)為掛載,重點(diǎn)是,掛載點(diǎn)一定是目錄 ,該目錄為進(jìn)入該文件系統(tǒng)的入口。

? ? mount /iso/rhel-server-7.1-x86_64-dvd.iso? /westos

? ? #將磁盤(pán)掛載到這個(gè)目錄下

? ? cat >/etc/yum.repos.d/yum.repo <<end??

? ?編寫(xiě) yum設(shè)置文件,后結(jié)尾必須是.repo文件 『后邊<<end 做結(jié)束』。

? ?[text]?

? ?#倉(cāng)庫(kù)的名字,中括號(hào)一定要存在,里面的名稱(chēng)可以任意取,但是不能有兩個(gè)相同的容器名稱(chēng),否則yum會(huì)不知道到哪里去找倉(cāng)庫(kù)相關(guān)軟件列表文件。

? ? name=software?

? ? #倉(cāng)庫(kù)的描述#

? ? baseurl=file:///westos

? ? #倉(cāng)庫(kù)的實(shí)際地址#

? ? gpgcheck=0????

? ? #用gpg文件檢查文件的簽名.是否檢測(cè)軟件的gpgkey,設(shè)成1的話,與系統(tǒng)匹配,如果出現(xiàn)不一樣就不給裝。

? ? End

? ? 當(dāng)然也可以加入enable=1/0 說(shuō)明啟用更新庫(kù),0表示不啟用。

? ? ?yum clean all

? ? ?#將之前緩存數(shù)據(jù)刪除,刷新新的出來(lái),yum會(huì)先下載倉(cāng)庫(kù)的清單到本機(jī)的/var/cache/yum里面去,但是我們修改了網(wǎng)址卻沒(méi)有修改容器名稱(chēng)(中括號(hào)內(nèi)的名字),可能就會(huì)造造成本機(jī)的列表與yum服務(wù)器的列表不同步,此時(shí)就會(huì)出現(xiàn)無(wú)法更新的問(wèn)題,解決該問(wèn)題就是清除掉本機(jī)上的舊數(shù)據(jù)即可,就是用yum的 clean 參數(shù)即可。

? ? ?第二步 安裝打開(kāi)本機(jī)上的http服務(wù)

######install share server##############

? ? ?yum install httpd -y

? ? #安裝httpd服務(wù)? -y表示不提醒。

? ? systemctl start httpd

? ? #開(kāi)啟httpd服務(wù)。

? ? ?systemctl enable httpd

? ? ?#設(shè)置開(kāi)機(jī)時(shí)自動(dòng)開(kāi)啟httpd服務(wù)。

? ? systemctl disable firewalld

? ? #設(shè)置開(kāi)機(jī)不啟動(dòng)防火墻。

? ? systemctl stop firewalld????

? ? #現(xiàn)在關(guān)掉防火墻,就是別的用戶(hù)訪問(wèn)的時(shí)候可以訪問(wèn)。

第三步 分享httpd服務(wù)

#####mount iso to share directory#####

? ? umount /westos

? ? ?mkdir /var/www/html/rhel7.1???

? ? ?#在http服務(wù)這個(gè)默認(rèn)的目錄下新建一個(gè)目錄,特殊的服務(wù)都有特殊的目錄,執(zhí)行都是要在其底下,所以要在這種默認(rèn)的目錄下新建個(gè)目錄。

? ? ?mount /iso/rhel-server-7.1-x86_64-dvd.iso? /var/www/html/rhel7.1?

? ? ?#把鏡像掛載到這個(gè)上邊。

第四步 把之前新改的掛載目錄重新放到配置文件中

#####cofig local yum################

? ? rm -rf /etc/yum.repos.d/yum.repo

? ? cat >/etc/yum.repos.d/yum.repo <<end

? ? [test]

? ? name=test

? ? ?baseurl=file://(訪問(wèn)的方式)/var/www/html/rhel7.1??

? ?或者可以改成 http://172.25.254.200/rhel7.1

? ?gpgcheck=0

? ? end

? ? 至此就可以實(shí)現(xiàn)本地訪問(wèn),如果其他主機(jī)也想要訪問(wèn)的話,就還是配置...repo文件,配置與第四步類(lèi)似相同。

第二部分:yum相關(guān)參數(shù)功能

? ?yum

? ?yum list all ###列出所有安裝包

? ?yum list installed ###列出已經(jīng)安裝的

? ?yum list available ###列出沒(méi)有安裝的

? ?yum remove software ###卸載軟件

? ?yum install software ###安裝軟件

? ?yum search 關(guān)鍵字 ###搜索與關(guān)鍵字相關(guān)的軟件

? ?yum whatprovides 文件 ###搜索包含此文件的包*/ls

? ?yum reinstall software ###從新安裝軟件

? ?yum localinstall 第三方軟件 ###安裝第三方軟件并解決依賴(lài)關(guān)系

? ?yum info software ###查詢(xún)軟件信息

? ?yum groups list ###列出軟件組,組中包含多個(gè)軟件

? ?yum groups install ###安裝組

? ?yum groups remove ###卸載組

? ? yum groups info ###查看組信息

? ? yum???? repolist? all?????????? ###列出目前yum server 所使用的倉(cāng)庫(kù)有哪些

第三部分:安裝系統(tǒng)中沒(méi)有裝的軟件,比如gcc

vim hello.c

#include<stdio.h>

int main(){

???? printf("Hello world\n");

???? return 0;

}

用gcc 編譯

gcc hello.c -o hello

執(zhí)行 ./hello或在./a.out

如果gcc編譯時(shí)沒(méi)有這個(gè)命令,可以安裝上這個(gè)yum install gcc

第四部分:安裝第三方軟件,比如linux下的qq

? ? rpm -ivh /home/kiosk/Desktop/linuxqq-v1.0.2-beta1.i386.rpm

? ? 底下會(huì)顯示出安裝這個(gè)軟件還需要依賴(lài)的文件。然后要找到這些文件是在哪個(gè)包中:

? ? yum whatprovides libatk-1.0.so.0

? ? 然后安裝包含這個(gè)文件的包

第五部分:rpm命令的使用#############

? ? rpm ###底層軟件管理工具

? ? -i ###install

? ? -v ###顯示信息

? ? -h ###指定包的解密方式為hash

? ? -q ###查詢(xún)

? ? -p ###指定軟件包本身

? ? -l ###列出軟件中文件的名字

? ? --scripts ###查看軟件安裝和卸載過(guò)程中所執(zhí)行的動(dòng)作

? ? -f ###查詢(xún)某個(gè)文件屬于那個(gè)安裝包

? ? -a ###所有

? ? -e ###卸載

? ? --force ###強(qiáng)制

? ? --nodeps ###忽略依賴(lài)性

第六部分:yum軟件控制

? ?vim /etc/yum.conf??????

? ?#配置該文件的目的是可以屏蔽掉某些不需要安裝的包。

? ?exclude=*.x86_64

? ?#忽略64位安裝包。

? ?exclude=*.i686

? ?還可以再加單獨(dú)的包,字符串用空格隔開(kāi),忽略32位安裝包。

第七部分:第三方軟件倉(cāng)庫(kù)的搭建

? ?就是如何把第三方軟件包錄入到y(tǒng)um 倉(cāng)庫(kù)中

? ?1.把所有rpm包放到指定目錄中,比如方到/software中

? ?2.在這個(gè)目錄中執(zhí)行createrepo -v /software/,(創(chuàng)建yum倉(cāng)庫(kù)元數(shù)據(jù))生成repodate目錄,生成repodata文件。

? ?3.編寫(xiě)/etc/yum.repos.d/xxx.repo指定/software位yum源

第八部分:實(shí)驗(yàn)補(bǔ)充:

? ? 要實(shí)現(xiàn)永久掛載,編輯配置文件:

? ?永久掛載后,當(dāng)你umount后,在用mount -a就可以實(shí)現(xiàn)再次掛載。

??? ###要想用ssh控制圖形需要用到-X:

? ?安裝有依賴(lài)性的軟件:

? ?安裝,有依賴(lài)性。

? ?在所有目錄中查詢(xún)此軟件:

? ?查到,安裝:

? ?這樣反復(fù)進(jìn)行,直到解決所有依賴(lài)性。

? ?對(duì)于安裝qq這個(gè)軟件的解決方法。

??? --force?? 忽略依賴(lài)性,直接安裝。

? ?查詢(xún)軟件:

? 查詢(xún)所有

? 查詢(xún)軟件中文件的名字

? ?查詢(xún)指定軟件包本身: 查看執(zhí)行的動(dòng)作:

? ?下面是yum軟件控制:

??? Zsh軟件是x86 64位軟件,

? ? 在主配置文件中忽略32位的和64位的。

? ? 將配置文件改為忽略64位,則list 時(shí)就不會(huì)有64位的wps,如下:

??? ###插入 yum list 軟件名稱(chēng)? 是用來(lái)查詢(xún)倉(cāng)庫(kù)中有的軟件包的信息。

第三方軟件倉(cāng)庫(kù)的搭建:

? 首先獲得包:

? ? 就像系統(tǒng)軟件倉(cāng)庫(kù)一樣,作為一個(gè)倉(cāng)庫(kù)最基本的是有軟件包和repodata這個(gè)目錄,如下:

? ? 所以首先要?jiǎng)?chuàng)建repodata目錄:

? ? 配置yum? 源:

? ? ?每次配置完yum 源都要進(jìn)行? yum? clean? all? 和? yum? repo補(bǔ)全? all

下面就可以安裝第三方軟件了:

??? Gpgcheck校驗(yàn):

? ? 查詢(xún)軟件位置:

轉(zhuǎn)載于:https://blog.51cto.com/yaoxiaofeng/1852871

與50位技術(shù)專(zhuān)家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的yum与rpm的详解 --用来安装软件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。