阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux基本运维汇总

70次阅读
没有评论

共计 6476 个字符,预计需要花费 17 分钟才能阅读完成。

rpm管理

rpm的作用类似于 windows 上的电脑管家中 软件管理、安全卫士里面“软件管家”等产品,是 RPM 软件包的管理工具。rpm 原本是 Red Hat Linux 发行版专门用来管理 Linux 各项套件的程序,由于它遵循 GPL 规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM 套件管理方式的出现,让 Linux 易于安装,升级,间接提升了 Linux 的适用度。

要想装软件,和 windows 下一样,先得找到安装包。

软件包的获得方式:

  • 不嫌麻烦的话,去官网去下载;
  • 不介意老版本的话,可以从光盘(或者镜像文件)中读取;

rpm要安装软件需要挂载安装,并且一个一个的去安装对应的依赖,对于一般运维工作,使用 yum 即可

YUM包管理系统

2.1 yum简介

yum(Yellow dog Updater Modified)是 CentOS 中属于 RPM 前端软件包管理器,能从指定的服务器中下载 RPM 包,并自动分析和处理 RPM 包之间的依赖关系,最后将依次所依赖的软件包都安装了,而无需繁琐的一个一个安装。

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

  • 联网安装(不用挂载)
  • 联动安装(软件所需依赖自动安装)
  • 联网更新
  • yum 仓库的组成部分
  • 数据:包含所有的软件包文件
  • 元数据:指的是数据文件:包括每个包的包名、版本信息、各包所包含的文件列表、包与包之间的依赖关系、包的分组信息.

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
# 调试级别 取值范围 0 – 10,默认值为 2
debuglevel=2
# yum 相关日志存放路径
logfile=/var/log/yum.log
# 是否要平台完全匹配才能安装
exactarch=1
# 需不需要检查已过期的仓库
obsoletes=1
# 是否检查包的完整性和合法性
gpgcheck=1
# 是否允许支持 yum 的插件功能,0 表示不允许,1 表示允许
plugins=1
# 允许保留多少个内核包
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 会根据这个包判断你的发行版本,默认是 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}
# 仓库优先级 , 默认为 1000 
cost=1000

2.3 配置本地 yum 源

2.3.1 挂载光盘

  • 虚拟光驱加载镜像文件,然后挂载到本地目录,先用 lsblk 命令查看光驱的块设备名称,这里是 sr0
# 建立本地 yum 源文件夹
mkdir /mnt/dvd
#挂载
mount –o ro /dev/sr0 /mnt/dvd

2.3.2 开机自动挂载

  • 方法 1
  • 修改/etc/rc.local 文件。该文件是操作系统开机后最后执行的一个文件,该文件默认是没有执行权限的,如果你是第一次修改,请记得加执行权限。这就相当于开机后用脚本执行了一条挂载命名
    echo "mount -O ro /dev/sr0 /mnt/dvd" >> /etc/rc.local
  • 方法 2
  • 编写 /etc/fstab 文件,将光盘当作块状设备挂载到系统中。
    # 将下面一行配置写入 /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/
  • 创建本地配置文件,名字随意,如: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   #创建 yum 缓存
yum list       #查看仓库里的软件包

2.4 配置国内网络 yum 源(重点)

前面说了,由于自带的 yum 源是国外的源,速度很慢,所以可以替换为国内的 yum 源。目前国内提供 yum 源的机构有很多,如阿里、网易、搜狐、清华等等,这里以阿里源为例。

2.4.1 还是先备份原来的 yum 源

mkdir /root/yum_back
mv /etc/yum.repos.d/* /root/yum_back/

2.4.2 下载网络源的 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

也可以将这两个文件自己保存起来,每次新建服务器,将该源替换进去。

清空并创建缓存

# 清空 yum 缓存 rm -rf /var/cache/yum
yum clean all
#创建 yum 缓存
yum makecache

2.5 扩展:自建局域网 yum 源

公司内网自建了 yum 仓库,在公司内的服务器可以使用

[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 安装网络 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 内含所有组的名称
 groupinstall:安装整组的软件
 groupremove:删除某个组的软件

清理缓存

yum clean {all | package | headers}
 all:将所有的数据删除,包括元数据和软件文件
 package:将所有已下载的软件文件删除
 headers:删除所有下载的元数据文件

构建缓存

yum makecache

1 查看服务器基本信息

1.1 查看 gcc 版本级相关信息

gcc -v

1.2 查看当前 内核系统 版本信息

cat /proc/version

1.3 安装 lsb_release

yum install redhat-lsb -y

1.4 查看 操作系统 版本信息 (使用命令时提示 command not found, 需要安装 redhat-lsb)

lsb_release -a

2 开关防火墙

在 RHEL7 里有几种防火墙共存:

  • firewalld
  • iptables
  • ebtables
  • 默认是使用 firewalld 来管理 netfilter 子系统,不过底层调用的命令仍然是 iptables 等
  • Firewalld 与 iptables 对比更自由、更人性化

2.1 查看 firewalld 状态

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 服务的状态

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,说明防火墙处于关闭状态

2.9 防火墙开启状态下开放端口

firewall-cmd --zone=public --add-port=3334/tcp --permanent
# 重启 firewall
firewall-cmd --reload

转自:入门小站

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-12-03发表,共计6476字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中