linux系统中的软件管理(软件仓库的搭建:本地+网络源+第三方)
Linux中的軟件管理
- 1.Linux中軟件包的類型
- 2.軟件包的名稱結(jié)構(gòu)
- 3.rpm命令管理軟件包
- 4.本地軟件倉(cāng)庫(kù)的搭建
- 系統(tǒng)軟件倉(cāng)庫(kù)的作用
- 搭建方法
- 5.dnf 軟件管理命令
- 6.網(wǎng)絡(luò)軟件倉(cāng)庫(kù)的搭建
- 搭建方法
- 網(wǎng)絡(luò)源epel
- 6.第三方軟件倉(cāng)庫(kù)的搭建方法
- 步驟
- 7.yumdownloader
- 8. /etc/rc.d/rc.local 開機(jī)自啟動(dòng)文件(chmod +x /etc/rc.d/rc.local)
1.Linux中軟件包的類型
1.DEB #UBlinux DEBlinux
2.RPM #redhat centOS fc
3.bz2|gz|xz #1.需要源碼安裝需要編譯
#2.綠色軟件,直接可用
#ntfs-3g_ntfsprogs-2017.3.23.tgz 需要編譯 “configure”
#Firefox-latest-x86_64.tar.bz2 綠色
"注意在rhel8中只能使用綠色軟件,源碼編譯軟件和rpm軟件"
2.軟件包的名稱結(jié)構(gòu)
[dhcp-server]-[4.3.6-30].[el8].[x86_64].[rpm]
1 2 3 4 5
1.軟件名稱
2.軟件版本
3.軟件的授權(quán)協(xié)議版本
4.軟件架構(gòu)
5.軟件類型后綴
3.rpm命令管理軟件包
rpm
| -a | 所有 |
| -f | 文件 |
| -p | 軟件包 |
| -q | 查詢 |
| -l | 軟件安裝文件列表 |
| -e | 卸載 |
| -c | 配置文件 |
| -d | 說明 |
| –info | 軟件信息 |
| –force | 強(qiáng)制 |
| –nodeps | 忽略依賴性 但有些軟件包即使忽略依賴性安裝成功,也無法使用 |
| –script | 查詢軟件在安裝或卸載過程中的運(yùn)行腳本 |
| -Kv | 檢測(cè)軟件md5校驗(yàn)碼 |
| -V | 檢測(cè)已安裝軟件在系統(tǒng)中的文件被修改信息 |
rpm -qf /bin/ls 查詢命令的安裝包
rpm -q httpd 查看是否安裝此服務(wù)
[root@lzy Desktop]# rpm -q httpd httpd-2.4.37-10.module+el8+2764+7127e69e.x86_64 [root@lzy Desktop]#4.本地軟件倉(cāng)庫(kù)的搭建
系統(tǒng)軟件倉(cāng)庫(kù)的作用
在系統(tǒng)中對(duì)軟件進(jìn)行管理
rpm命令是不能解決依賴關(guān)系的
如果需要軟件在安裝過程中自動(dòng)解決依賴關(guān)系
需要大家系統(tǒng)軟件倉(cāng)庫(kù)
搭建方法
1.在系統(tǒng)中加載安裝系統(tǒng)時(shí)使用的安裝鏡像
mkdir /westos ##隨意建立一個(gè)目錄mount rhel-8.0-x86_64-dvd\(1\).iso /westos/ ##將鏡像掛載到所建目錄下 [root@foundation66 ~]# df ##c查看掛載 Filesystem 1K-blocks Used Available Use% Mounted on devtmpfs 3921680 0 3921680 0% /dev tmpfs 3936892 18156 3918736 1% /dev/shm tmpfs 3936892 10232 3926660 1% /run tmpfs 3936892 0 3936892 0% /sys/fs/cgroup /dev/nvme0n1p7 74796360 29513244 45283116 40% / /dev/nvme0n1p5 1038336 676404 361932 66% /boot /dev/nvme0n1p1 307032 51920 255112 17% /boot/efi tmpfs 787376 12 787364 1% /run/user/42 tmpfs 787376 44 787332 1% /run/user/0 /dev/loop0 6935944 6935944 0 100% /westosAppStream中是一些應(yīng)用軟件 BaseOS中是一些內(nèi)核等軟件 在安裝軟件的時(shí)候有一些依賴性,不確定依賴性在哪個(gè)庫(kù)中,所以在搭建本地軟件倉(cāng)庫(kù)的時(shí)候,兩個(gè)庫(kù)都寫
[root@foundation66 ~]# cd /westos [root@foundation66 westos]# ls AppStream EFI extra_files.json images media.repo RPM-GPG-KEY-redhat-release BaseOS EULA GPL isolinux RPM-GPG-KEY-redhat-beta TRANS.TBL [root@foundation66 westos]# cd AppStream/ [root@foundation66 AppStream]# ls Packages repodata [root@foundation66 AppStream]# cd Packages/ [root@foundation66 Packages]# ls 389-ds-base-1.4.0.20-7.module+el8+2750+1f4079fb.x86_64.rpm 389-ds-base-devel-1.4.0.20-7.module+el8+2750+1f4079fb.x86_64.rpm 389-ds-base-legacy-tools-1.4.0.20-7.module+el8+2750+1f4079fb.x86_64.rpm 389-ds-base-libs-1.4.0.20-7.module+el8+2750+1f4079fb.x86_64.rpm2.編寫軟件倉(cāng)庫(kù)文件
/etc/yum.repos.d/ 軟件源指向文件配置目錄
在此目錄中不能有無法訪問的源指向
vim /etc/yum.repos.d/xxxx.repo##軟件倉(cāng)庫(kù)指向文件
3.檢測(cè)倉(cāng)庫(kù)是否搭建好
[root@foundation66 yum.repos.d]# dnf repolist ##能列出庫(kù)的資源
Updating Subscription Management repositories. Unable to read consumer identity This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. AppStream 135 MB/s | 5.3 MB 00:00 BaseOS 95 MB/s | 2.2 MB 00:00 repo id repo name status AppStream AppStream 4,672 BaseOS BaseOS 1,658 [root@foundation66 yum.repos.d]#5.dnf 軟件管理命令
dnf
| clean all | 清除系統(tǒng)中已經(jīng)加載的倉(cāng)庫(kù)緩存信息 |
| list all | 列出所有軟件 |
| list available | 列出未安裝軟件 |
| list installed | 列出已安裝軟件 |
| install | 安裝 |
| remove | 卸載 |
| reinstall | 重新安裝 |
| search | 搜索 |
| whatprovides | 搜索包含文件的軟件包 |
| history | dnf執(zhí)行歷史 |
| history info | dnf執(zhí)行歷史詳細(xì)信息 |
| group list | 列出軟件組 |
| group list --installed | 列出已安裝軟件組 |
| group list --available | 列出未安裝軟件組 |
| group list --hidden | 列出隱藏軟件案組 |
| group install | 安裝軟件組 |
| group info | 查看軟件組信息 |
dnf whatprovides /bin/ls == rpm -qf /bin/ls
6.網(wǎng)絡(luò)軟件倉(cāng)庫(kù)的搭建
在企業(yè)中,我們維護(hù)的系統(tǒng)數(shù)量龐大,
當(dāng)我們需要在每個(gè)系統(tǒng)安裝軟件管理軟件時(shí)
可以在每個(gè)系統(tǒng)中各自搭建軟件倉(cāng)庫(kù)
但是這樣管理軟件會(huì)浪費(fèi)大量的資源
如何節(jié)省這部分重復(fù)的資源
需要把大家都要使用的資源共享到互聯(lián)網(wǎng)中
這樣大家就可以利用網(wǎng)絡(luò)訪問資源,不需要在每一臺(tái) 主機(jī)中獨(dú)立建立軟件資源了。
搭建方法
1.利用景象搭建本地軟件倉(cāng)庫(kù) (見上) 本地主機(jī)ip 192.168.122.1
2.安裝共享軟件
3.啟用共享軟件Apache
systemctl stop firewalld 關(guān)閉火墻systemctl disable firewalldsystemctl enable --now httpd ###設(shè)置httpd開機(jī)自啟動(dòng)4.建立共享目錄
mkdir /var/www/html/westos
5.掛在景象到共享目錄
先卸載掉之前的掛載 umount /westos
vim /etc/rc.d/rc.local 在開機(jī)時(shí)自動(dòng)掛載
mount /dev/cdrom /var/www/html/westos_8
chmod 755 /etc/rc.d/rc.local ##給予可執(zhí)行權(quán)力
重新編輯repo文件
baseurl=file:///var/www/html/westos/ AppStream|BaseOS
6.在遠(yuǎn)程主機(jī)westos_linux中訪問資源并書寫repo文件 ##也可以直接在本地中檢測(cè):baseurl=http://本地ip/westos/BaseOS|AppStream
網(wǎng)絡(luò)源epel
[epel] name=epel baseurl=https://mirrors.aliyun.com/epel/8/Everything/x86_64/ gpgcheck=06.第三方軟件倉(cāng)庫(kù)的搭建方法
可以使用dnf命令管理第三方軟件
生成一個(gè)目錄,存放數(shù)據(jù),掃描,生成數(shù)據(jù),dnf讀取并數(shù)據(jù)
根據(jù)repomd.xml的指向去讀primary文件,加載到/var/cache/dnf
步驟
1.建立目錄
mkdir /software
2.把所有的第三方軟件存放到/software中
/software中只能存在rpm類型的文件,壓縮包是不能使用dnf管理的
3.采集第三方軟件數(shù)據(jù)生成repodate目錄
dnf install createrepo -y安裝采集工具
cd /software進(jìn)入到目錄
createrepo . 對(duì)目錄中進(jìn)行掃描生成repodate數(shù)據(jù)目錄
cretaerepo -v 指定目錄
7.yumdownloader
dnf 安裝服務(wù)后,看不到軟件包
yumdownloader httpd下載服務(wù)安裝包到所在目錄
yumdownloader httpd --destdir=/mnt --resolve 指定目錄
8. /etc/rc.d/rc.local 開機(jī)自啟動(dòng)文件(chmod +x /etc/rc.d/rc.local)
總結(jié)
以上是生活随笔為你收集整理的linux系统中的软件管理(软件仓库的搭建:本地+网络源+第三方)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数学建模常用模型之秩和比综合评价法
- 下一篇: linux 其他常用命令