文章目錄
- Linux部署yum倉庫專案
- 1、yum倉庫簡介:
- 2、yum實作程序:
- 3、Linux部署yum倉庫專案:
- (1) 主組態檔:/etc/yum.conf
- (2) yum倉庫檔案位置:/etc/yum.repos.d
- (3) 日志檔案:/var/log/yum.log
- (4) yum相關命令:
- (5) 搭建yum倉庫的方式:
- (6) 搭建本地yum倉庫:
- (7)搭建阿里云倉庫(http方式外網環境)
- (8)ftp方式搭建云倉庫:
- 4、NFS共享檔案:
- (1) NFS簡介:
- (2) 特點:
- (3) 原理:
- (4) 搭建程序:
Linux部署yum倉庫專案
1、yum倉庫簡介:
yum是一個基于RPM包(是Red-Hat Package Manager紅帽軟體包管理器的縮寫)構建的軟體更新機制,能夠自動解決軟體包之間的依賴關系,
yum由倉庫和客戶端組成,也就是整個yum由兩部分組成,所以yum可以存放在兩臺服務器上,也可以存放在一臺服務器上,可以有官方來提供服務,也可以由第三方來提供,比如國內的阿里云,搜狐云,還有一些非盈利組織比如學校等,
一個檔案可以搭建多個yum倉庫;
內核位置為:/boot X86代表架構;
yum info #顯示所有可用包的資訊
2、yum實作程序:
先在yum服務器上創建 yum倉庫,在倉庫中事先存盤了眾多rpm包,以及包的相關元資料檔案;
當yum客戶端利用yum工具進行安裝時包時,會自動下載repodata中的元資料,查詢元資料是否存在相關的包及依賴關系,自動從倉庫中找到相關包下載并安裝,
3、Linux部署yum倉庫專案:
(1) 主組態檔:/etc/yum.conf
[root@localhost]# /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever //yum下載的RPM包的快取目錄 $basearch代表硬體 $releasever系統版本比如7
keepcache=0 //是否保存快取 0代表不保存,1代表保存
debuglevel=2 //除錯級別了解即可
logfile=/var/log/yum.log // 日志檔案位置
exactarch=1 //是否允許不同版本的rpm安裝
obsoletes=1 //update 的一個引數是否可以允許舊版本的運行
gpgcheck=1 //驗證秘鑰
plugins=1 //是否允許插件1代表可以
installonly_limit=5 //保存幾個內核 5代表5個
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
yum的repo組態檔中可用的變數:
$releasever: 當前OS的發行版的主版本號,如:8,7,6
$arch: CPU架構,如:aarch64, i586, i686,x86_64等
$basearch:系統基礎平臺;i386, x86_64
$contentdir:表示目錄,比如:centos-8,centos-7
$YUM0-$YUM9:自定義變數
(2) yum倉庫檔案位置:/etc/yum.repos.d
默認的yum倉庫 是centos官方的yum源,需要聯網才可以使用;
[root@localhost yum.repos.d]# ls /etc/yum.repos.d/
bak CentOS-Debuginfo.repo CentOS-Sources.repo
CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-Media.repo
(3) 日志檔案:/var/log/yum.log
[root@localhost yum.repos.d]# cat /var/log/yum.log //查看日志檔案
Jun 23 11:03:16 Installed: apr-1.4.8-3.el7.x86_64
Jun 23 11:03:16 Installed: apr-util-1.5.2-6.el7.x86_64
Jun 23 11:03:16 Installed: httpd-tools-2.4.6-67.el7.centos.x86_64
(4) yum相關命令:
| 命令 | 作用 |
|---|---|
| yum list | 顯示所有可用包 |
| yum info | 顯示可用包的資訊 |
| yum search | 模糊查找相關資訊 |
| yum whatprovides | 精確查找 |
| yum grouplist | 顯示所有可用包組 |
| yum groupinfo | 顯示所有的包組具體資訊 |
| yum install | 安裝具體軟體包 |
| yum update | 軟體升級 |
| yum remove | 卸載具體軟體 |
| yum history | 查看當前yum操作歷史 |
| yum history undo | 加入序號卸載序號里安裝的軟體 |
| yum history redo | 加入序號重新執行序號里的操作 |
#顯示可用的安裝包,如不加軟體名是顯示所有的可用包,由于軟體過多不做例子,
[root@localhost data]# yum list dhcp
已加載插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
已安裝的軟體包
dhcp.x86_64 12:4.2.5-58.el7.centos @centos7
#顯示安裝包詳細資訊
[root@localhost ~]# yum info dhcp

#根據關鍵字查找軟體安裝包,有模糊查詢和精確查詢
[root@localhost ~]# yum search ftp #模糊查詢
[root@localhost ~]# yum whatprovides ftp #精確查詢

#安裝包組的查詢,若不加包組名就是顯示所有(此處例子由于安裝了中文環境,無法顯示英文包組名稱無法直接復制中文使用,建議直接安裝英文作業系統)
[root@localhost data]# yum grouplist

#安裝軟體包
[root@localhost ~]# yum install httpd
#卸載已安裝的軟體必須加軟體名
[root@localhost yum.repos.d]# yum remove httpd
#查看yum歷史的使用記錄
[root@localhost yum.repos.d]# yum history

(5) 搭建yum倉庫的方式:
軟體倉庫的提供方式
FTP服務:ftp://ip地址/站點里路徑
HTTP服務:http://域名或者ip地址/站點里的路徑
本地目錄:file://絕對路徑 (file:///mnt 此處第三個/為根目錄
(6) 搭建本地yum倉庫:
#首先將光驅中鏡像檔案進行掛載
[root@localhost ~]# mount /dev/sr0 /mnt/
mount: /dev/sr0 寫保護,將以只讀方式掛載
[root@localhost ~]# df -Th //查看下掛載
/dev/sr0 iso9660 4.3G 4.3G 0 100% /mnt
#切換到 /etc/yum.repo.d 目錄 將自帶的倉庫移走
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir bak #新建一個檔案夾用來存放原來的.repo檔案
[root@localhost yum.repos.d]# mv *.repo bak/ #將原來的.repo檔案移走
[root@localhost yum.repos.d]# ls #查看一下
bak
#新建yum倉庫檔案
[root@localhost yum.repos.d]# vim abc.repo
[abc]
name=abc
baseurl=file:///mnt
enabled=1
gpgcheck=0
[root@localhost yum.repos.d]#yum clean all //清除一下yum
[root@localhost yum.repos.d]#yum list //列出yum
(7)搭建阿里云倉庫(http方式外網環境)
國外云倉庫比較慢,可以使用阿里云倉庫代替;
#新建阿里云yum倉庫檔案
[root@localhost yum.repos.d]# vim ali.repo
[ali]
name=aliyun
baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/
enabled=1
gpgcheck=0
[root@localhost yum.repos.d]#yum clean all //清除一下yum快取
#兩個小游戲
#小火車
[root@centos7 ~]#yum -y install epel-release
[root@centos7 ~]#yum -y install sl
[root@centos7 ~]#sl -a
#牛
[root@localhost ~]#yum install -y install cowsay
[root@localhost ~]#cowsay hello
(8)ftp方式搭建云倉庫:
服務端:192.168.111.122
客戶端:192.168.111.130
#服務端安裝vsftp服務
[root@localhost ~]# yum install vsftpd.x86_64 -y
#服務端切換到 ftp目錄下新建一個centos7,other目錄
[root@localhost ~]# cd /var/ftp/
[root@localhost ftp]# ls
pub
[root@localhost ftp]# mkdir centos7 other
[root@localhost ftp]# ls
other centos7 pub
#服務端將光驅里的檔案包全部拷到centos7里面(此處我已經先將光驅掛載到 了mnt目錄下了)
[root@localhost ftp]#mount /dev/sr0 /mnt/
[root@localhost ftp]# cp -rf /mnt/* centos7/ & //&代表后臺運行應為檔案較大
[root@localhost ftp]#jobs #查看shell作業資訊(后臺下載的)
[root@localhost ftp]# cd centos7/
[root@localhost centos7]# ls //已將安裝包檔案拷入
CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7
EFI images Packages RPM-GPG-KEY-CentOS-Testing-7
EULA isolinux repodata TRANS.TBL
[root@localhost ~]# cd /var/ftp/other
#建立資料庫檔案
[root@localhost other]# createrepo -g /mnt/repodata/repomd.xml ./
#服務端開啟相關服務,關閉防火墻和selinux
[root@localhost repodata]# systemctl stop firewalld.service
[root@localhost repodata]# setenforce 0
[root@localhost repodata]# systemctl start vsftpd //重啟vsftpd服務
[root@localhost ftp]#netstat -natp | grep ftp //過濾查找ftp
tcp6 0 0 :::21 :::* LISTEN 20518/vsftpd
#客戶端安裝ftp 服務并啟動關閉防火墻和selinux
[root@localhost yum.repos.d]# yum install ftp
[root@localhost repodata]# systemctl stop firewalld.service
[root@localhost repodata]# setenforce 0
#測驗ftp服務是否正常
[root@localhost yum.repos.d]# ftp 192.168.111.122


#撰寫yum倉庫檔案
[root@localhost yum.repos.d]# vim centos7.repo
[centos7]
name=centos7
baseurl=ftp://192.168.111.122/centos7
enabled=1
gpgcheck=0
[other]
name=other
baseurl=ftp://192.168.111.122/other
enabled=1
gpgcheck=0
#測驗是否yum可以正常使用
[root@localhost ftp]#yum clean all
[root@localhost ftp]#yum list
[root@localhost yum.repos.d]# yum install dhcp

4、NFS共享檔案:
(1) NFS簡介:
NFS(Network File System 網路檔案服務)
NFS 是一種基于 TCP/IP 傳輸的網路檔案系統協議,最初由 Sun 公司開發,
通過使用 NFS 協議,客戶機可以像訪問本地目錄一樣訪問遠程服務器中的共享資源,
NFS 也是 NAS 存盤 設備必然支持的一種協議,
(2) 特點:
采用TCP/IP傳輸網路檔案;
安全性低;
簡單易操作;
適合局域網環境;
(3) 原理:
NFS優勢:節省本地存盤空間,將常用的資料如:/home 目錄,存放在NFS服務器上且可以通過網路訪問,將減少本地磁盤的使用率,
(4) 搭建程序:
#服務器端:192.168.111.122
[root@localhost httpd]#systemctl stop firewalld
[root@localhost httpd]#setenforce 0
[root@localhost share]#yum install nfs-utils.x86_64 -y
#安裝軟體包盤用作共享使用

#新建共享目錄
[root@localhost httpd]#mkdir /share
[root@localhost httpd]#cd /share/
[root@localhost share]#chmod -R 777 /share/
#修改權限
[root@localhost share]#vim /etc/exports
#編輯組態檔
/share *
/share 192.168.91.0/24(rw,sync,no_root_squash)
#共享目錄 網段 讀寫,同步,無root權限
#重啟rpcbind和nfs服務
[root@localhost ~]# systemctl start rpcbind
[root@localhost ~]# systemctl start nfs
[root@localhost ~]#exports -vr
#不重啟生效
[root@localhost share]#exportfs -v
#查看詳細的nfs資訊
[root@localhost ~]# netstat -anpt | grep rpc
[root@localhost share]# showmount -e
Export list for localhost.localdomain:
/share (everyone)

#客戶機端:192.168.111.130
[root@localhost ~]#mkdir /data //創建一個掛目錄
#掛載服務器端地址檔案在自己目錄下
[root@localhost ~]# mount 192.168.111.122:/share /data
[root@localhost ~]#df -hT
192.168.111.122:/share nfs4 17G 8.6G 8.5G 51% /data
#測驗一下
#服務器 touch 一個檔案,在客戶端看看有沒有
[root@localhost share]# touch 1.txt
#客戶端:
[root@localhost yum.repos.d]# cd /data
[root@localhost data]# ls
1.txt
#因為給了 share 777權限,因此客戶端也可以 touch 檔案
[root@localhost data]# touch 2.txt
[root@localhost data]# ls
1.txt 2.txt
#強制解掛載
[root@localhost ~]# umount /mnt
t umount. nfs: /mnt : device is busy
[root@localhost ~]# umount -lf /mnt

總結:
這些專案比較容易上手,在學習程序中還是要多敲多練習,俗話說:好記性不如爛筆頭,說明了多動手敲命令很重要,好好學習,天天向上!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/317743.html
標籤:其他
上一篇:Zabbix搭建
