美文网首页
Linux基本运维汇总

Linux基本运维汇总

作者: 奋斗的工程师1 | 来源:发表于2022-10-11 15:53 被阅读0次

    Linux基本运维汇总

    我在cnaaa上购买了云服务器。

    1 rpm管理

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

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

    软件包的获得方式:

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

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

    2 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
    

    相关文章

      网友评论

          本文标题:Linux基本运维汇总

          本文链接:https://www.haomeiwen.com/subject/fphzartx.html