栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Linux操作系统(三)——【网络管理、安装包管理】

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux操作系统(三)——【网络管理、安装包管理】

目录
  • 网络管理
    • 1. 网络配置概述(基于nmcli命令行模式)
      • 传统的Linux网络配置是通过`network.service`来实现
      • 新的网络配置方式:`NetworkManager`
    • 2. nmtui图形网络配置方法 (略)
    • 3. 编辑文件的网络配置方法
    • 4. 常用网络命令
      • `ping + 目标ip地址`:
      • `netstat`:
      • `ss`命令
  • Linux安装包管理
    • 1. 程序安装包简介
    • 2. RPM管理
      • RPM程序包(相当于`.exe`)
      • RPM数据库
      • rpm常用命令
      • rpm的局限性
    • 3. yum工具使用
      • yum(Yellowdog Update Modified)项目:
      • yum基本语法
      • yum工作原理

网络管理 1. 网络配置概述(基于nmcli命令行模式)

Linux 服务器连接到网络的配置,例如可以配置

  • 静态IP
  • VPN网络
  • 代理服务器
传统的Linux网络配置是通过network.service来实现

基于network的常用命令有:

  • ifconfig
  • ifup
  • ifdown

network.service评价:适用于拥有比较稳定的网络环境。当网络改动或切换时,必须重启整个network服务,导致短暂的中断。

新的网络配置方式:NetworkManager

主要工具是nmtui和nmcli

  • nmtui:可以在shell下执行的一个简单图形界面,其本质是修改Linux的配置文件
  • nmcli:是命令行的形式来管理网络类似ifconfig、ifup等传统命令

传统的network与新生的NetworkManager两者同时管理网络时,会出现冲突,一般只需要学一种即可

  • 判断当前系统使用哪种网络服务:
  • systemctl is-enabled + 服务名称判断是否开机启用
    • systemctl is-enabled network
    • systemctl is-enabled NetworkManager
  • systemctl status + 服务名称 判断当前是否启用
  • systemctl stop + 服务名称 停用服务,当发现二者都启用时,就停用一个

    不论何种方式,Linux的本质任然是文件配置
  • Centos7的网络配置文件默认在/etc/sysconfig/network-scripts/目录下
  • 激活网卡的3种方式(相当于ifup ens33):
    • nmcli c up ens33 备注:nmcli c | connection,连接,可理解为配置文件,相当于ifcfg-ethX或ifcfg-ensX
    • nmcli d connect ens33 备注:nmcli d | device,设备,可理解为实际存在的网卡(包括物理网卡和虚拟网卡)
    • nmcli d reapply ens33
  • 禁用网卡(相当于ifdown ens33)
    • nmcli c down ens33
  • 通过ifconfig查看当前网络配置,centos默认网卡名叫ens33

    上图对应的注释如下:
2. nmtui图形网络配置方法 (略)

nmtui提供基于光标的文本用户界面(TUI)

通过nmtui管理网的前提是:网卡可以被NetworkManager管理
使用以下命令查看,注意STATE栏的状态

  • nmcli device:绿色表示该网卡已经被NetworkManager管理

    上述状态可以通过下面命令查看和修改
  • nmcli networking:查看
  • nmcli networking on|off:修改
3. 编辑文件的网络配置方法
  • vim /etc/sysconfig/network-scripts/ifcfg-ens33:编辑该文件即可

    修改该文件后,保存退出
    重新启动ens33网卡,加载配置文件
ifdown ens33
ifup ens33

此时使用ifconfig查看ip,会发现ip被改变了

4. 常用网络命令 ping + 目标ip地址:

通常用于诊断到目标IP地址的连通性,判断从本机到目标机器,网络是否正常

例如:ping www.baidu.com, 第一列:返回数据包的大小;第二列:发送数据包的序列;第三列:接收返回数据的时间

netstat:

利用该指令可得到整个Linux系统的网络情况,选项如下:

  • -a (或) --all:显示所有连线中的 Socket
  • -h | --help:在线帮助
  • -i | --interfaces:显示网络界面信息表单
  • -l | --listenling:显示监控中的服务器的Socket
  • -n | --numeric:直接使用IP地址,而不通过域名服务器
  • -p | --programs:显示正在使用Socket的程序识别码和程序名称
  • -s | --statistics:显示网络工作信息统计表
  • -t | --tcp:显示TCP传输协议的连线状况
  • -u | --udp:显示UDP传输协议的连线状况

举例:netstat -antp:
第一个红框表示:当前正在监听TCP 22号端口,进程ID 1152,进程名未sshd;
第二个红框表示:当前TCP的连接,即我们SSH的连接(Xshell)

ss命令
  1. 是Socket Statistics的缩写,用来获取socket统计信息。
  2. ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速、高效。。
  3. 当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat/proc/net/tcp,执行速度都会很慢
  4. ss快的秘诀在于,它利用到了TCP协议栈中的tcp_diag。tcp_diag是一个用于分析统计的模块,可以获取Linux 内核中的第一手信息。

常用选项:

  • -t | --tcp:显示tcp连接
  • -a | --all:显示所有连接
  • -l | --listening:列出所有打开的网络连接端口
  • -s | --summary:显示Sockets摘要
  • -p | --progress:显示端口对应的进程
  • -n | --numeric:不解析服务名称,也可以理解为数字形式显示
  • -r | --resolve:解析服务名称
  • -m | --memory:显示内存情况

例如:ss -lntp:以数字形式显示tcp连接,并显示进程名
红框表示:22端口被 (sshd进程,id为1152)的进程所监听

Linux安装包管理 1. 程序安装包简介

早期:如果想要添加软件,必须获取该软件源代码,然后将其编译成二进制代码。再来运行,这种软件包通常是一个压缩包,如.tar格式
缺点:

  • 获取软件的依赖库文件
  • 不知道相关软件的路径
  • 删除时可能比较困难
  • 更新时比较困难

解决方法:将软件包从简单的压缩包,变成了更复杂的打包,即:

  • RPM(Red Hat Package Manager)包,时SUSE、Red Hat、Centos等的首选软件包格式
  • Deb包,基于Debina GNU/Linux 的管理包文件,常用于基于Debian的发行版本Linux,如Ubuntu、Linux mint、KNOPPIX等

Linux系统管理员的主要职责之一就是软件管理,包含以下常见工作:

  • 安装应用程序
  • 更新应用程序
  • 给内核Kernel打补丁

因此,我们需要一个合适的工具,查看并维护当前的软件及版本,Linux通常用rpm来进行软件管理,同时使用yum作为补充。

2. RPM管理 RPM程序包(相当于.exe)

就是文件容器,包含特定应用程序或应用程序相关的文件组,通常的RPM程序包,包含如下部分:

  • 二进制文件(可执行文件,已经编译好了)
  • 安装脚本
  • 配置文件
  • 软件使用文档
  • 安装卸载命令
  • 注意:rpm包依赖CPU类型来工作,如x86、x86_64、arm等
RPM数据库

存于本机的/var/lib/rpm/目录中,RPM数据库的作用如下:

  • 跟踪每个 RPM 中各文件的版本和位置
  • 维护各文件的 MD5 校验和
rpm常用命令
  • rpm -i + packageName :安装软件包
  • rpm -U + packageName:升级软件包,如果没有安装,则安装
  • rpm -F + packageName:只升级软件包,如果原来安装,则不会新安装
  • rpm -e packageName:卸载程序包

例如:从数据库查询当前系统已安装的 Firefox 浏览器

rpm的局限性

使用rpm安装软件包,必须先安装完整软件包的依赖,才能安装软件。如果软件的依赖非常多,这就很麻烦

3. yum工具使用 yum(Yellowdog Update Modified)项目:

着手解决RPM软件包依赖的问题

  • 主要作用:将RPM不再视为单一软件包,而是视为一个软件库
  • 借助软件库,安装软件的工程师不再解决依赖问题,而是由Linux发行版本的经销商来解决。
  • yum软件库可以放置到web服务器(http)、FTP服务器(ftp)的一个目录中,甚至本地介质中,甚至本地目录中。
  • 一般Linux发行版本的经销商都在国外,我们访问就比较慢,因此国内有很多公司、大学弄了镜像。
  • 然后将软件库配置到/etc/yum.conf中(这个地方可以修改yum软件库的地址,例如设置为中科大的镜像),或者/etc/yu.repos.d目录下的文件中
yum基本语法
  • yum [options] command
    • 例如安装火狐浏览器:yum install firefox
    • 用户只需要知道软件名,而不用知道安装包路径或安装包全称
yum工作原理

五个步骤:(如果自己用rpm安装,前三步就需要自己做)

  1. 输入yum install firefox
  2. 查询/etc/yum.conf 与 /etc/yum.repos.d/*
  3. 通过上述配置找到RPM包,包含依赖。并复制(下载)到本地
  4. RPM安装
  5. 修改RPM数据库
  • 配置文件:/etc/yum.conf

  • 搜索软件 search: 当你想知道 editor 相关的软件时,就可以用该命令:
    yum search editor , yum就能把所有跟 editor 相关的信息罗列出来,自己再取选在装哪一个

    然后使用 .x86_64之前的字符来进行安装,例如yum install dconf-editor

  • 查看软件信息 info:yum info emacs

  • 如果知道一个命令,但不知道命令来自于哪个软件,可以查询:yum provides netstat

    查询到之后,我们就可以安装yum install net-tools

  • 查看软件包依赖:yum deplist net-tools

  • 安装软件:yum install ____

  • 删除软件:yum erase ____,只会删除列出的软件包,而不会删除相关依赖

  • 查看 yum 历史记录:yum history,可以查看用户使用yum进行了哪些行动

    • 根据ID,可以查看具体信息,例如yum history info 2
    • 彻底还原删除 history 2 中的所有操作:yum history undo 2,该指令对系统软件失效
  • 更新软件包:

    • yum check -update ,去yum的缓存清单/etc/yum.repos.d/*里查询,
    • yum update + packagename // 更新指定软件
    • yum update 更新所有
  • 如果yum配置中使用了软件缓存,那么yum的缓存目录很容易装满,缓存目录中的所有数据都是可以被清除的,清楚后 yum 下次使用时,会自动下载新的元数据

    • yum clean packages
    • yum clean metadata
    • yum clean all
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/941735.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号