Linux基本運維匯總

Linux基本運維匯總

我在cnaaa上購買了云服務器。

1 rpm管理

rpm的作用類似于windows上的電腦管家中軟件管理、安全衛(wèi)士里面 “軟件管家” 等產(chǎn)品,是 RPM 軟件包的管理工具。rpm 原本是 Red Hat Linux 發(fā)行版專門用來管理 Linux 各項套件的程序,由于它遵循 GPL 規(guī)則且功能強大方便,因而廣受歡迎。逐漸受到其他發(fā)行版的采用。RPM 套件管理方式的出現(xiàn),讓 Linux 易于安裝,升級,間接提升了 Linux 的適用度。

要想裝軟件,和 windows 下一樣,先得找到安裝包。

軟件包的獲得方式:

  • 不嫌麻煩的話,去官網(wǎng)去下載;
  • 不介意老版本的話,可以從光盤(或者鏡像文件)中讀??;

rpm要安裝軟件需要掛載安裝,并且一個一個的去安裝對應的依賴,對于一般運維工作,使用yum即可

2 YUM包管理系統(tǒng)

2.1 yum簡介

yum(Yellow dog Updater Modified)是 CentOS 中屬于 RPM 前端軟件包管理器,能從指定的服務器中下載 RPM 包,并自動分析和處理 RPM 包之間的依賴關系,最后將依次所依賴的軟件包都安裝了,而無需繁瑣的一個一個安裝。

yum 相比 rpm 更人性化,更便捷:

  • 聯(lián)網(wǎng)安裝(不用掛載)
  • 聯(lián)動安裝(軟件所需依賴自動安裝)
  • 聯(lián)網(wǎng)更新
  • yum 倉庫的組成部分
  • 數(shù)據(jù) :包含所有的軟件包文件
  • 元數(shù)據(jù):指的是數(shù)據(jù)文件:包括每個包的包名、版本信息、各包所包含的文件列表、包與包之間的依賴關系、包的分組信息.

2.2 yum的配置文件

  • yum 的配置文件有 2 種:
# 為所有倉庫提供公共配置
/etc/yum.conf
# 為倉庫的指向提供配置
/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)試級別 取值范圍 0 – 10,默認值為2
debuglevel=2
# yum相關日志存放路徑
logfile=/var/log/yum.log
# 是否要平臺完全匹配才能安裝
exactarch=1
# 需不需要檢查已過期的倉庫
obsoletes=1
# 是否檢查包的完整性和合法性
gpgcheck=1
# 是否允許支持yum的插件功能,0 表示不允許 ,1表示允許
plugins=1
# 允許保留多少個內(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
# 指定一個軟件包,yum 會根據(jù)這個包判斷你的發(fā)行版本,默認是redhat-release
distroverpkg=centos-release

2.2.1 倉庫配置文件

  • 路徑 /etc/yum.repos.d/*.repo
# 容器名字,必須是唯一的
[repositoryID]
# 倉庫的名字,僅作一個標識
name=Some name for this repository
# 指定真正倉庫所在的路徑,可以指多個倉庫
baseurl=url://path/to/repository/
# 指是否啟用這個倉庫,1表示啟用,0表示不啟用
enabled={1|0}
# 是否要檢測軟件包的合法性,1表示啟用,0表示不啟用
gpgcheck={1|0}
# 軟件包的公鑰文件所在路徑
gpgkey=URL
# 是否基于組來批量管理程序包
enablegroups={1|0}
# 意思是有多個url可供選擇時,yum選擇的次序,roundrobin是隨機選擇,默認為:roundrobin,意為隨機挑選;
failovermethod={roundrobin|priority}
# 倉庫優(yōu)先級 ,默認為1000 
cost=1000

2.3 配置本地 yum 源

2.3.1 掛載光盤

  • 虛擬光驅(qū)加載鏡像文件,然后掛載到本地目錄,先用 lsblk 命令查看光驅(qū)的塊設備名稱,這里是 sr0
#建立本地yum源文件夾
mkdir /mnt/dvd
#掛載
mount –o ro /dev/sr0 /mnt/dvd

2.3.2 開機自動掛載

  • 方法 1
  • 修改/etc/rc.local 文件。該文件是操作系統(tǒng)開機后最后執(zhí)行的一個文件,該文件默認是沒有執(zhí)行權限的,如果你是第一次修改,請記得加執(zhí)行權限。這就相當于開機后用腳本執(zhí)行了一條掛載命名
    echo "mount -O ro /dev/sr0 /mnt/dvd" >> /etc/rc.local
  • 方法 2
  • 編寫/etc/fstab文件,將光盤當作塊狀設備掛載到系統(tǒng)中。
    # 將下面一行配置寫入/etc/fstab中
    /dev/sr0   /mnt/dvd   iso9660    defaults      0 0

2.3.3 修改配置文件指向本地倉庫

  • 配置文件路徑:/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
# 倉庫的名字,不要有特殊符號(自定義)
[dvd]
# 倉庫描述
name=localdvd
# 指定yum倉庫的路徑;file://表示本地路徑
baseurl=file:///mnt/dvd
# 啟用倉庫,1表示啟用;0表示不啟用
enabled=1
# 不用校驗軟件包的簽名,0表示不校驗;1表示校驗
gpgcheck=0

2.3.4 測試驗證

yum clean all    #清空yum緩存 rm -rf /var/cache/yum
yum makecache   #創(chuàng)建yum緩存
yum list       #查看倉庫里的軟件包

2.4 配置國內(nèi)網(wǎng)絡 yum 源(重點)

前面說了,由于自帶的 yum 源是國外的源,速度很慢,所以可以替換為國內(nèi)的 yum 源。目前國內(nèi)提供 yum 源的機構(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)絡源的 repo 文件到服務器

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

也可以將這兩個文件自己保存起來,每次新建服務器,將該源替換進去。

清空并創(chuàng)建緩存

# 清空yum緩存 rm -rf /var/cache/yum
yum clean all
#創(chuàng)建yum緩存
yum makecache

2.5 擴展:自建局域網(wǎng) yum 源

公司內(nèi)網(wǎng)自建了 yum 倉庫,在公司內(nèi)的服務器可以使用

[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

具體用法不再贅述,參考前文。

1 安裝網(wǎng)絡 yum 源

# 清理緩存
yum clean all
# 更新YUM源
yum makecache
# 備份默認源
mkdir /root/yum_back
mv /etc/yum.repos.d/* /root/yum_back/
# 刪除默認的國外源
rm -rf /etc/yum.repos.d/*
# 下載阿里源的repo文件到服務器
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
# 關閉防火墻
systemctl stop firewalld.service
# 禁止開機自啟
systemctl disable firewalld
# 關閉selinux 
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
# 重啟
reboot
# 查詢啟用的yum源清單,獲取倉庫標識
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

2.4 yum 命令的用法

yum 查詢功能

yum [options] [command] [package …]
 -y:默認yum需要是交互模式,-y表示自動提供yes響應
 search:搜索某個軟件名或關鍵字
 list:列出所有yum所管理的軟件包和名稱
 info:同上,也類似rpm -qai
 provides:查找該命令是由軟件安裝生成的,類似rpm -df的功能
 repolist:列出所有可用的repo

yum 安裝、升級、降級、卸載

yum install:后面接需要安裝的軟件
 reinstall:后面接需要重新安裝的軟件
 update:后面接需要升級到的軟件
 check-update:檢查可用的升級包
 downgrade:后面接需要降級到的版本
 remove:卸載軟件
 erase:功能同上,卸載和軟件組相關的功能

yum 組功能

yum grouplist:列出所有可使用的組列表
 groupinfo:后面接groupname,可用了解該group內(nèi)含所有組的名稱
 groupinstall:安裝整組的軟件
 groupremove:刪除某個組的軟件

清理緩存

yum clean { all | package | headers }
 all:將所有的數(shù)據(jù)刪除,包括元數(shù)據(jù)和軟件文件
 package:將所有已下載的軟件文件刪除
 headers:刪除所有下載的元數(shù)據(jù)文件

構(gòu)建緩存

yum makecache

1 查看服務器基本信息

1.1 查看 gcc 版本級相關信息

gcc -v

1.2 查看當前內(nèi)核系統(tǒng)版本信息

cat /proc/version

1.3 安裝 lsb_release

yum install redhat-lsb -y

1.4 查看操作系統(tǒng)版本信息 (使用命令時提示 command not found, 需要安裝 redhat-lsb)

lsb_release -a

2 開關防火墻

在 RHEL7 里有幾種防火墻共存:

  • firewalld
  • iptables
  • ebtables
  • 默認是使用 firewalld 來管理 netfilter 子系統(tǒng),不過底層調(diào)用的命令仍然是 iptables 等
  • Firewalld 與 iptables 對比更自由、更人性化

2.1 查看 firewalld 狀態(tài)

systemctl status firewalld

2.2 策略啟停 firewalld

# 啟動
systemctl start firewalld
# 停止
systemctl stop firewalld

2.3 開機啟用 / 禁用

# 啟用
systemctl enable firewalld
# 禁用
systemctl disable firewalld

2.4 查看默認域中的火墻

firewall-cmd --list-all

2.5 啟 / 停、重啟一個firewalld服務

# 啟動
systemctl start firewalld.service
# 關閉
systemctl stop firewalld.service
# 重啟一個服務
systemctl restart firewalld.service

2.6 顯示一個firewalld服務的狀態(tài)

systemctl status firewalld.service

2.7 是否開機自啟

# 查看服務是否開機啟動
systemctl is-enabled firewalld.service
# 查看已啟動的服務列表
systemctl list-unit-files|grep enabled
# 查看啟動失敗的服務列表
systemctl --failed
# 開機自啟
systemctl enable firewalld.service
# 禁止開機自啟
systemctl disable firewalld.service

2.8 查看端口開放情況

firewall-cmd --list-port
  • 如果提示FirewallD is not running,說明防火墻處于關閉狀態(tài)

2.9 防火墻開啟狀態(tài)下開放端口

firewall-cmd --zone=public --add-port=3334/tcp --permanent
# 重啟firewall
firewall-cmd --reload
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容