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

网络管理

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

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

  • 静态IP
  • VPN网络
  • 代理服务器

传统的Linux网络配置是通过network.service来实现

基于network的常用命令有:

  • ifconfig
  • ifup
  • ifdown

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

新的网络配置方式:NetworkManager

主要工具是nmtuinmcli

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

传统的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_diagtcp_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类型来工作,如x86x86_64arm

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值