Linux学习Day5:Vim编辑器、配置网卡、配置Yum软件本地仓库

  今天首先学习Vim编辑器的使用,通过它可以对Linux系统的文件进行编写和修改。在Linux系统中一切都是文件,所以熟练掌握Vim编辑器的使用十分重要。最后通过配置主机网卡的实验,来加深Vim编辑器中诸多命令、快捷键、模式切换方法的理解。

一、Vim文本编辑器


  Vim编辑器设置了三种模式,每种模式分别支持多种不同的命令快捷键,三种模式如下所示:

    •   命令模式:控制关标移动,可对文本进行复制、粘贴、删除和查找工作。
    •   输入模式:正常的文本录入。
    •   末行模式:保存或退出文档,以及设置编辑环境。

   在每次使用Vim编辑器的时候,首先进入命令模式,此时通过按下a、i、o健切换到输入模式后才能进行文档编写工作。编辑完文档后需要按Esc健返回命令模式,再按下:健进入末行模式,执行文档的保存或退出操作。注意,输入模式是无法直接切换至末行模式的。

  命令模式下常见的一些命令如下所示:

命令 作用
dd 删除(其实是剪切)光标所在的行
5dd 删除(其实是剪切)从光标处开始的5行
yy 复制光标所在的行
5yy

复制从光标开始处的5行

n 显示搜索命令定位到的下一个字符串
N 显示搜索命令定位到的上一个字符串
u 撤销上一步的操作
p 将之前删除(dd)或复制(yy)过的数据粘贴到光标的后面

  末行模式主要用于保存或退出文档,以及设置Vim编辑器的工作环境,还可以让用户执行外部的Linux命令或跳转到所编写文档的特定行数。末行模式中常见的命令如下所示:

命令 作用
:w 保存
:q 退出
:q! 强制退出(放弃对文档的保存)
:wq!

强制保存退出 

:set nu 显示行号 
:set nonu 不显示行号 
:命令 执行该命令 
:整数 跳转到该行 
:s/one/two 将当前光标所在行的第一个one替换成two 
:s/one/two/g 将当前光标所在行的所有one替换成two 
:%s/one/two/g 将全文中的所有one替换成two 
?字符串 在文本中从下至上搜索该字符串 
/字符串 在文中从上至下搜索该字符串

二、编写简单文档


  第1步:使用Vim编辑器新建一个文档,将其命名为practice.txt。

[root@linuxprobe ~]# vim practice.txt
[root@linuxprobe ~]# 

  第2步:打开practice.txt文件后,就默认进入了命令模式,此时只能执行命令模式的命令。

   第3步:在命令模式按下a、i、o健切换至输入模式。进入输入模式后,就可以随意输入文本内容。

   第4步:在编写完了之后,想要保存并退出,必须先按下Esc健切换至命令模式,然后再按下:健切换至末行模式,最后输入wq!完成保存退出的操作。

  第5步:已成功完成一个文档的编写,使用cat命令查看文件的内容。

[root@linuxprobe ~]# cat practice.txt 
Now,you can write it.

 三、配置网卡信息


  网卡IP地址配置的正确是两台服务器相互通信的前提。在Linux系统中一切都是文件,因此配置网络服务的工作其实就是在编辑网卡的配置文件。在RHEL7系统中,网卡的配置文件的名称由前缀ifcfg加上网卡名称组成,比如ifcfg-eno16777728。现在对一个名称为eno16777728的网卡设备进行相关配置,具体步骤如下所示:

  第1步:首先切换至/etc/sysconfig/network-scripts目录中,该目录存放网卡的配置文件。

[root@linuxprobe ~]# cd /etc/sysconfig/network-scripts/
[root@linuxprobe network-scripts]# 
[root@linuxprobe network-scripts]# ls
ifcfg-eno16777728  ifdown-ippp  ifdown-routes    ifup          ifup-ipv6   ifup-ppp       ifup-tunnel
ifcfg-lo           ifdown-ipv6  ifdown-sit       ifup-aliases  ifup-isdn   ifup-routes    ifup-wireless
ifdown             ifdown-isdn  ifdown-Team      ifup-bnep     ifup-plip   ifup-sit       init.ipv6-global
ifdown-bnep        ifdown-post  ifdown-TeamPort  ifup-eth      ifup-plusb  ifup-Team      network-functions
ifdown-eth         ifdown-ppp   ifdown-tunnel    ifup-ippp     ifup-post   ifup-TeamPort  network-functions-ipv6
[root@linuxprobe network-scripts]# 

   第2步:使用Vim编辑器修改网卡配置文件ifcfg-eno16777728,逐项写入如下的配置参数并保存退出。

  TYPE=Ethernet                      //设备类型

  BOOTPROTO=static               //地址分配模式,分为static和dhcp两种

  NAME=eno16777728             //网卡名称

  ONBOOT=yes                        //是否启动

  IPADDR=192.168.10.10         //IP地址

  NETMASK=255.255.255.0      //子网掩码

  GATEWAY=192.168.10.1        //网关地址,注意“GATEWAY”不要写错了,容易写成“GETEWAY”或“GATAWAY”

  DNS1=192.168.10.1              //DNS地址

[root@linuxprobe network-scripts]# cp ifcfg-eno16777728 ifcfg-eno16777728.cpoy   //在编辑网卡配置文件之前,先做好原文件备份,养成好习惯
[root@linuxprobe network-scripts]# ls
ifcfg-eno16777728       ifdown-post      ifup-bnep   ifup-routes
ifcfg-eno16777728.cpoy  ifdown-ppp       ifup-eth    ifup-sit
ifcfg-lo                ifdown-routes    ifup-ippp   ifup-Team
ifdown                  ifdown-sit       ifup-ipv6   ifup-TeamPort
ifdown-bnep             ifdown-Team      ifup-isdn   ifup-tunnel
ifdown-eth              ifdown-TeamPort  ifup-plip   ifup-wireless
ifdown-ippp             ifdown-tunnel    ifup-plusb  init.ipv6-global
ifdown-ipv6             ifup             ifup-post   network-functions
ifdown-isdn             ifup-aliases     ifup-ppp    network-functions-ipv6
[root@linuxprobe network-scripts]# 
[root@linuxprobe network-scripts]# vim ifcfg-eno16777728
TYPE=Ethernet
BOOTPROTO=static
NAME=eno16777728
ONBOOT=yes
IPADDR=192.168.10.10
NETMASK=255.255.255.0
GATEWAY=192.168.10.1
DNS1=192.168.10.1

  第3步:重启网络服务并测试网络是否联通。

[root@linuxprobe network-scripts]# systemctl restart network   //重启网络服务
[root@linuxprobe network-scripts]# 
[root@linuxprobe network-scripts]# ping 192.168.10.10
PING 192.168.10.10 (192.168.10.10) 56(84) bytes of data.
64 bytes from 192.168.10.10: icmp_seq=1 ttl=64 time=0.050 ms
64 bytes from 192.168.10.10: icmp_seq=2 ttl=64 time=0.095 ms
64 bytes from 192.168.10.10: icmp_seq=3 ttl=64 time=0.093 ms
64 bytes from 192.168.10.10: icmp_seq=4 ttl=64 time=0.092 ms
^C
--- 192.168.10.10 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 0.050/0.082/0.095/0.020 ms

  知识补充:当你使用的是VMware Workstation安装的虚拟机,并按照上述方式完成网卡配置操作后,你可能无法ping通外网,如下所示:

[root@linuxprobe ~]# ping www.baidu.com
ping: unknown host www.baidu.com

  原因:IP地址配置不正确

  解决方法:我这里以虚拟机网卡设置为NAT模式举例,具体操作步骤如下:

   1、打开VMware Workstation软件的“虚拟网络编辑器”。

   2、首先点击“VMnet8”,然后点击“NAT 设置”。

   3、这里记住VMnet8网络的相关信息,包括子网IP、网关等,后面在配置虚拟机网卡时,需要保持一致。

   4、修改虚拟机的网卡配置文件。其中192.168.134.1为物理主机地址、192.168.134.2为网关地址,虚拟机地址可以在192.168.134.3~254之间任意设置,我这里设置为192.168.134.10。

   5、重启网络服务并测试外网的联通性。

[root@linuxprobe network-scripts]# systemctl restart network
[root@linuxprobe network-scripts]#
[root@linuxprobe network-scripts]# ping www.baidu.com
PING www.a.shifen.com (14.215.177.38) 56(84) bytes of data.
64 bytes from 14.215.177.38: icmp_seq=1 ttl=128 time=20.7 ms
64 bytes from 14.215.177.38: icmp_seq=2 ttl=128 time=22.0 ms
64 bytes from 14.215.177.38: icmp_seq=3 ttl=128 time=20.9 ms
^C
--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2004ms
rtt min/avg/max/mdev = 20.786/21.240/22.011/0.572 ms

 四、配置Yum软件仓库


  Yum软件仓库的作用是为了进一步简化RPM管理软件的难度以及自动分析所需软件包及其依赖关系的技术。可以把Yum想象成是一个硕大的软件仓库,里面保存有几乎所有的常用工具,而且只需说出想要的软件包名称,系统自动就会帮你搞定一切。搭建并配置Yum软件仓库的大致步骤如下所示:

  第1步:切换至/etc/yum.repos.d/目录中,该目录存放Yum软件仓库的配置文件。

[root@linuxprobe ~]# cd /etc/yum.repos.d/

  第2步:使用Vim编辑器新建一个名为rhel7.repo的配置文件,文件名称可以随意,但是后缀必须是.repo,逐项写入下面的配置参数并保存退出。

  [rhel7]        //Yum软件仓库的唯一标识符,避免与其他仓库冲突。

  name=rhel7      //Yum软件仓库的名称描述,方便识别仓库。

  baseurl=file:///media/cdrom        //设置Yum仓库的地址,提供方式包括:(ftp://....)、(http://....)、(file:///...)。

  enabled=1       //设置此源是否可用,1为可用,0为禁止。

  gpgcheck=1     //设置此源是否校验文件,1为校验,0为不校验。

  gpgkey=file:///media/cdrom/RPM-GPG-KRY-redhat-release       //若上面参数开启校验,那么请指定公钥文件地址。

[root@linuxprobe yum.repos.d]# vim rhel7.repo
[rhel7]
name=rhel7
baseurl=file:///media/cdrom
enabled=1
gpgcheck=0    //这里不校验文件

  第3步:按照配置参数的路径挂载光盘,并把光盘挂载信息写入到/etc/fstab文件中。

[root@linuxprobe yum.repos.d]# mkdir -p /media/cdrom     //创建光盘挂载目录
[root@linuxprobe yum.repos.d]# 
[root@linuxprobe yum.repos.d]# mount /dev/cdrom /media/cdrom     //挂载光盘
mount: /dev/sr0 is write-protected, mounting read-only
[root@linuxprobe yum.repos.d]# 
[root@linuxprobe yum.repos.d]# vim /etc/fstab     //将光盘挂载信息写入/etc/fstab文件
/dev/mapper/rhel-root   /                       xfs     defaults        1 1
UUID=ba40f004-d75d-400f-b0e0-c4d395261e14 /boot                   xfs     defaults        1 2
/dev/mapper/rhel-swap   swap                    swap    defaults        0 0
/dev/cdrom              /media/cdrom            iso9660 defaults        0 0      //光盘挂载信息

  第4步:此时切换至/media/cdrom目录,可以查看光盘信息。

[root@linuxprobe yum.repos.d]# cd /media/cdrom/
[root@linuxprobe cdrom]# ls
addons  EULA  images    LiveOS      Packages       repodata                 RPM-GPG-KEY-redhat-release
EFI     GPL   isolinux  media.repo  release-notes  RPM-GPG-KEY-redhat-beta  TRANS.TBL
[root@linuxprobe cdrom]# 

  第5步:使用“yum install -y httpd”命令,检查Yum软件仓库是否可用。

[root@linuxprobe ~]# yum install -y httpd
Loaded plugins: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
rhel7                                                                                                          | 4.1 kB  00:00:00     
(1/2): rhel7/group_gz                                                                                          | 134 kB  00:00:00     
(2/2): rhel7/primary_db                                                                                        | 3.4 MB  00:00:00     
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.4.6-17.el7 will be installed
--> Processing Dependency: httpd-tools = 2.4.6-17.el7 for package: httpd-2.4.6-17.el7.x86_64
--> Processing Dependency: /etc/mime.types for package: httpd-2.4.6-17.el7.x86_64
--> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.4.6-17.el7.x86_64
--> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.4.6-17.el7.x86_64
--> Running transaction check
---> Package apr.x86_64 0:1.4.8-3.el7 will be installed
---> Package apr-util.x86_64 0:1.5.2-6.el7 will be installed
---> Package httpd-tools.x86_64 0:2.4.6-17.el7 will be installed
---> Package mailcap.noarch 0:2.1.41-2.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

======================================================================================================================================
 Package                           Arch                         Version                             Repository                   Size
======================================================================================================================================
Installing:
 httpd                             x86_64                       2.4.6-17.el7                        rhel7                       1.2 M
Installing for dependencies:
 apr                               x86_64                       1.4.8-3.el7                         rhel7                       103 k
 apr-util                          x86_64                       1.5.2-6.el7                         rhel7                        92 k
 httpd-tools                       x86_64                       2.4.6-17.el7                        rhel7                        77 k
 mailcap                           noarch                       2.1.41-2.el7                        rhel7                        31 k

Transaction Summary
======================================================================================================================================
Install  1 Package (+4 Dependent packages)

Total download size: 1.5 M
Installed size: 4.3 M
Downloading packages:
--------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                  45 MB/s | 1.5 MB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : apr-1.4.8-3.el7.x86_64                                                                                             1/5 
  Installing : apr-util-1.5.2-6.el7.x86_64                                                                                        2/5 
  Installing : httpd-tools-2.4.6-17.el7.x86_64                                                                                    3/5 
  Installing : mailcap-2.1.41-2.el7.noarch                                                                                        4/5 
  Installing : httpd-2.4.6-17.el7.x86_64                                                                                          5/5 
rhel7/productid                                                                                                | 1.6 kB  00:00:00     
  Verifying  : mailcap-2.1.41-2.el7.noarch                                                                                        1/5 
  Verifying  : httpd-tools-2.4.6-17.el7.x86_64                                                                                    2/5 
  Verifying  : apr-1.4.8-3.el7.x86_64                                                                                             3/5 
  Verifying  : apr-util-1.5.2-6.el7.x86_64                                                                                        4/5 
  Verifying  : httpd-2.4.6-17.el7.x86_64                                                                                          5/5 

Installed:
  httpd.x86_64 0:2.4.6-17.el7                                                                                                         

Dependency Installed:
  apr.x86_64 0:1.4.8-3.el7    apr-util.x86_64 0:1.5.2-6.el7    httpd-tools.x86_64 0:2.4.6-17.el7    mailcap.noarch 0:2.1.41-2.el7   

Complete!

 

posted @ 2020-02-22 17:22  黑色幽默2020  阅读(832)  评论(0编辑  收藏  举报