• linux基础(五)


    一、linux网络原理及基础设置

    ifconfig 命令:显示所有正在启动的网卡的详细信息或设定系统中网卡的IP地址。

    [root@bogon ~]# ifconfig
    ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.0.108  netmask 255.255.255.0  broadcast 192.168.0.255
            inet6 fe80::8c6c:c7be:1c12:9ddc  prefixlen 64  scopeid 0x20<link>
            ether 00:0c:29:b8:b3:a4  txqueuelen 1000  (Ethernet)
            RX packets 1974  bytes 1815266 (1.7 MiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 428  bytes 42066 (41.0 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
            inet 127.0.0.1  netmask 255.0.0.0
            inet6 ::1  prefixlen 128  scopeid 0x10<host>
            loop  txqueuelen 1  (Local Loopback)
            RX packets 6  bytes 536 (536.0 B)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 6  bytes 536 (536.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
            inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
            ether 52:54:00:ee:81:cc  txqueuelen 1000  (Ethernet)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

    ens33代表网卡

    inet 后面的192.168.0.108 就是IP地址

    netmask 是子网掩码

    ether 是mac地址

    mtu 指最大传输单元,默认一次最多1500字节

    lo 是本地回环网卡,第二行分别表示ip地址和子网掩码,本地回环网卡的IP地址默认就是127.0.0.1

    virbr0是虚拟机的网卡

    可以用ifconfig修改IP地址和子网掩码

    例:修改ens33网卡的IP地址为192.18.16.56和子网掩码255.255.255.100的命令:
      ifconfig ens33 192.18.16.56 netmask 255.255.255.128

    [root@bogon ~]# ifconfig ens33 192.18.16.56 netmask 255.255.255.128
    [root@bogon ~]# ifconfig
    ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.18.16.56  netmask 255.255.255.128  broadcast 192.18.16.127
            inet6 fe80::8c6c:c7be:1c12:9ddc  prefixlen 64  scopeid 0x20<link>
            ether 00:0c:29:b8:b3:a4  txqueuelen 1000  (Ethernet)
            RX packets 11201  bytes 4780758 (4.5 MiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 568  bytes 56374 (55.0 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
            inet 127.0.0.1  netmask 255.0.0.0
            inet6 ::1  prefixlen 128  scopeid 0x10<host>
            loop  txqueuelen 1  (Local Loopback)
            RX packets 30  bytes 3032 (2.9 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 30  bytes 3032 (2.9 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
            inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
            ether 52:54:00:ee:81:cc  txqueuelen 1000  (Ethernet)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

    但这种操作只是临时修改,要想永久修改必须修改配置文件,网卡的配置文件存放在/etc/sysconfig/network-scripts目录中,且每个网卡对应的配置文件的文件名以ifcfg-开始,如ens33这个网卡对应的网络配置文件就是ifcfg-ens33。

    用vim编辑器修改配置文件

    把BOOTROTO改成static

    写入以下几个命令

    IPADDR=要改的IP地址

    NETMASK=子网掩码

    GATEWAY=网关

    DNS=202.106.0.20(改成自己指定的DNS)

    最后,ONBOOT要改成yes

    TYPE=Ethernet
    BOOTPROTO=static
    IPADDR=192.168.0.20
    NETMASK=255.255.255.0
    GATEWAY=192.168.0.254
    DNS1=192.168.0.254
    DNS2=202.106.0.20
    DNS3=8.8.8.8
    NAME=ens33
    UUID=6e166b31-83c8-4a37-b31e-71c82062889b
    DEVICE=ens33
    ONBOOT=yes
    PEERDNS=yes
    PEERROUTES=yes
    IPV6_PEERDNS=yes
    IPV6_PEERROUTES=yes

    保存退出后,重启网络服务就可以生效了

    centos7重启网络服务的命令是:systemctl restart network

    再次用ifconfig命令查看,可以发现IP,网关,子网掩码都已经修改成功了

    [root@localhost network-scripts]# ifconfig
    ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.0.100  netmask 255.255.255.0  broadcast 192.168.0.255
            inet6 fe80::8c6c:c7be:1c12:9ddc  prefixlen 64  scopeid 0x20<link>
            ether 00:0c:29:b8:b3:a4  txqueuelen 1000  (Ethernet)
            RX packets 71  bytes 10926 (10.6 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 114  bytes 12259 (11.9 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
            inet 127.0.0.1  netmask 255.0.0.0
            inet6 ::1  prefixlen 128  scopeid 0x10<host>
            loop  txqueuelen 1  (Local Loopback)
            RX packets 9  bytes 872 (872.0 B)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 9  bytes 872 (872.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
            inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
            ether 52:54:00:ee:81:cc  txqueuelen 1000  (Ethernet)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    [root@localhost network-scripts]# ping www.baidu.com
    PING www.a.shifen.com (119.75.217.109) 56(84) bytes of data.
    64 bytes from 119.75.217.109 (119.75.217.109): icmp_seq=1 ttl=54 time=7.98 ms
    64 bytes from 119.75.217.109 (119.75.217.109): icmp_seq=2 ttl=54 time=5.60 ms
    64 bytes from 119.75.217.109 (119.75.217.109): icmp_seq=3 ttl=54 time=8.82 ms
    64 bytes from 119.75.217.109 (119.75.217.109): icmp_seq=4 ttl=54 time=6.72 ms

    查看网关的命令是route -n,可以自己添加网关,命令是:route add default gw 网关地址 dev 网卡名

    DNS的配置文件在/etc/resolv.conf里

    本地解析的配置文件在/etc/hosts里,可以自己设置IP和域名的对应关系,优先级比DNS高

    二、软件包管理(rpm命令)

    1.安装命令:rpm -ivh 软件包位置

    2.查看是否安装:rpm -q 软件名

      查看软件包中所包含的所有文件:rpm -ql 软件名

      查看软件包详细信息:rpm -qi 软件名 

      查看某条命令是哪个软件包产生的:rpm -qf 命令的绝对路径

      查看所有安装的软件:rpm -qa

    3.卸载命令:rpm -e 软件名

       在命令后面加上 --nodeps 可以忽略依赖性卸载

    rpm命令安装软件是存在依赖性问题的,yum命令可以避免这个问题 

    三、yum命令管理软件包

    yum(全称为 Yellow dog Updater, Modified)是一个Shell前端软件包管理器。基于rpm包管理,能够从指定的服务器自动下载rpm包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,常用的命令有:

      yum install 软件包名 -y   :安装

      yum list :列出有哪些软件包

      yum grouplist :列出有哪些组

      yum clean all :清除yum缓存

      yum makecache -y :自己制作缓存

      yum remove 软件名 -y :卸载

    yum之所以能自动下载rpm包,是因为它有指定的yum源,我们也可以自己指定yum源。yum源文件在/etc/yum.repos.d/ 下,进入该目录后可以发现有一些.repo 文件,在Centos-Base.repo中的[base]标题下就指定了yum源。

    [base]
    name=CentOS-$releasever - Base
    mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
    #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

    同样我们也可以自己写一个本地yum源,Centos光盘中就有许多rpm包,存放在Packages下,但我们要指定Packages的上层目录作为源,我们创建一个local.repo的文件,文件内容如下:

    [root@localhost yum.repos.d]# vim local.repo 
    
    [local]                  #标题行,内容无要求,但必须有
    name=local repo for test
    baseurl=file:///opt      #如果是网络源,baseurl后面就要写http://
    enabled=1                #表示开启yum源
    gpgcheck=0               #表示不检测key
    ~                                               

    写好以后保存退出,测试时可以先把之前文件夹下的其他repo文件移动到其他文件夹,重新安装一个软件,可以发现安装过程中不会从网络下载东西

  • 相关阅读:
    Entity Framework Core 之Modeling Relational Database Modeling
    Entity Framework Core 之Modeling Relationships
    Enterprise Library6.0之缓存模块
    Entity Framework Core 之Modeling 1
    Entity Framework Core 之简单介绍
    EntityFramework6.X 之 Operation
    EntityFramework6.X 之Index/Cascade Delete
    吴立德机器学习笔记(转)
    C++基础day01类中不写成员函数易犯错误模型
    C++基础day01 类和对象的关系思考
  • 原文地址:https://www.cnblogs.com/zhang-can/p/6930688.html
Copyright © 2020-2023  润新知