1酿炸、rpm管理
rpm的作用類似于windows上的電腦管家中軟件管理涨冀、安全衛(wèi)士里面 “軟件管家” 等產(chǎn)品,是 RPM 軟件包的管理工具扁眯。rpm 原本是 Red Hat Linux 發(fā)行版專門用來管理 Linux 各項(xiàng)套件的程序翅帜,由于它遵循 GPL 規(guī)則且功能強(qiáng)大方便,因而廣受歡迎绣版。逐漸受到其他發(fā)行版的采用歼疮。RPM 套件管理方式的出現(xiàn),讓 Linux 易于安裝缩麸,升級(jí)赡矢,間接提升了 Linux 的適用度。要想裝軟件痕檬,和 windows 下一樣送浊,先得找到安裝包袭景。
軟件包的獲得方式:
不嫌麻煩的話,去官網(wǎng)去下載荒澡;
不介意老版本的話与殃,可以從光盤(或者鏡像文件)中讀劝帧米奸;
rpm要安裝軟件需要掛載安裝悴晰,并且一個(gè)一個(gè)的去安裝對(duì)應(yīng)的依賴,對(duì)于一般運(yùn)維工作漂辐,使用yum即可
2棕硫、YUM包管理系統(tǒng)
2.1 yum簡(jiǎn)介
yum(Yellow dog Updater Modified)是 CentOS 中屬于 RPM 前端軟件包管理器,能從指定的服務(wù)器中下載 RPM 包复凳,并自動(dòng)分析和處理 RPM 包之間的依賴關(guān)系灶泵,最后將依次所依賴的軟件包都安裝了赦邻,而無需繁瑣的一個(gè)一個(gè)安裝实檀。
yum 相比 rpm 更人性化,更便捷:
聯(lián)網(wǎng)安裝(不用掛載)
聯(lián)動(dòng)安裝(軟件所需依賴自動(dòng)安裝)
聯(lián)網(wǎng)更新
yum 倉(cāng)庫(kù)的組成部分
數(shù)據(jù) :包含所有的軟件包文件
元數(shù)據(jù):指的是數(shù)據(jù)文件:包括每個(gè)包的包名恬吕、版本信息须床、各包所包含的文件列表豺旬、包與包之間的依賴關(guān)系、包的分組信息.
2.2 yum的配置文件
yum 的配置文件有 2 種:
# 為所有倉(cāng)庫(kù)提供公共配置
/etc/yum.conf
# 為倉(cāng)庫(kù)的指向提供配置
/etc/yum.repos.d/*.repo
2.2.1 主配置文件
路徑 /etc/yum.conf
[main]
# 下載RPM包的緩存目錄
cachedir=/var/cache/yum/$basearch/$releasever
# RPM緩存的程序包安裝完成后是否保存篓跛,0表示不保存坦刀,1表示保存
keepcache=0
# 調(diào)試級(jí)別 取值范圍 0 – 10,默認(rèn)值為2
debuglevel=2
# yum相關(guān)日志存放路徑
logfile=/var/log/yum.log
# 是否要平臺(tái)完全匹配才能安裝
exactarch=1
# 需不需要檢查已過期的倉(cāng)庫(kù)
obsoletes=1
# 是否檢查包的完整性和合法性
gpgcheck=1
# 是否允許支持yum的插件功能林艘,0 表示不允許 芽丹,1表示允許
plugins=1
# 允許保留多少個(gè)內(nèi)核包
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=19&ref=http://bugs.centos.org/bug_report_page.php?category=yum
# 指定一個(gè)軟件包,yum 會(huì)根據(jù)這個(gè)包判斷你的發(fā)行版本咕村,默認(rèn)是redhat-release
distroverpkg=centos-release
2.2.2 倉(cāng)庫(kù)配置文件
路徑 /etc/yum.repos.d/*.repo
# 容器名字蚊俺,必須是唯一的
[repositoryID]
# 倉(cāng)庫(kù)的名字泳猬,僅作一個(gè)標(biāo)識(shí)
name=Some name for this repository
# 指定真正倉(cāng)庫(kù)所在的路徑,可以指多個(gè)倉(cāng)庫(kù)
baseurl=url://path/to/repository/
# 指是否啟用這個(gè)倉(cāng)庫(kù)埋心,1表示啟用忙上,0表示不啟用
enabled={1|0}
# 是否要檢測(cè)軟件包的合法性,1表示啟用茬斧,0表示不啟用
gpgcheck={1|0}
# 軟件包的公鑰文件所在路徑
gpgkey=URL
# 是否基于組來批量管理程序包
enablegroups={1|0}
# 意思是有多個(gè)url可供選擇時(shí)梗逮,yum選擇的次序慷彤,roundrobin是隨機(jī)選擇,默認(rèn)為:roundrobin贷屎,意為隨機(jī)挑選艘虎;
failovermethod={roundrobin|priority}
# 倉(cāng)庫(kù)優(yōu)先級(jí) ,默認(rèn)為1000
cost=1000
2.3 配置本地 yum 源
2.3.1 掛載光盤
虛擬光驅(qū)加載鏡像文件野建,然后掛載到本地目錄恬叹,先用 lsblk 命令查看光驅(qū)的塊設(shè)備名稱同眯,這里是 sr0
#建立本地yum源文件夾
mkdir /mnt/dvd
#掛載
mount –o ro /dev/sr0 /mnt/dvd
2.3.2 開機(jī)自動(dòng)掛載
方法 1
修改/etc/rc.local 文件须蜗。該文件是操作系統(tǒng)開機(jī)后最后執(zhí)行的一個(gè)文件,該文件默認(rèn)是沒有執(zhí)行權(quán)限的菱农,如果你是第一次修改柿估,請(qǐng)記得加執(zhí)行權(quán)限。這就相當(dāng)于開機(jī)后用腳本執(zhí)行了一條掛載命名
echo "mount -O ro /dev/sr0 /mnt/dvd" >> /etc/rc.local
方法 2
編寫/etc/fstab文件的妖,將光盤當(dāng)作塊狀設(shè)備掛載到系統(tǒng)中足陨。
# 將下面一行配置寫入/etc/fstab中
/dev/sr0 /mnt/dvd iso9660 defaults 0 0
2.3.3 修改配置文件指向本地倉(cāng)庫(kù)
配置文件路徑:/etc/yum.repos.d/
# 備份源配置文件
mkdir /root/yum_back
mv /etc/yum.repos.d/* /root/yum_back/
創(chuàng)建本地配置文件墨缘,名字隨意,如:vim /etc/yum.repos.d/dvd.repo
# 倉(cāng)庫(kù)的名字,不要有特殊符號(hào)(自定義)
[dvd]
# 倉(cāng)庫(kù)描述
name=localdvd
# 指定yum倉(cāng)庫(kù)的路徑狠毯;file://表示本地路徑
baseurl=file:///mnt/dvd
# 啟用倉(cāng)庫(kù)褥芒,1表示啟用锰扶;0表示不啟用
enabled=1
# 不用校驗(yàn)軟件包的簽名,0表示不校驗(yàn)坷牛;1表示校驗(yàn)
gpgcheck=0
2.3.4 測(cè)試驗(yàn)證
yum clean all #清空yum緩存 rm -rf /var/cache/yum
yum makecache #創(chuàng)建yum緩存
yum list #查看倉(cāng)庫(kù)里的軟件包
2.4 配置國(guó)內(nèi)網(wǎng)絡(luò) yum 源(重點(diǎn))
前面說了京闰,由于自帶的 yum 源是國(guó)外的源甩苛,速度很慢讯蒲,所以可以替換為國(guó)內(nèi)的 yum 源肄扎。目前國(guó)內(nèi)提供 yum 源的機(jī)構(gòu)有很多犯祠,如阿里、網(wǎng)易雷则、搜狐月劈、清華等等,這里以阿里源為例惭墓。
2.4.1 還是先備份原來的 yum 源
mkdir /root/yum_back
mv /etc/yum.repos.d/* /root/yum_back/
2.4.2 下載網(wǎng)絡(luò)源的 repo 文件到服務(wù)器
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/CentOS-epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
也可以將這兩個(gè)文件自己保存起來腊凶,每次新建服務(wù)器拴念,將該源替換進(jìn)去。
清空并創(chuàng)建緩存
# 清空yum緩存 rm -rf /var/cache/yum
yum clean all
#創(chuàng)建yum緩存
yum makecache
2.5 擴(kuò)展:自建局域網(wǎng) yum 源
公司內(nèi)網(wǎng)自建了 yum 倉(cāng)庫(kù)风瘦,在公司內(nèi)的服務(wù)器可以使用
[base]
name=CentOS-7-Base-hbgg
baseurl=http://10.10.16.80/centos/7/base/
gpgcheck=1
gpgkey=http://10.10.16.80/centos/RPM-GPG-KEY-CentOS-7
[updates]
name=CentOS-7-updates-hbgg
baseurl=http://10.10.16.80/centos/7/updates/
gpgcheck=1
gpgkey=http://10.10.16.80/centos/RPM-GPG-KEY-CentOS-7
[extras]
name=CentOS-7-extras-hbgg
baseurl=http://10.10.16.80/centos/7/extras/
gpgcheck=1
gpgkey=http://10.10.16.80/centos/RPM-GPG-KEY-CentOS-7
[epel]
name=CentOS-7-epel-hbgg
baseurl=http://10.10.16.80/centos/7/epel/
gpgcheck=1
gpgkey=http://10.10.16.80/centos/RPM-GPG-KEY-EPEL-7
具體用法不再贅述万搔,參考前文官帘。
3刽虹、安裝網(wǎng)絡(luò) yum 源
# 清理緩存
yum clean all
# 更新YUM源
yum makecache
# 備份默認(rèn)源
mkdir /root/yum_back
mv /etc/yum.repos.d/* /root/yum_back/
# 刪除默認(rèn)的國(guó)外源
rm -rf /etc/yum.repos.d/*
# 下載阿里源的repo文件到服務(wù)器
cd /etc/yum.repos.d/
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/CentOS-epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
# 清理緩存
yum clean all
# 更新YUM源
yum makecache
# 關(guān)閉防火墻
systemctl stop firewalld.service
# 禁止開機(jī)自啟
systemctl disable firewalld
# 關(guān)閉selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
# 重啟
reboot
# 查詢啟用的yum源清單,獲取倉(cāng)庫(kù)標(biāo)識(shí)
yum repolist
# 安裝常用軟件
yum -y install vim wget net-tools telnet tree nmap sysstat lrzsz dos2unix bind-utils ntpdate
vim /etc/resolv.conf
nameserver 8.8.8.8
nameserver 114.114.114.114
4意敛、yum 命令的用法
4.1 yum 查詢功能
yum [options] [command] [package …]
-y:默認(rèn)yum需要是交互模式草姻,-y表示自動(dòng)提供yes響應(yīng)
search:搜索某個(gè)軟件名或關(guān)鍵字
list:列出所有yum所管理的軟件包和名稱
info:同上,也類似rpm -qai
provides:查找該命令是由軟件安裝生成的敞曹,類似rpm -df的功能
repolist:列出所有可用的repo
4.2 yum 安裝综膀、升級(jí)剧劝、降級(jí)、卸載
yum install:后面接需要安裝的軟件
reinstall:后面接需要重新安裝的軟件
update:后面接需要升級(jí)到的軟件
check-update:檢查可用的升級(jí)包
downgrade:后面接需要降級(jí)到的版本
remove:卸載軟件
erase:功能同上拢锹,卸載和軟件組相關(guān)的功能
4.3 yum 組功能
yum grouplist:列出所有可使用的組列表
groupinfo:后面接groupname萄喳,可用了解該group內(nèi)含所有組的名稱
groupinstall:安裝整組的軟件
groupremove:刪除某個(gè)組的軟件
4.4 清理緩存
yum clean { all | package | headers }
all:將所有的數(shù)據(jù)刪除他巨,包括元數(shù)據(jù)和軟件文件
package:將所有已下載的軟件文件刪除
headers:刪除所有下載的元數(shù)據(jù)文件
4.5 構(gòu)建緩存
yum makecache
5、查看服務(wù)器基本信息
5.1 查看 gcc 版本級(jí)相關(guān)信息
gcc -v
5.2 查看當(dāng)前內(nèi)核系統(tǒng)版本信息
cat /proc/version
5.3 安裝 lsb_release
yum install redhat-lsb -y
5.4 查看操作系統(tǒng)版本信息 (使用命令時(shí)提示 command not found, 需要安裝 redhat-lsb)
lsb_release -a
6捻爷、開關(guān)防火墻
在 RHEL7 里有幾種防火墻共存:
- firewalld
- iptables
- ebtables
默認(rèn)是使用 firewalld 來管理 netfilter 子系統(tǒng)也榄,不過底層調(diào)用的命令仍然是 iptables 等
Firewalld 與 iptables 對(duì)比更自由薪棒、更人性化
6.1 查看 firewalld 狀態(tài)
systemctl status firewalld
6.2 策略啟停 firewalld
# 啟動(dòng)
systemctl start firewalld
# 停止
systemctl stop firewalld
**6.3 開機(jī)啟用 / 禁用**
# 啟用
systemctl enable firewalld
# 禁用
systemctl disable firewalld
6.4 查看默認(rèn)域中的火墻
firewall-cmd --list-all
6.5 啟 / 停俐芯、重啟firewalld服務(wù)
# 啟動(dòng)
systemctl start firewalld.service
# 關(guān)閉
systemctl stop firewalld.service
# 重啟一個(gè)服務(wù)
systemctl restart firewalld.service
6.6 顯示一個(gè)firewalld服務(wù)的狀態(tài)
systemctl status firewalld.service
6.7 是否開機(jī)自啟
# 查看服務(wù)是否開機(jī)啟動(dòng)
systemctl is-enabled firewalld.service
# 查看已啟動(dòng)的服務(wù)列表
systemctl list-unit-files|grep enabled
# 查看啟動(dòng)失敗的服務(wù)列表
systemctl --failed
# 開機(jī)自啟
systemctl enable firewalld.service
# 禁止開機(jī)自啟
systemctl disable firewalld.service
6.8 查看端口開放情況
firewall-cmd --list-port
如果提示FirewallD is not running吧史,說明防火墻處于關(guān)閉狀態(tài)
6.9 防火墻開啟狀態(tài)下開放端口
firewall-cmd --zone=public --add-port=3334/tcp --permanent
# 重啟firewall
firewall-cmd --reload