admin管理员组

文章数量:1660200

DAY1............................................................................................................................... 4

一.扩展的几个应用........................................................................................................... 4

1.权限的数值表示..................................................................................................... 4

1.1权限的数值化............................................................................................... 4

1.2使用数字修改权限........................................................................................ 4

2.历史命令................................................................................................................ 5

2.1管理/调用曾经执行过的命令......................................................................... 5

2.2调整历史命令的数量..................................................................................... 5

3.实用小命令工具..................................................................................................... 5

3.1du命令.......................................................................................................... 5

3.2date命令........................................................................................................ 5

3.3ln命令........................................................................................................... 6

4.查看帮助的方法..................................................................................................... 7

4.1help命令....................................................................................................... 7

4.2man 命令...................................................................................................... 7

5.zip归档工具........................................................................................................... 7

5.1制作.zip压缩包............................................................................................. 7

5.2释放.zip压缩包............................................................................................. 7

二.网络yum源................................................................................................................. 8

1.准备yum源............................................................................................................ 8

1.1yum仓库特点................................................................................................ 8

1.2挂载............................................................................................................. 8

2.客户端配置repo使用yum源.................................................................................. 9

三.vim编辑技巧............................................................................................................. 10

1.命令模式操作....................................................................................................... 10

1.1复制/粘贴/删除............................................................................................ 10

1.2光标跳转..................................................................................................... 10

1.3查找/撤销/保存............................................................................................ 11

2.末行模式操作....................................................................................................... 11

2.1保存/退出/文件操作..................................................................................... 11

2.2字符串替换................................................................................................. 11

2.3开关参数的控制.......................................................................................... 12

四.源码编译安装............................................................................................................ 12

1.基本实现过程....................................................................................................... 12

1.1下载源码包及解包....................................................................................... 12

1.2配置 (./configure).................................................................................... 13

1.3编译及安装................................................................................................. 13

1.4结果验证..................................................................................................... 13

2.监控(inotify)..................................................................................................... 13

五.systemctl控制............................................................................................................ 14

1.systemctl命令....................................................................................................... 14

2.列出服务.............................................................................................................. 14

3.管理运行级别(运行模式).................................................................................. 15

DAY2.............................................................................................................................

2.利用root 进入虚拟机   密码 123456................................................................... 16

3.在真机上配置远程管理的别名,进行远程管理(/root/.bashrc).................................. 17

4.为虚拟机A与虚拟机B 搭建本地Yum仓库.......................................................... 17

5.检测防火墙是否关闭,SELinux状态..................................................................... 17

二.DNS服务器搭建........................................................................................................ 18

1.DNS工作原理...................................................................................................... 18

1.1DNS服务器的功能....................................................................................... 18

1.2DNS的分布结构.......................................................................................... 18

2.BIND服务分析..................................................................................................... 19

2.1BIND域名服务............................................................................................ 19

3.单区域DNS服务.................................................................................................. 19

3.1安装软件包(bind bind-chroot)....................................................................... 19

3.2修改配置文件/etc/named.conf....................................................................... 19

3.3检查配置语法.............................................................................................. 20

3.4建立地址库文件tedu.zone....................................................................... 20

3.5重起named,设置开机自启动..................................................................... 20

3.6客户端检查................................................................................................. 20

4.多区域DNS服务.................................................................................................. 21

4.1修改配置文件/etc/named.conf....................................................................... 21

4.2建立地址库文件.......................................................................................... 21

4.3重起named服务......................................................................................... 21

三.特殊的解析记录......................................................................................................... 21

1.基于DNS域名的负载均衡.................................................................................... 21

2.泛域名解析........................................................................................................... 22

3.有规律的泛域名解析............................................................................................. 22

四.DNS的子域授权........................................................................................................ 23

DAY3............................................................................................................................. 26

DAY4............................................................................................................................. 34

DAY5............................................................................................................................. 41

DAY6  (cobbler)............................................................................................................ 45

 

 

DAY1

一.扩展的几个应用

1.权限的数值表示

chmod +r   文件名或目录

chmod +rwx 文件名或目录

chmod u+rw 文件或目录

 

r:读,w:写,x:执行

1.1权限的数值化

- 基本权限:r=4,w=2,x=1

- 附加权限:SUID=4,SGID=2,Sticky Bit=1

 

n=r+w+x(以求和的形式算的)

rw=6

rwx=7

r-x=5

1.2使用数字修改权限

- chmod [-R] nnn  文档...

- chmod [-R] xnnn 文档...

 

#chmod 777 文件或目录

#chmod 000 文件或目录

#chmod 077 文件或目录

 

chmod nnnn文件或目录

第1个n是特殊权限,第2个n是用户权限,

第3个n是组权限,第4个n是其他人权限

 

# chmod 7777  文件(结果rwsrwsrwt)

# chmod 1777  文件 (结果rwxrwxrwt)

# chmod 6777  文件(结果rwsrwsrwx)

2.历史命令

2.1管理/调用曾经执行过的命令

# history       查看历史

# history -c    清空历史命令

# 上下键盘      调用历史

# !命令字串     调用最近的历史命令

# !sys          执行最近一次以sys开头的历史命令

# !n            通过历史命令的编号调用历史命令

2.2调整历史命令的数量

#vim +46 /etc/profile

直接到/etc/profile文件的第46行

HISTSIZE=1000

默认历史记录是最多1000条

(如果需要修改的话,重开一个终端才能有用)

3.实用小命令工具

3.1du命令

du ls -l 的区别

ll (ls -l)查看容量仅可以看文件是对的

 

du命令(查看文件或目录的大小)

-du [选项]... [目录或文件]...

-s 统计目录的总容量

-h 人性化显示容量(带单位)

 

# du -sh /boot/

3.2date命令

date查看计算机时间

- date +%F 年月日、date +%R 时分

- date +"%Y-%m-%d %H:%M:%S" 年月日 时分秒

- date +%Y%m%d 年月日,date +%H:%M:%S   小时分钟秒

- date -s "年-月-日 时:分:秒"  修改计算机时间

# date -s "11:01"  //仅修改时间

# date -s "2088-12-1 12:12"

# hwclock -s        重设系统日期时间

3.3ln命令

ln命令(给文件或目录创建快捷方式,链接)

 

1.软链接    软链接不占用空间,但是源文件删除,链接失败

 

2.硬链接     硬链接不占用空间,源文件可以删除,链接依然能用

 

软链接:(注意:做链接一定要用绝对路径

 

格式: ln -s /路径/源文件    /路径/快捷方式名称

 

# echo "123" > /root/123.txt

 

# ln -s /root/123.txt /abc.txt

给/root/123.txt创建了一个软链接在/abc.txt

 

# cat /abc.txt    //可以打开

 

# rm -rf /root/123.txt

# cat /abc.txt       //打不开

# rm -rf /abc.txt       //把没用软链接删除

 

 

硬链接:(注意:做链接一定要用绝对路径

 

# echo "123" > /root/123.txt

 

# ln  /root/123.txt /abc.txt

给/root/123.txt创建了一个硬链接在/abc.txt

 

# cat /abc.txt    //可以打开

 

# rm -rf /root/123.txt

# cat /abc.txt             //依然可以打开

# ln /root/123.txt   /qq.txt

# ln /root/123.txt  /cc.txt

4.查看帮助的方法

4.1help命令

# 命令 --help

# help 命令名

4.2man 命令

man 命令名

- 按↑、↓、PgUp、PgDn健滚动及翻页

- 按q健退出

- 按 / 健向后查找关键词(nN切换)

5.zip归档工具

5.1制作.zip压缩包

.归档+压缩操作

- zip [-r] 备份文件.zip 被归档的文档

 

linux

压缩常用格式:gzip,bz2,xzip,zip

windwos

压缩:rar(商业),zip

 

# zip -r  my.zip  /var/log

//把/var/log目录给压缩,压缩到当前目录,my.zip

5.2释放.zip压缩包

.释放归档+解压操作

- unzip 备份文件.zip [-d 目标文件夹]

 

# unzip my.zip

//把my.zip解压到当前

 

# unzip my.zip -d /tmp

//把my.zip解压到/tmp

 

 

二.网络yum源

1.准备yum源

1.1yum仓库特点

自定义yum服务器(真实机操作)

做yum源(yum服务器)【把一堆软件包共享】

 

.作为yum源需要准备的内容

a)大量的.rpm软件安装包文件

b)针对这些软件包的repodata/仓库档案

 

.repodata/仓库档案数据

-filelists.xml.gz    //软件包的文件安装清单

-primary.xml.gz     //软件包的基本/主要信息

-other.xml.gz      //软件包的其他信息

-repomd.xml       //提供.xml.gz下载和校验信息

1.2挂载

# mkdir /var/www/html/rhel

# vim /etc/fstab

/iso/rhel-server-7.4-x86_64-dvd.iso /var/www/html/rhel/  iso9660  defaults,loop 0 0

# mount -a

 

1.3使用RHEL7光盘库

.RHEL7光盘目录已经预先配置为yum源

- Packages/                    存放.rpm软件包

- repodata/                    仓库档案

- isolinux/                    光盘引导数据

- RPM-GPG-KEY-redhat-release   签名校验密钥

 

备注:在光盘里有Packages,里面都是RPM包

repodata目录,里面有相关数据库

 

 

 

 

2.客户端配置repo使用yum源

 

# yum -y install httpd

# systemctl restart httpd

 

#vim /etc/yum.repo.d/abc.repo

[abc]

name=redhat

baseurl=http://172.25.0.250/rhel

gpgcheck=0

 

#yum clean all

 

 

自己从网络上下载的若干软件,把这些软件做成yum源

 

# unzip other.zip -d /var/www/html

 

# ls /var/www/html/other

 

# createrepo /var/www/html/other

//给/var/www/html/other目录下RPM软件自动生成数据库

 

客户端配置xx.repo去调用yum源

 

# vim /etc/yum.repos.d/xx.repo

 

[xx]

name=redhat

baseurl=http://172.25.0.250/other

gpgcheck=0

 

 

 

 

 

 

 

 

 

 

 

三.vim编辑技巧

vim的三种模式:命令模式,编辑模式,末行模式

1.命令模式操作

1.1复制/粘贴/删除

yy      复制光标一行

 

p       粘贴(到光标的下一行)

 

P(大写)粘贴(到光标的上一行)

 

x       删除光标当前的一个字符 (或者Delete

 

dd      删除光标处的一行       (剪切)

 

d$      从光标处之前删除到行尾

 

d^      从光标处之前删除至行首

 

C(大写)可以删除光标之后,并且进入输入模式

 

cc(小写)可以删除整行,并且进入输入模式

1.2光标跳转

h,j,k,l  移动光标(左,下,上,右)      (或者↑、↓、←、→

 

gg      移动光标到文件头           (或者1G)   

 

G       移动光标到文件尾

 

4G      移动光标到第4行

 

^       光标跳到行首                (或者Home健、数字0)

 

$       光标跳到行尾                (或者End健)

 

 

1.3查找/撤销/保存

/word    向后查找字符串”word”

 

n、N     跳至后/前一个结果

 

u       撤销一步

 

U        撤销对当前行的所有修改

 

Ctrl + r 取消前一次撤销操作

 

ZZ      保存退出

2.末行模式操作

2.1保存/退出/文件操作

:4       移动光标到第4行

 

:w       保存(不退出)

 

:wq        保存退出         (或者x)

 

:q!        不保存退出

 

:r        读取其他文件

 

:w        另存为其他文件内容

 

如:

:r  /etc/filesystems         读入  /etc/filesystems 内容

:w  /root/newfile            另存为 /root/newfile   内容

2.2字符串替换

:s /旧/新/    旧内容替换为新内容   仅替换当前行的第1个内容

 

:s /旧/新/g  旧内容替换为新内容   替换当前行的旧内容

 

:%s/旧/新/    旧内容替换为新内容   替换所有行的第1个内容

 

:%s/旧/新/g  替换所有行的所有内容

 

:3,5s/旧/新/g 替换3到5行的所有内容

2.3开关参数的控制

:set nu    显示行号

 

:set nonu 不显示行号

 

:set ai    启用自动缩进      (对齐上一行光标)

 

:set noai  关闭自动缩进

四.源码编译安装

编译安装介绍

源码包安装软件

 

二进制包可以安装软件

[rpm,exe,msi,deb...]

1.基本实现过程

源码--->编译--->二进制

 

Linux的软件多数都免费,开源

二进制包装软的缺点:

(不愿意花时间去封装二进制)

有写开源软件会封装成二进制,但时间会很久

没办法自定义

 

如何在Linux中源码编译安装软件

1.1下载源码包及解包

# firefox ftp://172.40.50.118/course/SERVICE/inotify-tools-3.13.tar.gz

# scp inotify-tools-3.13.tar.gz 172.25.0.11:/root  /

//把文件的inotify-tools-3.13.tar.gz拷贝到

172.25.0.11电脑的/root/目录

 

 

登陆server0使用源码安装软件

 

# tar -xf inotify-tools-3.13.tar.gz

//解压

 

#cd inotify-tools-3.13/

//计算机的系统软件一般都是用c语言写的

//如QQ,office,windows,linux,画图,播放器

1.2配置 (./configure)

# ./configure  检查你的计算机环境

 

# yum -y install gcc

//gcc是linux里面的一个C语言的解释器

 

# ./configure  检查环境,不报错没有Error

1.3编译及安装

# make  (编译)(make 必须在解压路径下操作)

//用gcc解释器把源码转换为二进制

 

# make  install  (安装)

//把编译好的二进制程序安装到你的计算机

1.4结果验证

# inotifywait 这个能tab出来(说明成功)

 

//备注:执行./configure --prefix=/路径

//configure可以通prefix参数,指定安装路径

//如果没有指定prefix,则默认一般在/usr/local/

2.监控(inotify)

inotify-tools这个软件可以监控你的计算机目录

# inotifywait -mrq  /root/

再开一个窗口终端,在/root目录做一些操作

#touch /root/tmp.txt

#echo "1" > /root/1.txt

#rm /root/1.txt

 

五.systemctl控制

1.systemctl命令

.一个更高效的系统&服务管理器

- 开机服务并行启动,各系统服务间的精确依赖

- 配置目录:/etc/systemd/system/

- 服务目录:/lib/systemd/system/

- 主要管理工具:systemctl

2.列出服务

# systemctl -t service

//列出启动的服务

 

# systemctl -t service --all

//列出所有的服务,包括没启动的

 

# systemctl stop 服务名称

//当前关闭,重启无效

 

# systemctl disable 服务名称

//永久关闭

 

# systemctl enable 服务名称

//开机自启

 

# systemctl start 服务名称

//当前立刻启动(重启无效)

 

# systemctl restart 服务名称

//重启服务

 

# systemctl status 服务名称

//查看某个服务的状态(是否启动)

 

 

 

 

 

 

3.管理运行级别(运行模式)

RHEL5 、 RHEL6   切换运行级别的命令

 

init  0 : 关机

 

init  1 : 单用户模式(破解密码、修复系统)

 

init  2 : 字符模式(不支持网络)

 

init  3 : 字符模式(支持网络)

 

init  4 : 无定义

 

init  5 : 图形模式

 

init  6 : 重起

 

RHEL7  运行模式

 

multi-user.target    字符模式(支持网络)

 

graphical.target     图形模式

 

临时切换运行模式

 

#临时直接切换到图形

[root@svr7 /]# systemctl isolate graphical.target 

 

#临时直接切换到字符(文本)

[root@svr7 /]# systemctl isolate multi-user.target

 

永久改变默认的运行模式

#查看当前默认的运行模式

[root@svr7 /]# systemctl get-default        

 

#修改默认的运行模式(文本)

[root@svr7 /]# systemctl set-default multi-user.target                                          

[root@svr7 /]# systemctl get-default

 

#修改默认的运行模式(图形)

[root@svr7 /]# systemctl set-default graphical.target

[root@svr7 /]# systemctl get-default

                                           

DAY2

一.新建教学环境

1.在真机上利用clone-vm7 产生新的虚拟机

[root@room9pc01 ~]# clone-vm7

Enter VM number: 3                 (创建第3台虚拟机)

 

[root@room9pc01 ~]# clone-auto7

Enter VM number: 4                  (创建4台虚拟机)

 

# ls -l /var/lib/libvirt/images/.rh7_template.img

-rw------- 1 qemu qemu 53695545344 1月  12 18:16 /var/lib/libvirt/images/.rh7_template.img

 

i权限:加上i权限,所有用户包括root都不能修改或删除该文件

#  查看是否有特殊权限

#  lsattr /var/lib/libvirt/images/.rh7_template.img

 

去除特殊权限  

#  chattr -i /var/lib/libvirt/images/.rh7_template.img  

 

#  chown qemu:qemu /var/lib/libvirt/images/.rh7_template.img

#  ls -l /var/lib/libvirt/images/.rh7_template.img

2.利用root 进入虚拟机   密码 123456

虚拟机A

1.配置eth0 永久静态的IP地址:192.168.4.7/24

2.配置永久主机名:svr7.tedu

[root@svr7 ~]# hostname svr7.tedu

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

 

虚拟机B

1.配置eth0 永久静态的IP地址:192.168.4.207/24

2.配置永久主机名:pc207.tedu

[root@pc207 ~]# hostname pc207.tedu

[root@pc207 ~]# echo pc207.tedu > /etc/hostname

 

3.在真机上配置远程管理的别名,进行远程管理(/root/.bashrc)

alias goa='ssh  -X root@192.168.4.7'

alias gob='ssh  -X root@192.168.4.207'

4.为虚拟机A与虚拟机B 搭建本地Yum仓库

虚拟机A

1.图形将光盘放入光驱设备

 

2.挂载光驱设备到/dvd

[root@svr7 ~]# mkdir /dvd

[root@svr7 ~]# ls /dvd

[root@svr7 ~]# mount /dev/cdrom /dvd

mount: /dev/sr0 写保护,将以只读方式挂载

[root@svr7 ~]# ls /dvd

 

3.书写配置文件 /etc/yum.repos.d/dvd.repo

[dvd]

name=rhel7

baseurl=file:///dvd

enabled=1

gpgcheck=0

[root@svr7 ~]#  yum repolist

5.检测防火墙是否关闭,SELinux状态

[root@svr7 ~]# getenforce

[root@svr7 ~]# systemctl status firewalld

 

 

 

 

 

 

 

二.DNS服务器搭建

1.DNS工作原理

1.1DNS服务器的功能

正向解析:根据注册的域名查找其对应的IP地址

反向解析:根据IP地址查找对应的注册域名,不常用

1.2DNS的分布结构

所有完整的域名都会以 . 结尾

 

根域   .

一级DNS服务器

      .us   .tw   .kr   .hk   .......

 

二级DNS服务器

        .edu

 

三级DNS服务器

.tedu   .haha   .xixi

 

完整的主机名

web1.tedu   tts.tedu

 

• Full Qualified Domain Name (FQDN),完全合格主机名

– = 站点名.域名后缀

– = 站点名. .. .. .二级域.一级域

比如,www.pku.edu

 

• 常见的顶级/一级域名

– 国家/地区域: 、.us、.kr、.hk、.tw、.. ..

– 组织域:、、.edu、、.gov、.mil、.. ..

 

 

2.BIND服务分析

2.1BIND域名服务

• BIND(Berkeley Internet Name Daemon)

– 伯克利 Internet 域名服务

– 官方站点:https://www.isc/

bind-9.9.4-29.el7.x86_64 //域名服务包

bind-chroot-9.9.4-29.el7.x86_64    //提供虚拟根支持

 

.BIND服务器端程序

– 主要执行程序:/usr/sbin/named

– 系统服务:named

– 默认端口:TCP/UDP 53

– 运行时的虚拟根环境:/var/named/chroot/

 

• 主配置文件: /etc/named.conf       #设置本机负责解析的域名是什么

• 地址库文件: /var/named/           #主机名与ip地址的对应关系

3.单区域DNS服务

搭建基本的DNS服务

 

服务端:虚拟机A

3.1安装软件包(bind bind-chroot)

[root@svr7 ~]# yum -y  install   bind    bind-chroot

3.2修改配置文件/etc/named.conf

[root@svr7 ~]# vim  /etc/named.conf

options {

directory "/var/named";       #指定地址库文件存放路径

};

zone   "tedu"  IN {         #指定本机负责解析的域名

type  master;                  #指定本机为权威主DNS服务器

file  "tedu.zone";          #指定地址库文件为tedu.zone

};

 

 

3.3检查配置语法

格式:

named-checkconf  [配置文件]   

[root@svr7 ~]# named-checkconf    [若配置正确,无任何输出]

 

3.4建立地址库文件tedu.zone

[root@svr7 ~]# cd /var/named/

[root@svr7 named]# cp -p named.localhost tedu.zone 

#权限属性不变拷贝

[root@svr7 named]# ls -l tedu.zone

-rw-r----- 1 root named 152 6月  21 2007 tedu.zone

 

[root@svr7 named]# vim  tedu.zone

 

[root@svr7 named]# tail -4 tedu.zone

tedu.  NS  ns1.tedu.    #域名可以随便定义   

                      #声明tedu.域名的DNS服务器为svr7.tedu.

svr7      A   192.168.4.7  #指定svr7.tedu.的ip地址为192.168.4.7

ns1       A   192.168.4.7

www       A   1.1.1.1      #前面不允许有空格

ftp       A   2.2.2.2

3.5重起named,设置开机自启动

[root@svr7 named]# systemctl restart named

[root@svr7 named]# systemctl enable named

3.6客户端检查

客户端:虚拟机B

方法1(临时配置

[root@pc207 ~]# echo nameserver 192.168.4.7 > /etc/resolv.conf

[root@pc207 ~]# nslookup www.tedu

 

方法2(永久配置

[root@pc207 ~]# nmcli connection modify eth0 ipv4.dns 192.168.4.7

[root@pc207 ~]# nslookup svr7.tedu

 

 

4.多区域DNS服务

虚拟机A

4.1修改配置文件/etc/named.conf

zone "qq" IN {

type master;

file "qq.zone";

};

 

4.2建立地址库文件

[root@svr7 /]# cd /var/named/

[root@svr7 named]# cp  -p  tedu.zone  qq.zone

[root@svr7 named]# vim  qq.zone

[root@svr7 named]# tail  -4  qq.zone

qq.  NS  svr7

svr7     A   192.168.4.7

www      A   3.3.3.3

ftp      A   4.4.4.4

4.3重起named服务

[root@svr7 named]# systemctl restart named

三.特殊的解析记录

1.基于DNS域名的负载均衡

[root@svr7 named]# vim qq.zone

[root@svr7 named]# tail -6 qq.zone

qq.  NS  svr7

svr7     A   192.168.4.7

www      A   192.168.4.11

www      A   192.168.4.12

www      A   192.168.4.13

ftp      A   4.4.4.4

2.泛域名解析

虚拟机A

[root@svr7 /]# cd /var/named/

[root@svr7 named]# vim qq.zone

qq.  NS  svr7

svr7     A   192.168.4.7

www      A   192.168.4.11

ftp      A   4.4.4.4

*        A   1.2.3.4

[root@svr7 /]# systemctl restart named

 

虚拟机B

[root@pc207 /]# nslookup  www.qq

[root@pc207 /]# nslookup  hahaxixi.qq

3.有规律的泛域名解析

web1.qq------》192.168.10.1

web2.qq------》192.168.10.2

web3.qq------》192.168.10.3

web4.qq------》192.168.10.4

......

web50.qq------》192.168.10.50

 

函数: $GENERATE  生成连续范围的数字

 

虚拟机A

[root@svr7 /]# cd /var/named/

[root@svr7 named]# vim qq.zone

qq.  NS  svr7

svr7     A   192.168.4.7

www      A   192.168.4.11

ftp      A   4.4.4.4

*        A   1.2.3.4

$GENERATE  1-50  web$   A   192.168.10.$

 

[root@svr7 named]# systemctl restart named

 

四.DNS的子域授权

 

父域         www.tedu       总公司

 

子域         www.bj.tedu    北京分公司

 

 

tedu域名由 svr7 服务器192.168.4.7

 

bj.tedu域名由 pc207 服务器 192.168.4.207

 

虚拟机B:搭建DNS负责解析bj.tedu域名

1.安装软件包

[root@pc207 ~]# yum -y  install   bind    bind-chroot

2.修改配置文件/etc/named.conf

options {

directory "/var/named";

};

zone   "bj.tedu"  IN {

type  master;

file  "bj.tedu.zone";

};

3.建立地址库文件bj.tedu.zone

[root@pc207 ~]# cd /var/named/

[root@pc207 named]# cp -p  named.localhost   bj.tedu.zone

[root@pc207 named]# vim   bj.tedu.zone

bj.tedu.  NS  pc207

pc207       A   192.168.4.207

www          A   11.12.13.14

4.重起named,设置开机自启动

[root@pc207 named]# systemctl restart named

[root@pc207 named]# systemctl enable named

[root@pc207 named]# nslookup  www.bj.tedu  192.168.4.207

 

实现目标1:询问svr7虚拟机A  www.bj.tedu 能够得到结果

虚拟机A:子域授权

[root@svr7 named]# cd /var/named

[root@svr7 named]# vim  tedu.zone   #指定子域的DNS服务器

tedu.    NS  svr7

bj.tedu. NS  pc207.bj

svr7        A   192.168.4.7

pc207.bj    A   192.168.4.207

www         A   1.1.1.1

ftp         A   2.2.2.2

[root@svr7 named]# systemctl restart named

 

[root@svr7 named]# nslookup  www.bj.tedu   192.168.4.7

Server:       192.168.4.7

Address:        192.168.4.7#53

 

Non-authoritative answer:    #非权威解答

Name:  www.bj.tedu

Address: 11.12.13.14

 

递归解析: 首选DNS服务器,跑到相应其他DNS服务器上,询问最终将结果带回来过程(客户端与首选DNS服务器交互)

 

 

迭代查询: 首选DNS服务器 与 其他DNS服务器交互

 

 

• 递归查询是默认开启的

– 也可以设置 recursion yes; 来明确启用

 

• 若要禁止递归

– 需要设置 recursion no;

 

缓存DNS

 

作用:加速解析过程,让客户端最快得到结果

 

 

• 方式1:全局转发

– 将请求转发给指定的公共DNS(其他缓存DNS),请求递归服务

 

 

• 方式2:根域迭代

– 依次向根、一级、二级......域的DNS服务器迭代

 

思路:真机作为缓存DNS服务器,虚拟机A作为客户端,真正的DNS为172.40.1.10

1.查看真机DNS服务器地址

[root@room9pc01 ~]# cat /etc/resolv.conf

nameserver  172.40.1.10

 

2.真机搭建Yum仓库

[root@room9pc01 ~]# mount /iso/CentOS-7-x86_64-DVD-1708.iso /dvd

mount: /dev/loop2 写保护,将以只读方式挂载

[root@room9pc01 ~]# ls /dvd

[root@room9pc01 ~]# vim /etc/yum.repos.d/nsd.repo

 

[CentOS]

name=CentOS 7.4

baseurl=file:///dvd

enabled=1

gpgcheck=0

 

[root@room9pc01 ~]# yum repolist

[root@room9pc01 ~]# yum -y install  bind  bind-chroot

[root@room9pc01 ~]# vim /etc/named.conf

options {

directory       "/var/named";

forwarders  {  172.40.1.10;  };

};

[root@room9pc01 ~]# systemctl restart named

客户端:虚拟机A

[root@svr7 /]# nslookup www.360 192.168.4.254

 

DAY3

检查两台虚拟机的Yum仓库

 

[root@svr7 ~]# yum clean all    #清空缓存

[root@svr7 ~]# yum repolist     #查看仓库信息

 

Split分离解析

 

什么是分离解析

• 当收到客户机的DNS查询请求的时候

– 能够区分客户机的来源地址

– 为不同类别的客户机提供不同的解析结果(IP地址)

– 当不同类别的客户机请求解析同一个域名时,得到的解析结果不同

 

– 意义:让客户端访问网络中最近的服务器

 

 

 

BIND的view视图

• 根据源地址集合将客户机分类

– 不同客户机获得不同结果(待遇有差别)

– 注意:客户机分类得当(所有的客户端都要找到对应的分类)

– 注意:由上到下匹配,匹配即停止

– 注意:所有的zone都必须在view字段里面

 

view   "nsd"    {

match-clients   {  192.168.4.207;  }   #匹配客户端的地址

zone "tedu"    {

...... 地址库1;

}; };

 

view   "abc"   {

match-clients  {   any;   }

zone "tedu"    {

...... 地址库2;

}; };

 

环境及需求

– 权威DNS:svr7.tedu 192.168.4.7

 

– 负责区域:tedu

– A记录分离解析 —— 以 www.tedu 为例

 

客户机来自 解析结果

192.168.4.207---------》 192.168.4.100

其他地址 ---------》 1.2.3.4

 

 

虚拟机A:

1.修改配置文件/etc/named.conf

view  "nsd"  {

match-clients   {   192.168.4.207;  };

zone  "tedu"  {

type  master;

file  "tedu.nsd";

};

};

view  "abc"  {

match-clients  {   any;  };

zone  "tedu"  {

type  master;

file  "tedu.abc";

};

};

2.建立地址库文件

[root@svr7 /]# tail  -3  /var/named/tedu.nsd

tedu.    NS  svr7

svr7        A   192.168.4.7

www         A   192.168.4.100

 

[root@svr7 /]# tail  -3  /var/named/tedu.abc

tedu.    NS  svr7

svr7        A   192.168.4.7

www         A   1.2.3.4

3.重起named服务

4.在虚拟机A与虚拟机B,分别测试解析

 

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

options {

directory       "/var/named";

};

acl myip { 192.168.4.207; 192.168.4.10;

192.168.4.1;  192.168.4.123; };

view "nsd" {

match-clients {   myip; };

zone "tedu" {

type master;

file "tedu.nsd";

};

};

view "abc" {

match-clients {  any;  };

zone "tedu" {

type master;

file "tedu.abc";

};

};

 

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

RAID磁盘阵列

 

• 廉价冗余磁盘阵列

– Redundant Arrays of Inexpensive Disks

– 通过硬件/软件技术,将多个较小/低速的磁盘整合成一

个大磁盘

– 阵列的价值:提升I/O效率、硬件级别的数据冗余

– 不同RAID级别的功能、特性各不相同

 

 

• RAID 0,条带模式

– 同一个文档分散存放在不同磁盘

– 并行写入以提高效率

– 至少2块磁盘

 

• RAID 1,镜像模式(有容错功能)

– 一个文档复制成多份,分别写入不同磁盘

– 多份拷贝提高可靠性,效率无提升

– 至少2块磁盘

 

• RAID5,高性价比模式(有容错功能)

– 相当于RAID0和RAID1的折中方案

– 需要至少一块磁盘的容量来存放校验数据

– 至少3块磁盘

 

• RAID6,高性价比/可靠模式(有容错功能)

– 相当于扩展的RAID5阵列,提供2份独立校验方案

– 需要至少两块磁盘的容量来存放校验数据

– 至少4块磁盘

 

• RAID 0+1/RAID 1+0 (有容错功能)

– 整合RAID 0、RAID 1的优势

– 并行存取提高效率、镜像写入提高可靠性

– 至少4块磁盘

 

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

进程管理

 

程序:静态的代码,占用硬盘

 

进程:动态的代码,占用cpu、内存

 

父进程   子进程   树型结构

 

进程的标识:PID

 

查看进程

 

• pstree — Processes Tree

– 格式:pstree [选项] [PID或用户名]

 

• 常用命令选项

– -a:显示完整的命令行

– -p:列出对应PID编号

 

systemd所有进程的父进程  PID 为1

 

[root@svr7 /]# pstree

 

[root@svr7 /]# pstree  lisi

 

[root@svr7 /]# pstree  -p  lisi

 

[root@svr7 /]# pstree  -ap  lisi

 

 

 

• ps aux 操作

– 列出正在运行的所有进程

 

用户  进程ID  %CPU  %内存  虚拟内存 固定内存  终端  状态  起始时间  CPU时间  程序指令

 

 

• ps -elf 操作

– 列出正在运行的所有进程

– 可以看到进程的父进程PID

 

 

 

 

• top 交互式工具

– 格式:top [-d 刷新秒数]

 

[root@svr7 ~]# top  -d  1

 

按大写的P  按CPU占有比例降序排列

按大写的M  按内存占有比例降序排列

 

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

 

检索进程

• pgrep — Process Grep

– 用途:pgrep [选项]... 查询条件

 

[root@svr7 ~]# pgrep cron

 

[root@svr7 ~]# pgrep -l cron

 

 

[root@svr7 ~]# pstree -ap lisi

 

[root@svr7 ~]# pgrep -lU lisi

 

 

[root@svr7 ~]# pgrep -l net

 

[root@svr7 ~]# pgrep -l system

 

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

进程的前后台调度

 

后台启动

– 在命令行末尾添加“&”符号,不占用当前终端

 

 

 

[root@svr7 ~]# sleep 800 &          #将程序放入后台运行

[root@svr7 ~]# jobs                 #查看后台进程

[root@svr7 ~]# sleep 700

^Z                          #按Ctrl + z  暂停放入后台

[2]+  已停止               sleep 700

[root@svr7 ~]# jobs             #查看后台进程

[1]-  运行中               sleep 800 &

[2]+  已停止               sleep 700

 

[root@svr7 ~]# bg 2             #将后台编号为2的进程继续运行

[root@svr7 ~]# jobs

 

[root@svr7 ~]# jobs

[1]-  运行中               sleep 800 &

[2]+  运行中               sleep 700 &

[root@svr7 ~]# fg 2             #将后台编号为2的进程恢复到前台

sleep 700

^C

[root@svr7 ~]# fg 1

sleep 800

^C

 

 

杀死进程

 

– kill    [-9]  PID...

– killall [-9]  进程名...

– pkill    关键字...

 

 

强制踢出一个用户

 

killall -9 -u  用户名       #杀死该用户开启的所有进程(用户由登陆变成未登陆)

 

 

[root@svr7 ~]# sleep 800 &

[root@svr7 ~]# sleep 900 &

[root@svr7 ~]# jobs -l

[root@svr7 ~]# killall sleep

[root@svr7 ~]# jobs -l

 

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

日志管理

 

日志的功能

• 系统和程序的“日记本”

– 记录系统、程序运行中发生的各种事件

– 通过查看日志,了解及排除故障

 

 

 

主要用途

/var/log/messages   记录内核消息、各种服务的公共消息

/var/log/dmesg      记录系统启动过程的各种消息

/var/log/cron       记录与cron计划任务相关的消息

/var/log/maillog    记录邮件收发相关的消息

/var/log/secure     记录与访问限制相关的安全消息

 

 

日志分析

 

tailf 实时跟踪日志消息

 

 

• users、who、w 命令

– 查看已登录的用户信息,详细度不同

 

 

• last、lastb 命令

– 查看最近登录成功/失败的用户信息

 

 

[root@svr7 ~]# users

 

[root@svr7 ~]# who

 

[root@svr7 ~]# w

 

[root@svr7 ~]# last  -2

 

[root@svr7 ~]# lastb -2

 

 

 

• Linux内核定义的事件紧急程度

– 分为 0~7 共8种优先级别

– 其数值越小,表示对应事件越紧急/重要

 

 

0  EMERG(紧急)     会导致主机系统不可用的情况

1  ALERT(警告)     必须马上采取措施解决的问题

2  CRIT(严重)      比较严重的情况

3  ERR(错误)        运行出现错误

4  WARNING(提醒)  可能会影响系统功能的事件

5  NOTICE(注意)    不会影响系统但值得注意

6  INFO(信息)       一般信息

7  DEBUG(调试)      程序或系统调试信息等

 

 

 

使用journalctl工具

• 提取由 systemd-journal 服务搜集的日志

– 主要包括内核/系统日志、服务日志

 

• 常见用法

– journalctl | grep 关键词

– journalctl -u 服务名 [-p 优先级]

– journalctl -n 消息条数

– journalctl --since="yyyy-mm-dd HH:MM:SS" --

until="yyyy-mm-dd HH:MM:SS"

 

 

 

[root@svr7 ~]# yum -y install httpd

[root@svr7 ~]# systemctl restart httpd

 

 

[root@svr7 ~]# journalctl -u httpd

 

[root@svr7 ~]# journalctl -u httpd  -p  6

 

 

 

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

 

 

DAY4

DHCP自动分配网络参数服务

 

• Dynamic Host Configuration Protocol

– 动态主机配置协议,由 IETF(Internet 网络工程师任

务小组)组织制定,用来简化主机地址分配管理

 

• 主要分配以下入网参数

– IP地址/子网掩码/广播地址

–  默认网关地址、DNS服务器地址

 

• DHCP工作过程以广播的方式进行,原理先到先得

 

 

• DHCP地址分配的四次会话

– DISCOVERY --> OFFER --> REQUEST -->ACK

 

• 服务端基本概念

– 租期:允许客户机租用IP地址的时间期限,单位为秒

– 作用域:分配给客户机的IP地址所在的网段

– 地址池:用来动态分配的IP地址的范围

 

-----注意:先在A虚拟机上操作

如果在B虚拟机上操作,需要将ip地址192.168.4.7 改为 192.168.4.207

 

先检查操作的虚拟机上是否有yum仓库,没有的先进行挂载

-yum clean all

-yum repolist

-mount /dev/cdrom /dvd

-yum repolist

 

一、搭建基本DHCP服务

1.安装dhcp包

[root@svr7 ~]# yum -y install dhcp

[root@svr7 ~]# rpm -q dhcp

 

2.修改配置文件 /etc/dhcp/dhcpd.conf

 

网段:代表的一群ip地址的集合

网络位不变,主机位都用0表示

 

末行模式     :r  /usr/share/doc/dhcp*/dhcpd.conf.example

 

[root@svr7 ~]# vim /etc/dhcp/dhcpd.conf

 

subnet  192.168.4.0  netmask  255.255.255.0  {  #指定分配的网段

range 192.168.4.10  192.168.4.100;           #指定的分配具体的ip地址范围

option domain-name-servers  8.8.8.8;         #指定dns地址

option routers  192.168.4.254;               #指定网关地址

}

 

3.重起dhcpd服务

systemctl restart dhcpd

 

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

网络装机的优势

• 规模化:同时装配多台主机

• 自动化:装系统、配置各种服务

• 远程实现:不需要光盘、U盘等物理安装介质

 

 

什么是PXE网络

• PXE,Pre-boot eXecution Environment

– 预启动执行环境,在操作系统之前运行

– 可用于远程安装

 

• 工作模式

– PXE client 集成在网卡的启动芯片中

– 当计算机引导时,从网卡芯片中把PXE client调入内存

执行,获取PXE server配置、显示菜单,根据用户选

择将远程引导程序下载到本机运行

 

• 需要哪些服务组件?

– DHCP服务,分配IP地址、定位引导程序

– TFTP服务,提供引导程序下载

– HTTP服务(或FTP/NFS),提供yum安装源

 

• 客户机应具备的条件

– 网卡芯片必须支持PXE协议

– 主板支持从网卡启动

 

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

搭建PXE网络装机服务器

 

一、配置dhcp服务pxe的设置

1.修改配置文件/etc/dhcp/dhcpd.conf

subnet 192.168.4.0 netmask 255.255.255.0 {

range 192.168.4.10 192.168.4.100;

option domain-name-servers 8.8.8.8;

option routers 192.168.4.254;

next-server   192.168.4.7;     #指定下一个服务器地址

filename   "pxelinux.0";       #指定到下一个服务器下载的文件名字

}

 

2.重起dhcpd服务

[root@svr7 ~]# systemctl restart dhcpd

 

 

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

pxelinux.0:网卡引导文件(安装说明书)二进制的文件,安装一个软件可以生成

 

二、搭建tftp服务

 

tftp:简单文件传输协议      端口:69

默认共享的路径:/var/lib/tftpboot

 

1.安装tftp-server

[root@svr7 ~]# yum -y install tftp-server

 

2.启动tftp服务

[root@svr7 ~]# systemctl restart tftp

[root@svr7 ~]# systemctl enable tftp

 

3.部署 pxelinux.0 引导文件

[root@svr7 ~]# yum provides  */pxelinux.0  #查询什么软件包产生pxelinux.0

[root@svr7 ~]# yum -y install  syslinux

 

[root@svr7 ~]# rpm -ql syslinux | grep pxelinux.0  #查询软件包安装清单

 

[root@svr7 ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

[root@svr7 ~]# ls /var/lib/tftpboot/

 

 

pxelinux.0 ------》 /var/lib/tftpboot/pxelinux.cfg/default

default------》vesamenu.c32、splash.png、vmlinuz、initrd.img

 

4.部署默认菜单文件

# mkdir /var/lib/tftpboot/pxelinux.cfg

 

# cp /dvd/isolinux/isolinux.cfg   /var/lib/tftpboot/pxelinux.cfg/default

 

# ls -l /var/lib/tftpboot/pxelinux.cfg/default

 

# chmod u+w /var/lib/tftpboot/pxelinux.cfg/default

 

# ls -l /var/lib/tftpboot/pxelinux.cfg/default

 

5.部署 图形的模块 与 背景图片

vesamenu.c32 :图形的模块

splash.png :背景图片

 

# cp  /dvd/isolinux/vesamenu.c32  /dvd/isolinux/splash.png   /var/lib/tftpboot/

 

# ls /var/lib/tftpboot/

 

6.部署启动内核与驱动程序

vmlinuz :启动内核

initrd.img :驱动程序

 

# cp /dvd/isolinux/vmlinuz /dvd/isolinux/initrd.img /var/lib/tftpboot/

 

# ls /var/lib/tftpboot/

initrd.img  pxelinux.cfg  vesamenu.c32

pxelinux.0  splash.png    vmlinuz

 

7.修改菜单文件

[root@svr7 ~]# vim  /var/lib/tftpboot/pxelinux.cfg/default

 

.........

default vesamenu.c32    #默认加载图形的模块

timeout 600             #读秒时间为60秒

........

menu background splash.png         #指定背景图片

menu title NSD1801 PXE Server !    #标题信息

 

......

label linux

menu label Install RHEL7        #显示菜单的内容

kernel vmlinuz                  #加载内核

append initrd=initrd.img        #加载驱动

 

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

初步测试:

新建一台全新的虚拟机,选择PXE网络引导安装,注意网络类型要选择 private1

 

如何更改虚拟机的菜单背景。

真机上传目录到虚拟机

[root@room9pc01 ~]# scp -r /root/桌面/tupian.zip root@192.168.4.7:/root/

root@192.168.4.7's password:

[root@sur7 ~]# ls

anaconda-ks.cfg  initial-setup-ks.cfg  tupian.zip  模板  图片  下载  桌面

bin              ks.cfg                公共        视频  文档  音乐

[root@sur7 ~]# unzip tupian.zip

[root@sur7 ~]# ls tupian

1.jpg  2.jpg  3.jpg  4.jpg  5.jpg  6.jpg  7.jpg

[root@sur7 ~]# rm -rf /var/lib/tftpboot/splash.png

[root@sur7 ~]# cp tupian/1.jpg /var/lib/tftpboot

[root@sur7 ~]# ls /var/lib/tftpboot

[root@sur7 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default

menu background 1.jpg

重新安装一个虚拟机(PXE)验证,如果想再更换菜单背景的话,需要再安装一个虚拟机进行验证,原来的就没有用了。

 

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

三、搭建httpd服务

 

1.安装httpd软件包

[root@svr7 ~]# yum -y install httpd

 

2.重起httpd服务,设置开机自启动

[root@svr7 ~]# systemctl restart httpd

[root@svr7 ~]# systemctl enable httpd

 

3.利用httpd服务共享光盘所有内容

[root@svr7 ~]# mkdir /var/www/html/rhel7

[root@svr7 ~]# mount /dev/cdrom  /var/www/html/rhel7

mount: /dev/sr0 写保护,将以只读方式挂载

[root@svr7 ~]# ls /var/www/html/rhel7

 

[root@svr7 ~]# firefox http://192.168.4.7/rhel7

 

 

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

四、配置无人值守安装,应答文件的生成

 

1.安装图形的工具,system-config-kickstart

[root@svr7 ~]# yum -y install system-config-kickstart

 

2.运行图形的工具

[root@svr7 ~]# system-config-kickstart

第一步  查看 软件包选择 是否可用

 

第二步  yum仓库的标识 必须为  [development]

[root@svr7 ~]# vim /etc/yum.repos.d/dvd.repo

 

[root@svr7 ~]# system-config-kickstart  #再一次运行,查看软件包的选择

 

进入Kickstart配置程序中操作

(a)基本配置 :默认语言设置为中文简体(不是固定的)

时区为Asia/Shanghai (不是固定的)

Root密码和确认密码为123456 (必须设,密码可以随意设)

勾上安装后重启和给root密码加密

(b)安装方法 :执行全新安装

HTTP 服务器:192.168.4.7(A虚拟机的ip)

目录:rhel7

(c)安装类型:点击安装新引导装载程序

(d)分区信息:主引导记录中点击清除主引导记录

分区中点击删除所有现存分区

磁盘标签点击初始化磁盘标签

然后在里面点击添加,挂载点为/ ,大小选项为使用磁盘上全部未用空间,格式化分区,

(e)网络配置: 添加网络设备 ,输入eth0

(f)防火墙配置:SELinux和安全级别都使用禁用

(g)软件包选择:勾选基本

(h)勾选使用解释程序:/bin/bash

在脚本中输入useradd lisi

echo 123456 | passwd --stdin lisi

然后保存在root里面即可。

[root@svr7 ~]# ls /root/ks.cfg

/root/ks.cfg

[root@svr7 ~]# vim /root/ks.cfg

 

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

五、利用httpd服务共享ks.cfg应答文件

 

[root@svr7 ~]# cp /root/ks.cfg   /var/www/html/

[root@svr7 ~]# ls /var/www/html/

 

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

六、修改默认菜单文件,指定ks.cfg应答文件

[root@svr7 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default

 

label linux

menu label Install RHEL7

kernel vmlinuz

append initrd=initrd.img  ks=http://192.168.4.7/ks.cfg

 

重新安装一个新的虚拟机进行测试

生成新虚拟机 : 勾上网络引导(PXE) -前进-前进-前进-选择网络一定要用虚拟网络 'private1'

 

 

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

七、总结

 

1.dhcp------》ip地址、next-server、filename

 

2.tftp------》pxelinux.0、pxelinux.cfg/default、vesamenu.c32、splash.png、vmlinuz、initrd.img、ks=http://192.168.4.7/ks.cfg

 

3.httpd------》http://192.168.4.7/rhel7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DAY5

rsync同步服务

 

• 命令用法

– rsync [选项...]  源目录    目标目录

 

• 同步与复制的差异

– 复制:完全拷贝源到目标

– 同步:增量拷贝,只传输变化过的数据

 

 

• rsync操作选项

– -n:测试同步过程,不做实际修改

– --delete:删除目标文件夹内多余的文档

– -a:归档模式,相当于-rlptgoD

– -v:显示详细操作信息

– -z:传输过程中启用压缩/解压

 

• 本地同步

– rsync [选项...]  本地目录1      本地目录2    //同步整个文件夹

– rsync [选项...]  本地目录1/    本地目录2    //只同步目录下的数据

 

虚拟机svr7:

[root@svr7 ~]# mkdir /dir1

[root@svr7 ~]# mkdir /nsd

[root@svr7 ~]# ls /dir1/

[root@svr7 ~]# ls /nsd/

[root@svr7 ~]# cp /etc/passwd /dir1/

[root@svr7 ~]# cp /etc/fstab  /dir1/

[root@svr7 ~]# ls /dir1/

[root@svr7 ~]# ls /nsd/

 

[root@svr7 ~]# rsync  -avz  /dir1/   /nsd/    #同步第一次

[root@svr7 ~]# ls /nsd/

 

[root@svr7 ~]# touch /dir1/a.txt

[root@svr7 ~]# rsync  -avz  /dir1/   /nsd/    #同步第二次

[root@svr7 ~]# ls /nsd/

 

[root@svr7 ~]# echo haha > /dir1/passwd

[root@svr7 ~]# rsync  -avz  /dir1/   /nsd/    #同步第三次

[root@svr7 ~]# cat /nsd/passwd

 

 

[root@svr7 ~]# ls /dir1/

[root@svr7 ~]# ls /nsd/

 

[root@svr7 ~]# touch /nsd/haxi.txt

 

[root@svr7 ~]# rsync -avz  --delete  /dir1/  /nsd/

[root@svr7 ~]# ls /dir1/

[root@svr7 ~]# ls /nsd/

 

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

不同主机之间的同步

rsync+SSH同步

 

• 与远程的 SSH目录保持同步

– 下行: rsync [...]   user@host:远程目录    本地目录

 

– 上行: rsync [...]   本地目录   user@host:远程目录

 

 

虚拟机svr7的/dir1目录 与 虚拟机pc207的/opt目录

 

虚拟机svr7:

 

[root@svr7 ~]# ls /dir1/

a.txt  fstab  passwd

[root@svr7 ~]# rsync -avz --delete /dir1/  root@192.168.4.207:/opt/

 

虚拟机pc207:

 

[root@pc207 ~]# ls  /opt

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

 

实时同步

虚拟机svr7的/dir1目录 与 虚拟机pc207的/opt目录

 

一、SSH无密码的验证,部署公私钥

虚拟机svr7

1.生成公私钥

[root@svr7 ~]# ssh-keygen        #一路回车

[root@svr7 ~]# ls /root/.ssh/

 

2.传递公钥

[root@svr7 ~]# ssh-copy-id root@192.168.4.207

 

3.验证

[root@svr7 ~]# ssh root@192.168.4.207

Last login: Wed Mar  7 10:07:17 2018 from 192.168.4.7

[root@pc207 ~]# exit

登出

Connection to 192.168.4.207 closed.

[root@svr7 ~]#

 

二、安装inotify-tools,监控目录内容的变化

 

1.真机找到inotify-tools-3.13.tar.gz

 

2.真机操作:上传 inotify-tools-3.13.tar.gz 虚拟机svr7

 

# scp /root/桌面/inotify-tools-3.13.tar.gz  root@192.168.4.7:/root/

 

3.虚拟机svr7安装 inotify-tools-3.13.tar.gz 工具

 

源码编译安装

 

• 主要优点

– 获得软件的最新版,及时修复bug

– 软件功能可按需选择/定制,有更多软件可供选择

– 源码包适用各种平台

 

rpm包   yum   rpm -ivh

 

 

gcc和make

源码包 ------------------> 可以执行文件--------->运行安装

 

 

步骤1:安装gcc和make开发工具

[root@svr7 /]# yum  -y  install  gcc   make

步骤2:tar解包,释放源代码至指定目录

# tar -xf /root/inotify-tools-3.13.tar.gz -C(大写) /opt/

步骤3:  ./configure 配置,指定安装目录/功能模块等选项

作用1: 检测系统是否安装了gcc

作用2: 指定安装目录/功能模块等选项

# cd  /opt/inotify-tools-3.13/

# ./configure

 

步骤4:make 编译,生成可执行的二进制程序文件

# cd  /opt/inotify-tools-3.13/

# make

步骤5:make install 安装,将编译好的文件复制到安装目录

# cd  /opt/inotify-tools-3.13/

# make install

 

[root@svr7 /]# inotifywait

No files specified to watch!

 

 

inotifywait [选项]  目标文件夹

 

• 常用命令选项

– -m,持续监控(捕获一个事件后不退出)

– -r,递归监控、包括子目录及文件

– -q,减少屏幕输出信息

– -e,指定监视的 modify、move、create、delete、attrib 等事件类别

 

三、目录内容变化,立即同步

 

书写Shell脚本

 

while 循环

 

while [条件]

do

循环重复执行的语句

done

 

 

[root@svr7 /]# vim  /root/rsync.sh

#!/bin/bash

while inotifywait -rqq /dir1/

do

rsync -az --delete /dir1/  root@192.168.4.207:/opt

done

 

 

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

 

DAY6  (cobbler)

一、解压cobbler.zip包,cobbler主程序、工具包等

 

[root@room9pc01 /]# ls /root/桌面/Cobbler/

cobbler_boot.tar.gz  cobbler_web.png  cobbler.zip

 

[root@room9pc01 /]# unzip /root/桌面/Cobbler/cobbler.zip -d /

 

[root@room9pc01 /]# ls  /cobbler

 

二、为真机搭建永久的本地的Yum仓库

1.挂载/iso/CentOS-7-x86_64-DVD-1708.iso

 

[root@room9pc01 ~]# mount /iso/CentOS-7-x86_64-DVD-1708.iso /dvd/

[root@room9pc01 ~]# ls  /dvd/

 

2.书写Yum客户端文件

 

[root@room9pc01 ~]# vim /etc/yum.repos.d/nsd.repo

[development]

name=dvd

baseurl=file:///dvd

enabled=1

gpgcheck=0

 

[root@room9pc01 ~]# yum repolist

 

3.为真机永久挂载/iso/CentOS-7-x86_64-DVD-1708.iso

 

默认的iso文件系统     : iso9660

默认的/dev/cdrom文件系统 : iso9660

 

/etc/rc.d/rc.local : 每次开机运行配置文件

 

[root@room9pc01 /]# ls -l /etc/rc.d/rc.local

[root@room9pc01 /]# vim /etc/rc.d/rc.local

 

mount /var/lib/libvirt/images/iso/CentOS-7-x86_64-DVD-1708.iso  /dvd

 

[root@room9pc01 /]# reboot   #重起系统验证

 

[root@room9pc01 /]# yum repolist

 

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

三、安装cobbler主程序、工具包等

 

[root@room9pc01 /]# yum -y install /cobbler/*.rpm

 

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

cobbler网络装机部署

 

1.安装软件 cobbler cobbler-web dhcp tftp-server pykickstart httpd

cobbler         #cobbler程序包

cobbler-web     #cobbler的web服务包

pykickstart     #cobbler检查kickstart语法错误

httpd           #Apache web服务

dhcp            #Dhcp服务

tftp-server     #tftp服务

 

2.配置cobbler

[root@svr7 /]# vim /etc/cobbler/settings

 

修改为  next_server:  192.168.4.254                #设置下一个服务器还为本机

将 server: 127.0.0.1 修改为  server: 192.168.4.254  #设置本机为cobbler服务器

 

将 manage_dhcp: 0  修改为 manage_dhcp: 1         #设置cobbler管理dhcp服务

将 pxe_just_once: 0  修改为 pxe_just_once: 1     #防止客户端重复安装操作系统

 

 

3.配置cobbler的dhcp

[root@svr7 /]# vim /etc/cobbler/dhcp.template

 

:%s /192.168.1/192.168.4/g                在末行模式下输入

 

 

[root@svr7 /]# vim /etc/sysconfig/dhcpd

DHCPDARGS=private1   表示dhcp将只在private1 网络接口上提供DHCP服务

 

 

4.绝对路径解压cobbler_boot.tar.gz    #众多的引导文件

 

[root@room9pc01 /]# tar -tf /root/桌面/Cobbler/cobbler_boot.tar.gz

[root@room9pc01 /]# tar -xPf /root/桌面/Cobbler/cobbler_boot.tar.gz

 

[root@room9pc01 /]# ls  /var/lib/cobbler/loaders/

 

5.启动相关服务

 

[root@svr7 /]# systemctl restart cobblerd

[root@svr7 /]# systemctl enable cobblerd

 

[root@svr7 /]# systemctl restart httpd

[root@svr7 /]# systemctl enable httpd

 

[root@svr7 /]# systemctl restart tftp

[root@svr7 /]# systemctl enable tftp

 

[root@svr7 /]# systemctl restart rsyncd

[root@svr7 /]# systemctl enable rsyncd

 

 

6.同步刷新cobbler配置

[root@svr7 /]# cobbler sync

[root@svr7 /]# firefox https://192.168.4.254/cobbler_web

 

 

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

cobbler import  --path=挂载点   --name=导入系统命名(随意起)

导入安装镜像数据

 

[root@room9pc01 ~]# mount /iso/rhel-server-7.4-x86_64-dvd.iso /dvd

mount: /dev/loop2 写保护,将以只读方式挂载

 

[root@room9pc01 /]# cobbler list   #查看有哪些系统

 

[root@room9pc01 /]# cobbler import --path=/dvd  --name=rhel7

 

 

[root@room9pc01 /]# mkdir /rhel6

[root@room9pc01 /]# mount /iso/rhel-server-6.7-x86_64-dvd.iso    /rhel6/

 

[root@room9pc01 /]# cobbler import --path=/rhel6  --name=RedHat6

 

 

cobbler导入的镜像放在:/var/www/cobbler/ks_mirror

 

[root@room9pc01 /]# cobbler profile report   #查看cobbler导入信息

 

[root@room9pc01 /]# killall  -9 dnsmasq  #虚拟化服务会干扰DHCP服务

 

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

 

默认kickstart文件存放位置:/var/lib/cobbler/kickstarts/

 

[root@cobbler ~]# cobbler list

 

修改kickstart文件:

[root@cobbler ~]# cobbler profile edit --name=CentOS7.4-A --kickstart=/var/lib/cobbler/kickstarts/CentOS-7.3-x86_64.cfg

 

 

[root@cobbler ~]# cobbler profile report

[root@cobbler ~]# cobbler sync

 

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

 

本文标签: 基础Linux