LINUX从零开始——ENGINEER(云计算应用管理)——Day4-2 [配置Linux网络 、源码编译安装、自定义Yum仓库、日志管理]

一、环境准备
1.开启两台虚拟机,以root用户登录

课程回顾:
1.查看系统进程信息有哪些命令?
pstree ps aux ps -elf

2.如何查看占用内存最高的进程?
top

3.永久设置主机名配置文件路径?
/etc/hostname

4.设置开机自动挂载配置文件路径?
/etc/fstab

5.yum客户端配置文件放在什么路径下?具体都有哪些字段?
/etc/yum.repos.d/*.repo
[]、name、baseurl、enabled、gpgcheck

4.光驱设备的文件系统类型?
iso9660

6.用户家目录下配置文件来源?
从/etc/skel目录进行复制

7.统计/etc/目录下以tab结尾的数据个数?
[root@A ~]# find /etc/ -name “*tab” | wc -l

8.显示文件/etc/login.defs有效信息?
[root@A ~]# grep -v ^# /etc/login.defs | grep -v ^$

9.将boothome.tar.gz释放到文件夹/root/boothome/下如何操作?
tar -xf boothome.tar.gz -C /root/boothome/

10.Linux中通过修改什么文件可以为root用户设置永久别名?
/root/.bashrc(root用户本身) /etc/bashrc(全体用户)

昨日习题:

案例1:虚拟机A:进程管理
1.查看当前系统中整个进程树信息
2.利用pstree查看lisi开启的进程
3.显示当前系统正在运行的所有进程信息
4.检索当前系统中进程,进程名包含cron的PID是多少?
5.开启5个sleep 2000放入后台运行
6.杀死所有sleep进程
[root@A ~]# pstree -ap
[root@A ~]# pstree -ap lisi

[root@A ~]# ps aux

[root@A ~]# pgrep cron

[root@A ~]# sleep 2000 &
[root@A ~]# sleep 2000 &
[root@A ~]# sleep 2000 &
[root@A ~]# sleep 2000 &
[root@A ~]# sleep 2000 &

[root@A ~]# killall sleep

案例2:虚拟机B上操作:实现静态网络参数配置
– 主机名:test.example.com
– IP地址:172.25.0.11
– 子网掩码:255.255.0.0
– 默认网关:172.25.0.254
– DNS服务器:172.25.254.254

[root@B ~]# hostname test.example.com
[root@B ~]# echo test.example.com > /etc/hostname
[root@B ~]# cat /etc/hostname

[root@B ~]# nmcli connection show
[root@B ~]# nmcli connection modify ‘ens33’ ipv4.method manual ipv4.addresses 172.25.0.11/18 ipv4.gateway 172.25.0.254 connection.autoconnect yes

[root@B ~]# nmcli connection up ‘ens33’

[root@B ~]# route -n #查看网关地址
[root@B ~]# ifconfig | head -2 #查看网卡地址

[root@B ~]# echo nameserver 172.25.254.254 > /etc/resolv.conf
[root@B ~]# cat /etc/resolv.conf

案例3:虚拟机B上操作:实现静态网络参数配置
– 主机名:B.tedu.cn
– IP地址:192.168.1.1
– 子网掩码:255.255.255.0
– 默认网关:192.168.1.254
– DNS服务器:8.8.8.8
[root@B ~]# hostname B.tedu.cn
[root@B ~]# echo B.tedu.cn > /etc/hostname
[root@B ~]# cat /etc/hostname

[root@B ~]# nmcli connection show
[root@B ~]# nmcli connection modify ‘ens33’ ipv4.method manual ipv4.addresses 192.168.1.1/24 ipv4.gateway 192.168.1.254 connection.autoconnect yes

[root@B ~]# nmcli connection up ‘ens33’

[root@B ~]# route -n #查看网关地址
[root@B ~]# ifconfig | head -2 #查看网卡地址

[root@B ~]# echo nameserver 8.8.8.8 > /etc/resolv.conf
[root@B ~]# cat /etc/resolv.conf

案例4:虚拟机B上操作:实现静态网络参数配置
– 主机名:pc207.tedu.cn
– IP地址:192.168.4.207
– 子网掩码:255.255.255.0
– 默认网关:192.168.4.254
– DNS服务器:1.1.1.1
[root@B ~]# hostname pc207.tedu.cn
[root@B ~]# echo pc207.tedu.cn > /etc/hostname
[root@B ~]# cat /etc/hostname

[root@B ~]# nmcli connection show
[root@B ~]# nmcli connection modify ‘ens33’ ipv4.method manual ipv4.addresses 192.168.4.207/24 ipv4.gateway 192.168.4.254 connection.autoconnect yes

[root@B ~]# nmcli connection up ‘ens33’

[root@B ~]# route -n #查看网关地址
[root@B ~]# ifconfig | head -2 #查看网卡地址

[root@B ~]# echo nameserver 1.1.1.1 > /etc/resolv.conf
[root@B ~]# cat /etc/resolv.conf

案例5:虚拟机A上操作:实现静态网络参数配置
– 主机名:svr7.tedu.cn
– IP地址:192.168.4.7
– 子网掩码:255.255.255.0
– 默认网关:192.168.4.254
– DNS服务器:1.1.1.1

[root@A ~]# hostname svr7.tedu.cn
[root@A ~]# echo svr7.tedu.cn > /etc/hostname
[root@A ~]# cat /etc/hostname

[root@A ~]# nmcli connection show
[root@A ~]# nmcli connection modify ‘ens33’ ipv4.method manual ipv4.addresses 192.168.4.7/24 ipv4.gateway 192.168.4.254 connection.autoconnect yes

[root@A ~]# nmcli connection up ‘ens33’

[root@A ~]# route -n #查看网关地址
[root@A ~]# ifconfig | head -2 #查看网卡地址

[root@A ~]# echo nameserver 1.1.1.1 > /etc/resolv.conf
[root@A ~]# cat /etc/resolv.conf

######################################################################################################
二、统一教学环境

虚拟机A:
1.主机名设置
[root@A ~]# hostname A.tedu.cn
[root@A ~]# echo A.tedu.cn > /etc/hostname
[root@A ~]# cat /etc/hostname
A.tedu.cn
[root@A ~]# hostname

2.修改虚拟机网卡名称
[root@A ~]# vim /etc/default/grub #添加配置
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=" ( s e d ′ s , r e l e a s e . ∗ (sed 's, release .* (seds,release.,g’ /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT=“console”
GRUB_CMDLINE_LINUX=“crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0 biosdevname=0”
GRUB_DISABLE_RECOVERY=“true”

[root@A ~]# tail -2 /etc/default/grub | head -1
GRUB_CMDLINE_LINUX=“crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0 biosdevname=0”

[root@A ~]# grub2-mkconfig -o /boot/grub2/grub.cfg #重新生成新的引导配置文件
Generating grub configuration file …
Found linux image: /boot/vmlinuz-3.10.0-862.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-862.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-0b493859bd0f4248a5b1d1bf020eb597
Found initrd image: /boot/initramfs-0-rescue-0b493859bd0f4248a5b1d1bf020eb597.img
done

[root@A ~]# reboot
[root@A ~]# ifconfig | head -2
[root@A ~]# which ifconfig
/usr/sbin/ifconfig
[root@A ~]# rpm -qf /usr/sbin/ifconfig
net-tools-2.0-0.22.20131004git.el7.x86_64

3.为eth0配置IP地址:192.168.4.7/24
[root@A ~]# nmcli connection show #查看识别网卡的名称
[root@A ~]# nmcli connection delete ‘ens33’ #删除识别的网卡
[root@A ~]# nmcli connection delete ‘有线连接 1’ #删除识别的网卡

[root@A ~]# nmcli connection show

[root@A ~]# nmcli connection add type ethernet ifname eth0 con-name eth0 #添加网卡
[root@A ~]# nmcli connection 添加 类型 以太网设备 设备名 eth0 配置文件名 eth0
[root@A ~]# nmcli connection show

[root@A ~]# nmcli connection modify ‘eth0’ ipv4.method manual ipv4.addresses 192.168.4.7/24 connection.autoconnect yes
[root@A ~]# nmcli connection up ‘eth0’
[root@A ~]# ifconfig | head -2
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.4.7 netmask 255.255.255.0 broadcast 192.168.4.255
[root@A ~]#

4.构建Yum仓库
[root@A ~]# vim /etc/fstab #完成开机自动挂载
/dev/cdrom /dvd iso9660 defaults 0 0

[root@A ~]# ls /etc/yum.repos.d/
dvd.repo repo

[root@A ~]# vim /etc/yum.repos.d/dvd.repo
[dvd]
name=CentOS7
baseurl=file:///dvd
enabled=1
gpgcheck=0
[root@A ~]# yum repolist
[root@A ~]# yum -y install xeyes

5.关闭虚拟机A,拍摄快照
6.克隆虚拟机A,产生虚拟机B

虚拟机B:
1.主机名设置
[root@A ~]# hostname B.tedu.cn
[root@B ~]# echo B.tedu.cn > /etc/hostname
[root@B ~]# cat /etc/hostname
B.tedu.cn
[root@B ~]# hostname
2.配置IP地址为192.168.4.207/24
[root@B ~]# nmcli connection modify ‘eth0’ ipv4.method manual ipv4.addresses 192.168.4.207/24 connection.autoconnect yes
[root@B ~]# nmcli connection up ‘eth0’
[root@B ~]# ifconfig | head -2
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.4.207 netmask 255.255.255.0 broadcast 192.168.4.255
[root@B ~]# ping 192.168.4.7

[root@A ~]# nmcli connection add type ethernet ifname eth0 con-name eth0 connection.interface-name eth0
[root@A ~]# nmcli device connect eth0

######################################################################################################
三、虚拟机网络类型
•桥接模式(虚拟机和真机在一个网络中)
–Guest与Host连接到同一个交换机上
–通过桥接物理网卡,相当于直连到Host所在网络

在这里插入图片描述

[root@B ~]# nmcli connection modify ‘eth0’ ipv4.method auto
[root@B ~]# nmcli connection up ‘eth0’

######################################################################################################
四、常用的网络工具
[root@A ~]# ip address show | less #查看网卡接口信息

[root@A ~]# ip address add 192.168.8.1/24 dev eth0 #为网卡临时添加一个新的IP地址
[root@A ~]# ifconfig | less
[root@A ~]# ip address show | less

[root@A ~]# ping -c 4 192.168.8.1 #-c:指定ping包的个数

百度云盘:
链接:https://pan.baidu.com/s/1hmepKHxMG_vPnBwWlwAlTA
提取码:k6xs
在这里插入图片描述

######################################################################################################
五、远程管理Linux主机

1.Windows远程管理Linux:采用Windows平台安装xshell软件
•SSH协议,Secure Shell
–为客户机提供安全的 Shell 环境
–默认端口:TCP 22
•OpenSSH 服务
–服务名称:sshd
–主程序:/usr/sbin/sshd、/usr/bin/ssh
–配置文件:/etc/ssh/sshd_config
/etc/ssh/ssh_config

[root@A ~]# rpm -qa | grep openssh #支持远程管理的软件
openssh-7.4p1-16.el7.x86_64
openssh-server-7.4p1-16.el7.x86_64
openssh-clients-7.4p1-16.el7.x86_64

2.Linux远程管理Linux:
–ssh [选项]… 用户名@服务器

虚拟机A:
[root@A ~]# ssh root@192.168.4.207
The authenticity of host ‘192.168.4.207 (192.168.4.207)’ can’t be established.
ECDSA key fingerprint is SHA256:iX/gAmwOzPIDLKEfHPab1oZlSNtaeeSwUdpbC83FpCc.
ECDSA key fingerprint is MD5:4a:be:bd:79:16:ad:c7:09:10:7b:a1:ad:4e:cb:d1:4c.
Are you sure you want to continue connecting (yes/no)?yes
root@192.168.4.207’s password: #输入密码
[root@B /]#
[root@B /]# exit # 退出远程管理
登出
Connection to 192.168.4.207 closed.
[root@A ~]# ls /root/.ssh/known_hosts
/root/.ssh/known_hosts
[root@A ~]# cat /root/.ssh/known_hosts

常用的选项 -X(大写):可以在远程管理时,开启对方的图形程序

[root@A ~]# ssh -X root@192.168.4.207

3.Linux与Linux之间数据的传递
•安全复制工具 scp (需要安装openssh-clients)
–scp [-r] 用户名@服务器:路径 本地路径
–scp [-r] 本地路径 用户名@服务器:路径

两台虚拟机:
[root@A ~]# systemctl status sshd #检测远程管理的服务sshd是否运行
[root@A ~]# systemctl start sshd #开启sshd服务
[root@A ~]# systemctl enable sshd #设置开机自启动
虚拟机A:
[root@A ~]# scp /etc/passwd root@192.168.4.207:/opt/
[root@A ~]# scp -r /home root@192.168.4.207:/opt/

虚拟机B:
[root@B ~]# ls /opt

4.实现ssh无密码验
•部署公钥与私钥
–生成公钥与私钥
–传递公钥到对方主机

虚拟机A:
[root@A ~]# ssh-keygen #一路回车,产生公钥与私钥

[root@A ~]# ls /root/.ssh/ #查看产生的公钥与私钥
id_rsa(私钥) id_rsa.pub(公钥) known_hosts(记录曾经远程管理过的机器)
[root@A ~]# ssh-copy-id root@192.168.4.207 #传递公钥给虚拟机B
[root@A ~]# scp /etc/gshadow root@192.168.4.207:/opt/
虚拟机B
[root@B ~]# ls /root/.ssh/
authorized_keys(另外一台机器传递过来的公钥) known_hosts
[root@B ~]#

######################################################################################################
六、源码编译安装

RPM包:rpm -ivh yum -y install
源码包:西红柿和鸡蛋 ----开发工具gcc与make—》可以执行的程序----》运行安装
•主要优点
–获得软件的最新版,及时修复bug
–软件功能可按需选择/定制,有更多软件可供选择
–源码包适用各种平台
–……

1.准备软件素材tools.tar.gz
2.安装gcc与make,开发工具,用于将源码变成可以执行的程序
[root@A ~]# yum -y install gcc make
[root@A ~]# rpm -q gcc make
gcc-4.8.5-28.el7.x86_64
make-3.82-23.el7.x86_64
[root@A ~]#

3.进行tar解包
[root@A ~]# tar -xf /root/tools.tar.gz -C /
[root@A ~]# ls /
[root@A ~]# ls /tools/

[root@A ~]# tar -xf /tools/inotify-tools-3.13.tar.gz -C /tmp/
[root@A ~]# ls /tmp/

[root@A ~]# cd /tmp/inotify-tools-3.13/
[root@A inotify-tools-3.13]# ls

4.运行configure脚本,作用1:检测系统是否安装gcc与make工具 作用2:指定软件安装位置及功能
[root@A ~]# cd /tmp/inotify-tools-3.13/
[root@A inotify-tools-3.13]# ./configure --prefix=/opt/myrpm #指定安装的位置

常见错误:没有安装gcc
checking for gcc… no
checking for cc… no
checking for cl.exe… no
configure: error: no acceptable C compiler found in $PATH
See `config.log’ for more details.

5.编译,生成可以运行的执行程序
[root@A ~]# cd /tmp/inotify-tools-3.13/
[root@A inotify-tools-3.13]# make

6.安装,运行安装
[root@A ~]# cd /tmp/inotify-tools-3.13/
[root@A inotify-tools-3.13]# make install
[root@A inotify-tools-3.13]# ls /opt/
[root@A inotify-tools-3.13]# ls /opt/myrpm/
[root@A inotify-tools-3.13]# ls /opt/myrpm/bin

######################################################################################################
七、自定义Yum仓库

仓库组成:1.众多的软件包 2.仓库数据文件

1.通过互联网下载的RPM软件包
[root@A /]# ls /tools/other/
2.自动生成仓库数据文件
[root@A /]# yum -y install createrepo
[root@A /]# createrepo /tools/other/ #生成仓库数据文件
[root@A /]# ls /tools/other/
3.书写客户端文件
[root@A /]# vim /etc/yum.repos.d/dvd.repo
[dvd]
name=CentOS7
baseurl=file:///dvd
enabled=1
gpgcheck=0
[other]
name=myrpm
baseurl=file:///tools/other
enabled=1
gpgcheck=0
[root@A /]# yum repolist
[root@A /]# yum -y install cmatrix
[root@A /]# cmatrix

######################################################################################################
八、日志管理

•系统和程序的“日记本”
–记录系统、程序运行中发生的各种事件
–通过查看日志,了解及排除故障
–信息安全控制的“依据”

•由系统服务rsyslog统一记录/管理
–日志消息采用文本格式
–主要记录事件发生的时间、主机、进程、内容

•常见的日志文件
在这里插入图片描述

•日志分析
•通用分析工具
–tail、tailf、less、grep等文本浏览/检索命令
–awk、sed等格式化过滤工具

tailf:实时跟踪日志消息
[root@A /]# echo 123 >> /opt/1.txt
[root@A /]# tailf /opt/1.txt
123

•users、who、w 命令
–查看已登录的用户信息,详细度不同
•last、lastb 命令
–查看最近登录成功/失败的用户信息
[root@A /]# who
root :0 2020-03-09 19:00 (:0)
root pts/0 2020-03-10 01:27 (:0)
root pts/1 2020-03-09 19:24 (192.168.4.1)
root pts/2 2020-03-10 01:49 (192.168.4.1)

:0:代表图形界面终端
pts:代表图形命令界面

##########################################################################################

课后习题:
案例1:虚拟机B
1.源码编译安装 inotify-tools 软件工具
2.安装位置为/usr/local/tools

案例2:虚拟机B:自定义Yum仓库
1.将tools.tar.gz释放到/usr/local目录下
2.利用/usr/local/tools/other目录下RPM软件包,构建自定义Yum仓库

案例3:虚拟机B:传递数据
1.将本机/usr/local/tools/other目录传递到虚拟机A,放在虚拟机A的/usr/目录下
2.将本机/etc/gshadow文件传递到虚拟机A,放在虚拟机A的/root目录下
3.将本机/etc/skel目录传递到虚拟机A,放在虚拟机A的/tmp目录下

案例4:虚拟机B:远程无密码验证
1.实现虚拟机B远程管理虚拟机A,无需密码验证

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值