关闭虚拟机classroom 虚拟机desktop 虚拟机server
############################################
部署新的教学环境
部署新的教学环境
真机上:运行clone-vm7可以快速产生两台虚拟机
[root@room9pc01 ~]# clone-vm7
Enter VM number: 8
Creating Virtual Machine disk image...... [OK]
Defining new virtual machine...... [OK]
[root@room9pc01 ~]# clone-vm7
Enter VM number: 9
Creating Virtual Machine disk image...... [OK]
Defining new virtual machine...... [OK]
[root@room9pc01 ~]#
[root@room9pc01 ~]# clone-vm7
Enter VM number: 8
Creating Virtual Machine disk image...... [OK]
Defining new virtual machine...... [OK]
[root@room9pc01 ~]# clone-vm7
Enter VM number: 9
Creating Virtual Machine disk image...... [OK]
Defining new virtual machine...... [OK]
[root@room9pc01 ~]#
账户:root 密码:123456
虚拟机A:服务端
1.配置eth0的IP地址:192.168.4.7/24
2.主机名:svr7.tedu.cn
1.配置eth0的IP地址:192.168.4.7/24
2.主机名:svr7.tedu.cn
虚拟机B:客户端
1.配置eth0的IP地址:192.168.4.207/24
2.主机名:pc207.tedu.cn
1.配置eth0的IP地址:192.168.4.207/24
2.主机名:pc207.tedu.cn
以真机进行控制虚拟机A
[root@room9pc01 ~]# virsh console A
连接到域 A
换码符为 ^]
Red Hat Enterprise Linux Server 7.4 (Maipo)
Kernel 3.10.0-693.el7.x86_64 on an x86_64
Kernel 3.10.0-693.el7.x86_64 on an x86_64
localhost login:
退出回到真机: Ctrl + ]
#############################################
利用真机进行远程管理:
1.网络互相通信
[root@room9pc01 ~]# ping 192.168.4.7
利用真机进行远程管理:
1.网络互相通信
[root@room9pc01 ~]# ping 192.168.4.7
2.进行远程管理
[root@room9pc01 ~]# ssh -X root@192.168.4.7
root@192.168.4.7's password:
[root@room9pc01 ~]# ssh -X root@192.168.4.7
root@192.168.4.7's password:
[root@svr7 ~]#
为虚拟机搭建网络Yum仓库
真机服务端: 1.众多的软件包 2.仓库清单(仓库数据文件)
3.搭建Web或FTP服务,共享光盘所有内容
3.搭建Web或FTP服务,共享光盘所有内容
1.搭建FTP服务
[root@room9pc01 ~]# rpm -q vsftpd
vsftpd-3.0.2-22.el7.x86_64
[root@room9pc01 ~]# systemctl status vsftpd
[root@room9pc01 ~]# rpm -q vsftpd
vsftpd-3.0.2-22.el7.x86_64
[root@room9pc01 ~]# systemctl status vsftpd
/etc/fstab:文件内容不允许出现快捷方式
[root@room9pc01 ~]# ls -l /iso
lrwxrwxrwx 1 root root 27 1月 23 2018 /iso -> /var/lib/libvirt/images/iso
[root@room9pc01 ~]# ls /var/lib/libvirt/images/iso/
[root@room9pc01 ~]# vim /etc/fstab
/var/lib/libvirt/images/iso/rhel-server-7.4-x86_64-dvd.iso /var/ftp/rhel7 iso9660 defaults 0 0
[root@room9pc01 ~]# ls -l /iso
lrwxrwxrwx 1 root root 27 1月 23 2018 /iso -> /var/lib/libvirt/images/iso
[root@room9pc01 ~]# ls /var/lib/libvirt/images/iso/
[root@room9pc01 ~]# vim /etc/fstab
/var/lib/libvirt/images/iso/rhel-server-7.4-x86_64-dvd.iso /var/ftp/rhel7 iso9660 defaults 0 0
]# ls /var/ftp/rhel7/
]# firefox ftp://192.168.4.254/rhel7
]# firefox ftp://192.168.4.254/rhel7
客户端: 指定服务端位置
虚拟机A
[root@svr7 ~]# cat /etc/yum.repos.d/rhel7.repo
[rhel7]
name=rhel7.4
baseurl=ftp://192.168.4.254/rhel7
enabled=1
gpgcheck=0
[root@svr7 ~]# yum -y install xeyes
虚拟机B同上
################################################
目录结构
• 认识Linux的目录层次:
– man hier
• 认识Linux的目录层次:
– man hier
• 常见一级目录的用途
主要用途
/boot 存放系统引导必需的文件,包括内核、启动配置
/bin、/sbin 存放各种命令程序
/dev 存放硬盘、键盘、鼠标、光驱等各种设备文件
/etc 存放Linux系统及各种程序的配置文件
/root、/home/用户名 分别是管理员root、普通用户的默认家目录
/var 存放日志文件、邮箱目录等经常变化的文件
/proc 存放内存中的映射数据,不占用磁盘
/tmp 存放系统运行过程中使用的一些临时文件
主要用途
/boot 存放系统引导必需的文件,包括内核、启动配置
/bin、/sbin 存放各种命令程序
/dev 存放硬盘、键盘、鼠标、光驱等各种设备文件
/etc 存放Linux系统及各种程序的配置文件
/root、/home/用户名 分别是管理员root、普通用户的默认家目录
/var 存放日志文件、邮箱目录等经常变化的文件
/proc 存放内存中的映射数据,不占用磁盘
/tmp 存放系统运行过程中使用的一些临时文件
权限的数值表示
• 权限的数值化
– 基本权限:r = 4,w = 2,x = 1
– 附加权限:SUID = 4,SGID = 2,Sticky Bit = 1
• 采用数值形式设置权限
– chmod [-R] nnn 文档...
– chmod [-R] xnnn 文档...
• 权限的数值化
– 基本权限:r = 4,w = 2,x = 1
– 附加权限:SUID = 4,SGID = 2,Sticky Bit = 1
• 采用数值形式设置权限
– chmod [-R] nnn 文档...
– chmod [-R] xnnn 文档...
[root@svr7 ~]# mkdir /nsd01
[root@svr7 ~]# ls -ld /nsd01
[root@svr7 ~]# chmod 700 /nsd01
[root@svr7 ~]# ls -ld /nsd01
[root@svr7 ~]# ls -ld /nsd01
[root@svr7 ~]# chmod 007 /nsd01
[root@svr7 ~]# ls -ld /nsd01
[root@svr7 ~]# ls -ld /nsd01
[root@svr7 ~]# chmod 750 /nsd01
[root@svr7 ~]# ls -ld /nsd01
[root@svr7 ~]# ls -ld /nsd01
[root@svr7 ~]# chmod 755 /nsd01
[root@svr7 ~]# ls -ld /nsd01
[root@svr7 ~]# ls -ld /nsd01
##############################################
历史命令
• 管理/调用曾经执行过的命令
– history:查看历史命令列表
– history -c:清空历史命令
– !n:执行命令历史中的第n条命令
– !str:执行最近一次以str开头的历史命令
• 调整历史命令的数量
[root@svr7 ~]# vim /etc/profile
HISTSIZE=1000 //默认记录1000条
历史命令
• 管理/调用曾经执行过的命令
– history:查看历史命令列表
– history -c:清空历史命令
– !n:执行命令历史中的第n条命令
– !str:执行最近一次以str开头的历史命令
• 调整历史命令的数量
[root@svr7 ~]# vim /etc/profile
HISTSIZE=1000 //默认记录1000条
[root@svr7 ~]# history #查看历史命令
[root@svr7 ~]# history -c #清空历史命令
[root@svr7 ~]# history
[root@svr7 ~]# ls /root
[root@svr7 ~]# cat /etc/redhat-release
[root@svr7 ~]# history
[root@svr7 ~]# !cat #显示最近以cat开头的历史命令
[root@svr7 ~]# !ls #显示最近以ls开头的历史命令
[root@svr7 ~]# !ls #显示最近以ls开头的历史命令
#################################################
• du,统计文件的占用空间
– du [选项]... [目录或文件]...
– -s:只统计每个参数所占用的总空间大小
– -h:提供易读容量单位(K、M等)
• du,统计文件的占用空间
– du [选项]... [目录或文件]...
– -s:只统计每个参数所占用的总空间大小
– -h:提供易读容量单位(K、M等)
[root@svr7 ~]# du -sh /
[root@svr7 ~]# du -sh /root /etc/ /boot
[root@svr7 ~]# du -sh /home
[root@svr7 ~]# du -sh /var
[root@svr7 ~]# du -sh /home
[root@svr7 ~]# du -sh /var
###############################################
• date,查看/调整系统日期时间
– date +%F、date +%R
– date +"%Y-%m-%d %H:%M:%S"
– date -s "yyyy-mm-dd HH:MM:SS" #修改时间
• date,查看/调整系统日期时间
– date +%F、date +%R
– date +"%Y-%m-%d %H:%M:%S"
– date -s "yyyy-mm-dd HH:MM:SS" #修改时间
###############################################
• ln,创建软连接 (快捷方式)与硬连接 (快捷方式)
软连接 (快捷方式)
[root@svr7 ~]# ln -s /etc/redhat-release /opt/A
[root@svr7 ~]# ls /opt/
[root@svr7 ~]# ls /opt/
[root@svr7 ~]# ls -l /opt/A
[root@svr7 ~]# cat /opt/A
[root@svr7 ~]# cat /opt/A
硬连接 (快捷方式)
[root@svr7 ~]# ln /etc/redhat-release /opt/B
[root@svr7 ~]# ls /opt/
[root@svr7 ~]# ln /etc/redhat-release /opt/B
[root@svr7 ~]# ls /opt/
[root@svr7 ~]# ln /root/ /opt/test
ln: "/root/": 不允许将硬链接指向目录
[root@svr7 ~]# ln /etc/passwd /boot/test
ln: 无法创建硬链接"/boot/test" => "/etc/passwd": 无效的跨设备连接(不能跨越 不同的分区)
ln: "/root/": 不允许将硬链接指向目录
[root@svr7 ~]# ln /etc/passwd /boot/test
ln: 无法创建硬链接"/boot/test" => "/etc/passwd": 无效的跨设备连接(不能跨越 不同的分区)
[root@svr7 ~]# ln -s /root/ /opt/test
[root@svr7 ~]# ls /opt/
[root@svr7 ~]# ls /opt/
[root@svr7 ~]# ln -s /etc/passwd /boot/test
[root@svr7 ~]# ls /boot/
#################################################
获取命令的帮助信息
[root@svr7 ~]# ls /boot/
#################################################
获取命令的帮助信息
• 对于外部命令程序,通常 会提供“--help”帮助选项
[root@svr7 ~]# ls --help
[root@svr7 ~]# ls --help
使用man手册
• 一种集中的手册页文档机制
– 大多数程序/配置文件/库函数都提供man手册页
• man,格式化手册阅读工具
– 按上 、 下 、 PgUp 、PgDn 键滚动及翻页
– 按 q 键退出
– 按 / 键向后查找关键词(n、N切换
数字5代表帮助类型:配置文件帮助信息
[root@svr7 ~]# man 5 passwd #查看配置文件passwd帮助信息
[root@svr7 /]# man passwd #查看passwd命令帮助信息
[root@svr7 ~]# man 5 passwd #查看配置文件passwd帮助信息
[root@svr7 /]# man passwd #查看passwd命令帮助信息
##################################################
zip归档工具(跨平台的压缩/归档格式)
zip归档工具(跨平台的压缩/归档格式)
• 归档+压缩操作
– zip [-r] 备份文件.zip 被归档的文档...
– zip [-r] 备份文件.zip 被归档的文档...
• 释放归档+解压操作
– unzip 备份文件.zip [-d 目标文件夹]
– unzip 备份文件.zip [-d 目标文件夹]
[root@svr7 /]# zip -r /opt/nsd.zip /home/ /etc/passwd
[root@svr7 /]# ls /opt
[root@svr7 /]# unzip /opt/nsd.zip -d /mnt/
[root@svr7 /]# ls /mnt
[root@svr7 /]# ls /mnt
[root@svr7 /]# zip -r /opt/stu.zip /root /boot
[root@svr7 /]# ls /opt
[root@svr7 /]# ls /opt
[root@svr7 /]# unzip /opt/stu.zip -d /mnt/
[root@svr7 /]# ls /mnt
[root@svr7 /]# ls /mnt
################################################
vim编辑技巧
命令模式操作
[root@svr7 /]# cp /etc/passwd /opt/abc.txt
[root@svr7 /]# vim /opt/abc.txt
命令模式操作
[root@svr7 /]# cp /etc/passwd /opt/abc.txt
[root@svr7 /]# vim /opt/abc.txt
光标跳转
上、下、左、右
Home 键 或 ^、数字 0 跳转到行首
End 键 或“$”键 跳转到行尾
1G 或 gg 跳转到文件的首行
G 跳转到文件的末尾行
复制/粘贴/删除
yy、#yy 复制光标处的一行、#行
p、P 粘贴到光标处之后、之前
x 或 Delete键 删除光标处的单个字符
dd、#dd 删除光标处的一行、#行
d^ 从光标处之前删除至行首
d$ 从光标处删除到行尾
D 从光标处删除到行尾
查找/撤销/保存
/word 向后查找字符串“word”
n、N 跳至后/前一个结果
u 撤销最近的一次操作
Ctrl + r 取消前一次撤销操作
ZZ(大写) 保存修改并退出
上、下、左、右
Home 键 或 ^、数字 0 跳转到行首
End 键 或“$”键 跳转到行尾
1G 或 gg 跳转到文件的首行
G 跳转到文件的末尾行
复制/粘贴/删除
yy、#yy 复制光标处的一行、#行
p、P 粘贴到光标处之后、之前
x 或 Delete键 删除光标处的单个字符
dd、#dd 删除光标处的一行、#行
d^ 从光标处之前删除至行首
d$ 从光标处删除到行尾
D 从光标处删除到行尾
查找/撤销/保存
/word 向后查找字符串“word”
n、N 跳至后/前一个结果
u 撤销最近的一次操作
Ctrl + r 取消前一次撤销操作
ZZ(大写) 保存修改并退出
################################################
末行模式操作
末行模式操作
:w 保存当前文件
:q! 放弃已有更改后强制退出
:wq 或 :x 保存已有修改后退出
:w /root/newfile 另存为其它文件
:r /etc/filesystems 读入其他文件内容
:q! 放弃已有更改后强制退出
:wq 或 :x 保存已有修改后退出
:w /root/newfile 另存为其它文件
:r /etc/filesystems 读入其他文件内容
[root@svr7 /]# echo abc > /opt/1.txt
[root@svr7 /]# echo haha > /opt/2.txt
[root@svr7 /]# vim /opt/1.txt
末行模式下 :r /opt/2.txt
末行模式下 :r /etc/passwd
[root@svr7 /]# echo haha > /opt/2.txt
[root@svr7 /]# vim /opt/1.txt
末行模式下 :r /opt/2.txt
末行模式下 :r /etc/passwd
字符串替换
:s/root/abc 替换当前行第一个“root”
:s/root/abc/g 替换当前行所有的“root”
:1,9 s/root/abc/g 替换第1-9行所有的“root”
:% s/bin/nsd/g 替换文件内所有的“bin”
[root@svr7 /]# rm -rf /opt/*
[root@svr7 /]# cp /etc/passwd /opt/test.txt
[root@svr7 /]# vim /opt/test.txt
[root@svr7 /]# cp /etc/passwd /opt/test.txt
[root@svr7 /]# vim /opt/test.txt
:set nu|nonu 显示/不显示行号
:set ai|noai 启用/关闭自动缩进
:set ai|noai 启用/关闭自动缩进
###############################################
补充: vim 交换文件(缓存文件)
将交换文件删除
补充: vim 交换文件(缓存文件)
将交换文件删除
###############################################
自定义Yum软件仓库
自定义Yum软件仓库
1.准备互联网下载软件包
将真机tools.tar.gz传递到虚拟机A
scp命令借助ssh运程管理
将真机tools.tar.gz传递到虚拟机A
scp命令借助ssh运程管理
scp=ssh+cp
scp /root/桌面/tools.tar.gz root@192.168.4.7:/root/
2.在虚拟机A上查看
]# ls /root
]# ls /root
3.在虚拟机A解包
[root@svr7 ~]# tar -xf /root/tools.tar.gz -C /
[root@svr7 ~]# ls /
[root@svr7 ~]# ls /tools/
inotify-tools-3.13.tar.gz other
[root@svr7 ~]# ls /tools/other/
[root@svr7 ~]# tar -xf /root/tools.tar.gz -C /
[root@svr7 ~]# ls /
[root@svr7 ~]# ls /tools/
inotify-tools-3.13.tar.gz other
[root@svr7 ~]# ls /tools/other/
4.生成仓库清单(仓库数据文件)
[root@svr7 ~]# createrepo /tools/other/
[root@svr7 ~]# ls /tools/other/
5.书写客户端配置文件
[root@svr7 ~]# tail -5 /etc/yum.repos.d/rhel7.repo
[myrpm]
name=other
baseurl=file:///tools/other #声明本地机器为Yum服务端
enabled=1
gpgcheck=0
[root@svr7 ~]# yum repolist
[root@svr7 ~]# createrepo /tools/other/
[root@svr7 ~]# ls /tools/other/
5.书写客户端配置文件
[root@svr7 ~]# tail -5 /etc/yum.repos.d/rhel7.repo
[myrpm]
name=other
baseurl=file:///tools/other #声明本地机器为Yum服务端
enabled=1
gpgcheck=0
[root@svr7 ~]# yum repolist
/bin/ /sbin/ /usr/bin/ /usr/sbin/ #存放命令程序路径
[root@svr7 ~]# yum -y install sl
[root@svr7 ~]# yum -y install cmatrix
[root@svr7 ~]# yum -y install oneko
[root@svr7 ~]# yum -y install cmatrix
[root@svr7 ~]# yum -y install oneko
[root@svr7 ~]# oneko & #放入后台运行
[root@svr7 ~]# killall oneko #杀死oneko程序
[root@svr7 ~]# killall oneko #杀死oneko程序
##############################################
源码编译安装
源码编译安装
rpm包: rpm -ivh yum -y install
源码包-----运行开发工具----->可以执行的程序-------->运行安装
• 主要优点
– 获得软件的最新版,及时修复bug
– 软件功能可按需选择/定制,有更多软件可供选择
– 源码包适用各种平台
源码编译安装
步骤一:安装开发工具
[root@svr7 ~]# yum -y install gcc make
步骤二:tar解包
]# tar -xf /tools/inotify-tools-3.13.tar.gz -C /
]# ls /
]# ls /inotify-tools-3.13/
]# tar -xf /tools/inotify-tools-3.13.tar.gz -C /
]# ls /
]# ls /inotify-tools-3.13/
步骤三: ./configure 配置,
作用:1.指定安装目录/功能模块等选项
2.检测gcc与make的安装
作用:1.指定安装目录/功能模块等选项
2.检测gcc与make的安装
./ #当前运行程序
]# cd /inotify-tools-3.13/
]# ./configure --prefix=/opt/myrpm
]# ./configure --prefix=/opt/myrpm
常见提示未安装gcc软件:
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: no
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: no
步骤四:make 编译,生成可执行的二进制程序文件
]# cd /inotify-tools-3.13/
]# make
步骤五:make install 安装,将编译好的文件复制到安装目录
]# cd /inotify-tools-3.13/
]# make install
]# cd /inotify-tools-3.13/
]# make
步骤五:make install 安装,将编译好的文件复制到安装目录
]# cd /inotify-tools-3.13/
]# make install
[root@svr7 /]# ls /opt/
myrpm
[root@svr7 /]# ls /opt/myrpm/
bin include lib share
[root@svr7 /]# ls /opt/myrpm/bin/ #查看生成的程序
inotifywait inotifywatch
myrpm
[root@svr7 /]# ls /opt/myrpm/
bin include lib share
[root@svr7 /]# ls /opt/myrpm/bin/ #查看生成的程序
inotifywait inotifywatch
#################################################