一.搭建網(wǎng)絡(luò)倉庫
1.服務(wù)端準(zhǔn)備軟件包。
? 1.光盤
[root@zy ~]# mount /dev/cdrom /mnt/
? 2.緩存
? 3.聯(lián)網(wǎng)下載
? 4.同步
2.通過ftp服務(wù)共享軟件包存放的目錄
[root@zy ~]# yum install vsftpd -y
(默認(rèn)沒有ftp服務(wù)需要安裝)
[root@zy ~]# systemctl start vsftpd
(開啟ftp服務(wù),關(guān)機(jī)之后需要重新開啟)
*可以設(shè)為開機(jī)自啟服務(wù)】
[root@zy ~]# systemctl stop firewalld.service
(關(guān)閉防火墻)
[root@zy ~]# setenforce 0
(關(guān)閉安全機(jī)制)
3.將光盤中的軟件包都拷貝到ftp的共享目錄下
[root@zy ~]# mkdir /var/ftp/yum_10.0.0.200/
(創(chuàng)建一個軟件包目錄)
[root@zy ~]# find /mnt/ -type f -name "*.rpm" - exec cp {} /var/ftp/yum_10.0.0.200/ \;
(查找出掛載目錄下的所有軟件包话肖,然后拷貝到/var/ftp/軟件包目錄下)
4.將共享的目錄設(shè)置成yum倉庫
[root@zy ~]# yum install createrepo -y
(默認(rèn)沒有createrepo需要安裝)
[root@zy ~]# createrepo /var/ftp/yum_10.0.0.200/
(將yum_10.0.0.200目錄中的所有文件轉(zhuǎn)換成軟件包)
2.客戶端
? ? 1.關(guān)閉所有的公網(wǎng)yum倉庫
[root@zy ~]# gzip /etc/yum.repos.d/*
2.在/etc/yum.repos.d/目錄中新建一個repo文件千元,文件中的baseyrl指向服務(wù)端擂仍。(一般倉庫文件名都是以repo結(jié)尾的)
[root@neimengJay yum.repos.d]# cat ftp_10.0.0.200.repo
[ftp_10.0.0.200.repo]? ? (軟件包名字)
name = This is yum? ? ? (軟件包描述)
baseurl = ftp://10.0.0.200/yum_10.0.0.200/ (將baseyrl指向服務(wù)端)
enadle = 1? ? (是否啟用yum)【1=啟用】【0=禁用】
gpgcheck = 0 (檢查yum是否安全)【1=檢查】【0=不檢查】
(完成之后測試是否可以正常使用)
二.如果客戶端需要通過共享的倉庫安裝zabbix軟件怎么辦驼壶?
? 服務(wù)端
1.服務(wù)端需要提供zabbix軟件箱單的倉庫
[root@zy ~]#[root@zy ~]# mkdir /var/ftp/zabbix/
(在/var/ftp/在創(chuàng)建一個zabbix共享目錄)
2.獲取zabbix的軟件包
[root@zy ~]# curl https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/ >zabbix.txt
(瀏覽zabbix軟件包所在網(wǎng)址罚拟,將輸出內(nèi)容輸出到一個文件中)
[root@zy ~]# awk -F '"' '/href/ {print "wget -O /var/ftp/zabbix/"$2" ""https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/"$2}' zabbix.txt >zabbix1.txt
【將該條命令輸出結(jié)果重定向到zabbix1.txt中悄雅,例:wget -O /var/ftp/zabbix/zabbix-web-pgsql-4.0.9-3.el7.noarch.rpm
(指定下載到/var/ftp/zabbix/zabbix-web-pgsql-4.0.9-3.el7.noarch.rpm 中)
https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-web-pgsql-4.0.9-3.el7.noarch.rpm】
# zabbix還缺少的四個軟件包
wget http://repo.zabbix.com/non-
supported/rhel/7/x86_64/fping-3.10-1.el7.x86_64.rpm
wget http://repo.zabbix.com/non-
supported/rhel/7/x86_64/iksemel-1.4-
2.el7.centos.x86_64.rpm
wget http://repo.zabbix.com/non-
supported/rhel/7/x86_64/iksemel-devel-1.4-
2.el7.centos.x86_64.rpm
wget http://repo.zabbix.com/non-
supported/rhel/7/x86_64/iksemel-utils-1.4-
2.el7.centos.x86_64.rpm
[root@zy ~]# createrepo /var/ftp/zabbix/
(將zabbix目錄中的所有文件轉(zhuǎn)換成軟件包)
2.客戶端新建一個repo文件驱敲,文件中的baseyrl指向服務(wù)端
提供的zabbix倉庫。
? ? ? ? 客戶端
[root@neimengJay yum.repos.d]# cat ftp_10.0.0.200.zabbix.repo?
[ftp-zabbix]? ? ? (倉庫名稱)
name = Tith is zabbix repo? (倉庫描述)
baseur = ftp://10.0.0.200/zabbix/? (baseyrl指向ftp://10.0.0.200/zabbix/ 服務(wù)端)
enable = 1? ? ? ? (是否使用yum)【1=開啟】【0=禁用】
gpgcheck = 0? ? (是否檢查yum安全)【1=檢查】【0=不檢查】
(測試zabbix倉庫是否可用)
三.源碼包管理
1.源碼包指的是開發(fā)編寫好的程序源代碼宽闲,但并沒有將其編譯為一個能正常使用的工具众眨。
2.為什么要學(xué)源碼包
? 因為部分軟件官網(wǎng)只提供源碼包,需要自己進(jìn)行編譯并安裝容诬。
? 一些軟件在新版本有一些特性還沒有來得及制作成rpm包時娩梨,可以自行編譯軟件使用其新特性。
3.源代碼的缺點放案,優(yōu)點
? ? 優(yōu)點:可以自行修改源代碼姚建。
? ? ? ? ? ? ? 可以定制需要的相關(guān)功能。
? ? ? ? ? ? ? 新版軟件優(yōu)先更新原碼吱殉。
? ? 缺點:相對yum安裝軟件會復(fù)雜很多掸冤。
? ? ? ? ? ? ? 標(biāo)準(zhǔn)化實施困難厘托,無法實現(xiàn)自動化。
4.在常見的軟件包官網(wǎng)都可以獲取源碼包比如:apache稿湿,nginx铅匹,mysql等等。(以tar.gz結(jié)尾的都是源碼包)
5.如何將源碼包編譯為二進(jìn)制可執(zhí)行文件饺藤。
? ? 編譯安裝過程:
? ? 1.下載源代碼安裝包文件
? ? 2.tar解包(解壓并釋放源碼包到指定的目錄)
? ? 3../configure配置(設(shè)置安裝目錄包斑,安裝模塊等選項,生成makefeile)
[root@zy nginx-1.17.3]# ./configure --prefix=/rpm/nginx-2.16 --with-http_perl_module=dynamic
error: the HTTP rewrite module requires the PCRE library.
(解決error錯誤)
[root@zy nginx-1.17.3]# yum -y install pcre-devel openssl openssl-devel
[root@zy nginx-1.17.3]# ./configure --prefix=/rpm/nginx-2.16 --with-http_perl_module=dynamic
(重新執(zhí)行生成makefile文件)
? ? 4.make編譯(將makefie生成可執(zhí)行的二進(jìn)制文件)
[root@zy nginx-1.17.3]# make
[root@zy nginx-1.17.3]# echo $?
(查看有沒有報錯)
? ? 5.make? install 安裝(復(fù)制二進(jìn)制文件到系統(tǒng)涕俗,配置應(yīng)用環(huán)境)
[root@zy nginx-1.17.3]#make install
? ? 6.測試應(yīng)用罗丰,維護(hù)軟件
訪問該服務(wù)器的IP地址(10.0.0.200)