技术流ken

运维拯救世界

DAY15: 课堂记录-cobbler自动化装机–技术流ken

数据库保存了那些信息

 

1.用户评论

2.保存了网页连接信息

3.保存了网页文章

4.保存了网页文章的分类信息

5.用户注册信息

6. 其他的一些组件信息

 

那些信息没被保存在数据库

 

  1. 图片
  2. 视频

 

部署cobbler服务器

 

1.准备环境

使用nat或者仅主机模式,不要使用桥接模式,方式获取的IP不是自己的

 

2. 配置yum源

[epel]
name=epel
enabled=1
gpgcheck=0
baseurl=https://mirrors.aliyun.com/epel/7/x86_64/

[centos]
name=centos base
enabled=1
gpgcheck=0
baseurl=http://mirrors.163.com/centos/7/os/x86_64/

 

3,下载相关的软件

[root@ken ~]# yum install httpd cobbler tftp-server xinetd syslinux dhcp pykickstart -y

 

4.启动tftp服务

[root@ken ~]# vim /etc/xinetd.d/tftp

disable = no

 

[root@ken ~]# systemctl restart xinetd

5. 配置dhcp服务

subnet 192.168.182.0 netmask 255.255.255.0 {
range 192.168.182.10 192.168.182.20;
default-lease-time 600;
max-lease-time 7200;
filename “pxelinux.0”;
}

 

[root@ken ~]# systemctl restart dhcpd

 

6. 启动httpd

[root@ken ~]# systemctl restart httpd

 

7. 启动cobbler

[root@ken ~]# systemctl restart cobblerd

 

8.cobbler检测

[root@ken ~]# cobbler check

 

9. 修改提示信息

 

1 : The ‘server’ field in /etc/cobbler/settings must be set to something other than localhost, or kickstarting features will not work. This should be a resolvable hostname or IP for the boot server as reachable by all machines that will use it.

 

把server指定的本地IP改为提供cobbler服务的IP地址

2 : For PXE to be functional, the ‘next_server’ field in /etc/cobbler/settings must be set to something other than 127.0.0.1, and should match the IP of the boot server on the PXE network.

把next_server指定的本地IP改为提供cobbler服务的IP地址

 

4 : enable and start rsyncd.service with systemctl

 

[root@ken ~]# systemctl restart rsyncd
[root@ken ~]# systemctl enable rsyncd
Created symlink from /etc/systemd/system/multi-user.target.wants/rsyncd.service to /usr/lib/systemd/system/rsyncd.service.

 

6 : The default password used by the sample templates for newly installed machines (default_password_crypted in /etc/cobbler/settings) is still set to ‘cobbler’ and should be changed, try: “openssl passwd -1 -salt ‘random-phrase-here’ ‘your-password-here'” to generate new one

[root@ken ~]# openssl passwd -1 -salt ‘123’ ‘123’
$1$123$nE5gIYTYiF1PIXVOFjQaW/

 

 

10. 重启cobbler并在此检测

[root@ken ~]# systemctl restart cobblerd
[root@ken ~]# cobbler check
The following are potential configuration items that you may want to fix:

1 : Some network boot-loaders are missing from /var/lib/cobbler/loaders, you may run ‘cobbler get-loaders’ to download them, or, if you only want to handle x86/x86_64 netbooting, you may ensure that you have installed a *recent* version of the syslinux package installed and can ignore this message entirely. Files in this directory, should you want to support all architectures, should include pxelinux.0, menu.c32, elilo.efi, and yaboot. The ‘cobbler get-loaders’ command is the easiest way to resolve these requirements.
2 : debmirror package is not installed, it will be required to manage debian deployments and repositories
3 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them

Restart cobblerd and then run ‘cobbler sync’ to apply changes.

 

11.同步

[root@ken ~]# cobbler sync
task started: 2019-05-24_104642_sync
task started (id=Sync, time=Fri May 24 10:46:42 2019)
running pre-sync triggers
cleaning trees
removing: /var/lib/tftpboot/grub/images
copying bootloaders
trying hardlink /usr/share/syslinux/pxelinux.0 -> /var/lib/tftpboot/pxelinux.0
trying hardlink /usr/share/syslinux/menu.c32 -> /var/lib/tftpboot/menu.c32
trying hardlink /usr/share/syslinux/memdisk -> /var/lib/tftpboot/memdisk
copying distros to tftpboot
copying images
generating PXE configuration files
generating PXE menu structure
rendering TFTPD files
generating /etc/xinetd.d/tftp
cleaning link caches
running post-sync triggers
running python triggers from /var/lib/cobbler/triggers/sync/post/*
running python trigger cobbler.modules.sync_post_restart_services
running shell triggers from /var/lib/cobbler/triggers/sync/post/*
running python triggers from /var/lib/cobbler/triggers/change/*
running python trigger cobbler.modules.manage_genders
running python trigger cobbler.modules.scm_track
running shell triggers from /var/lib/cobbler/triggers/change/*
*** TASK COMPLETE ***

 

12. 导入镜像

[root@ken ~]# cobbler import –path=/mnt –name=”centos7″
task started: 2019-05-24_104753_import
task started (id=Media import, time=Fri May 24 10:47:53 2019)
Found a candidate signature: breed=redhat, version=rhel6
Found a candidate signature: breed=redhat, version=rhel7
Found a matching signature: breed=redhat, version=rhel7
Adding distros from path /var/www/cobbler/ks_mirror/centos7:
creating new distro: centos7-x86_64
trying symlink: /var/www/cobbler/ks_mirror/centos7 -> /var/www/cobbler/links/centos7-x86_64
creating new profile: centos7-x86_64
associating repos
checking for rsync repo(s)
checking for rhn repo(s)
checking for yum repo(s)
starting descent into /var/www/cobbler/ks_mirror/centos7 for centos7-x86_64
processing repo at : /var/www/cobbler/ks_mirror/centos7
need to process repo/comps: /var/www/cobbler/ks_mirror/centos7
looking for /var/www/cobbler/ks_mirror/centos7/repodata/*comps*.xml
Keeping repodata as-is :/var/www/cobbler/ks_mirror/centos7/repodata
*** TASK COMPLETE ***

 

13.查看生成的distro

[root@ken ~]# cobbler distro list
centos7-x86_64

 

14.查看生成的profile

[root@ken ~]# cobbler profile list
centos7-x86_64

 

15.准备kickstart文件

[root@ken ~]# cp anaconda-ks.cfg /var/lib/cobbler/kickstarts/ks.cfg

 

16.编辑kickstart文件

url –url=http://192.168.182.128/cobbler/ks_mirror/centos7/

 

17.制作自己的profile

[root@ken ~]# cobbler profile add –distro=centos7-x86_64 –kickstart=/var/lib/cobbler/kickstarts/ks.cfg –name=”cent7_ken”

 

18. 删除默认的profile

[root@ken ~]# cobbler profile remove –name=centos7-x86_64
[root@ken ~]# cobbler profile list
cent7_ken

 

19.开启客户端进行验证

 

注意:

1.客户端模式需要与服务器模式一致

2. 内存最少3个G

 

 

cobbler实现单台服务器提供安装不同操作系统

 

第一步:关机重新挂载新的光盘(vmeare)

 

第二步:开启所有相关的服务

[root@ken ~]# systemctl restart httpd cobblerd xinetd dhcpd

 

第三步:在linux系统中挂载光盘

[root@ken ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only

 

第四步:导入一个新的镜像

[root@ken ~]# cobbler import –path=/mnt –name=”centos7.3″
task started: 2019-05-24_192206_import
task started (id=Media import, time=Fri May 24 19:22:06 2019)
Found a candidate signature: breed=redhat, version=rhel6
Found a candidate signature: breed=redhat, version=rhel7
Found a matching signature: breed=redhat, version=rhel7
Adding distros from path /var/www/cobbler/ks_mirror/centos7.3:
creating new distro: centos7.3-x86_64
trying symlink: /var/www/cobbler/ks_mirror/centos7.3 -> /var/www/cobbler/links/centos7.3-x86_64
creating new profile: centos7.3-x86_64
associating repos
checking for rsync repo(s)
checking for rhn repo(s)
checking for yum repo(s)
starting descent into /var/www/cobbler/ks_mirror/centos7.3 for centos7.3-x86_64
processing repo at : /var/www/cobbler/ks_mirror/centos7.3
need to process repo/comps: /var/www/cobbler/ks_mirror/centos7.3
looking for /var/www/cobbler/ks_mirror/centos7.3/repodata/*comps*.xml
Keeping repodata as-is :/var/www/cobbler/ks_mirror/centos7.3/repodata
*** TASK COMPLETE ***

 

第四步:查看生成的distro

[root@ken ~]# cobbler distro list
centos7-x86_64
centos7.3-x86_64

 

第五步:制作profile

[root@ken ~]# cobbler profile add –distro=centos7.3-x86_64 –kickstart=/var/lib/cobbler/kickstarts/ks.cfg –name=”centos7.3_ken”

 

第六步: 删除默认的profile

[root@ken ~]# cobbler profile list
cent7_ken
centos7.3-x86_64
centos7.3_ken
[root@ken ~]# cobbler profile remove –name=centos7.3-x86_64
[root@ken ~]# cobbler profile list
cent7_ken
centos7.3_ken

 

第七步:开启客户端进行验证

 

find详解

 

1.name: 指定文件名

例子1. 找到以ken结尾的文件

[root@ken ~]# find / -name “*ken”
/sys/firmware/dmi/entries/15-0/system_event_log/change_token
/etc/yum.repos.d/ken
/var/spool/mail/ken
/home/ken

 

例子2:找到包含ken的文件

[root@ken ~]# find / -name “*ken*” | head -3
/sys/bus/hid/drivers/kensington
/sys/devices/pci0000:00/0000:00:00.0/broken_parity_status
/sys/devices/pci0000:00/0000:00:01.0/broken_parity_status

 

2. perm:指定文件权限

例子1:找到所有644权限的文件

[root@ken ~]# find / -perm 644 | head -3
/boot/grub2/device.map
/boot/grub2/i386-pc/gcry_rmd160.mod
/boot/grub2/i386-pc/acpi.mod
[root@ken ~]# ls -l /boot/grub2/device.map
-rw-r–r–. 1 root root 64 Feb 26 22:25 /boot/grub2/device.map

 

例子2:模糊匹配644权限

[root@ken ~]# find / -perm -644 | head -3
/boot/efi
/boot/efi/EFI
/boot/efi/EFI/centos
[root@ken ~]# ls -l /boot/efi
total 0
drwxr-xr-x. 3 root root 20 Feb 26 22:21 EFI

 

3. user:指定属主

例子1:找到属主是ken的文件

[root@ken ~]# find /etc -user ken
[root@ken ~]# find / -user ken
find: ‘/proc/1672/task/1672/fd/6’: No such file or directory
find: ‘/proc/1672/task/1672/fdinfo/6’: No such file or directory
find: ‘/proc/1672/fd/5’: No such file or directory
find: ‘/proc/1672/fdinfo/5’: No such file or directory
/var/spool/mail/ken
[root@ken ~]# ls -l /var/spool/mail/ken
-rw-rw—- 1 ken mail 0 Mar 11 18:16 /var/spool/mail/ken

 

4.group:指定属组

例子1:

[root@ken ~]# ls -l /var/spool/mail/ken
-rw-rw—- 1 ken mail 0 Mar 11 18:16 /var/spool/mail/ken
[root@ken ~]# find / -group ken
find: ‘/proc/1709/task/1709/fd/6’: No such file or directory
find: ‘/proc/1709/task/1709/fdinfo/6’: No such file or directory
find: ‘/proc/1709/fd/5’: No such file or directory
find: ‘/proc/1709/fdinfo/5’: No such file or directory
/home/ken
/home/ken/.bash_logout
/home/ken/.bash_profile
/home/ken/.bashrc
/home/ken/.bash_history

[root@ken ~]# ls -l /home/ken -d
drwx—— 2 ken ken 83 Mar 11 18:16 /home/ken

 

5. nouser:指定无属主

例子1:

[root@ken ~]# useradd kenken

[root@ken ~]# touch test
[root@ken ~]# chown kenken: test
[root@ken ~]# userdel kenken
[root@ken ~]# find / -nouser
find: ‘/proc/1811/task/1811/fd/6’: No such file or directory
find: ‘/proc/1811/task/1811/fdinfo/6’: No such file or directory
find: ‘/proc/1811/fd/5’: No such file or directory
find: ‘/proc/1811/fdinfo/5’: No such file or directory
/root/test
/var/spool/mail/kenken
/home/kenken
/home/kenken/.bash_logout
/home/kenken/.bash_profile

 

6. nogroup:指定无属主

[root@ken ~]# find / -nogroup
find: ‘/proc/1848/task/1848/fd/6’: No such file or directory
find: ‘/proc/1848/task/1848/fdinfo/6’: No such file or directory
find: ‘/proc/1848/fd/5’: No such file or directory
find: ‘/proc/1848/fdinfo/5’: No such file or directory
/root/test
/home/kenken
/home/kenken/.bash_logout
/home/kenken/.bash_profile
/home/kenken/.bashrc

 

7.type:指定文件类型

例子1:找到所有的链接文件

[root@ken ~]# find / -type l | head -3
/dev/cdrom
/dev/snd/by-path/pci-0000:02:02.0
/dev/initctl
[root@ken ~]# ls -l /dev/cdrom
lrwxrwxrwx 1 root root 3 May 24 19:19 /dev/cdrom -> sr0
[root@ken ~]#

 

例子2: 找到所有普通文件

[root@ken ~]# find / -type f | head -3
/boot/grub2/device.map
/boot/grub2/i386-pc/gcry_rmd160.mod
/boot/grub2/i386-pc/acpi.mod
[root@ken ~]# ls -l /boot/grub2/device.map
-rw-r–r–. 1 root root 64 Feb 26 22:25 /boot/grub2/device.map
[root@ken ~]#

 

8. size:指定文件大小

例子1:找到大于100M的文件

[root@ken ~]# find / -size +100M
/proc/kcore
find: ‘/proc/2018/task/2018/fd/6’: No such file or directory
find: ‘/proc/2018/task/2018/fdinfo/6’: No such file or directory
find: ‘/proc/2018/fd/5’: No such file or directory
find: ‘/proc/2018/fdinfo/5’: No such file or directory
/sys/devices/pci0000:00/0000:00:0f.0/resource1_wc
/sys/devices/pci0000:00/0000:00:0f.0/resource1
/root/gitlab-ce-8.9.5-ce.0.el7.x86_64.rpm
^C
[root@ken ~]# ls -lh /root/gitlab-ce-8.9.5-ce.0.el7.x86_64.rpm
-rw-r–r– 1 root root 265M Nov 13 2018 /root/gitlab-ce-8.9.5-ce.0.el7.x86_64.rpm

 

9. mtime: 指文件修改时间,权限,属主,属组

例子1:找到文件修改时间一天以上的

[root@ken ~]# find / -mtime +1 | head -3
/boot
/boot/efi
/boot/efi/EFI
[root@ken ~]# stat /boot
File: ‘/boot’
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 801h/2049d Inode: 64 Links: 5
Access: (0555/dr-xr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-05-24 19:31:37.453000000 +0800
Modify: 2019-02-26 22:25:57.574000000 +0800
Change: 2019-03-14 18:49:48.066000000 +0800
Birth: –

 

10. atime:指定文件访问时间

[root@ken ~]# find / -atime +1 | head -3
/boot/grub2/device.map
/boot/grub2/i386-pc/gcry_rmd160.mod
/boot/grub2/i386-pc/acpi.mod
^C
[root@ken ~]# stat /boot/grub2/device.map
File: ‘/boot/grub2/device.map’
Size: 64 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 1572929 Links: 1
Access: (0644/-rw-r–r–) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-02-26 22:25:05.730000000 +0800
Modify: 2019-02-26 22:25:05.582000000 +0800
Change: 2019-02-26 22:25:05.582000000 +0800
Birth: –

 

11.ctime:指定文件内容

例子1:指定文件内容修改一天以上

[root@ken ~]# find / -ctime +1 | head -3
/boot
/boot/efi
/boot/efi/EFI
^C^
[root@ken ~]# stat /boot
File: ‘/boot’
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 801h/2049d Inode: 64 Links: 5
Access: (0555/dr-xr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-05-24 19:31:37.453000000 +0800
Modify: 2019-02-26 22:25:57.574000000 +0800
Change: 2019-03-14 18:49:48.066000000 +0800
Birth: –

 

12. exec: 执行命令

例子1:删除无属主的文件

[root@ken ~]# find / -nouser
find: ‘/proc/2395/task/2395/fd/6’: No such file or directory
find: ‘/proc/2395/task/2395/fdinfo/6’: No such file or directory
find: ‘/proc/2395/fd/5’: No such file or directory
find: ‘/proc/2395/fdinfo/5’: No such file or directory
/root/test
/var/spool/mail/kenken
/home/kenken
/home/kenken/.bash_logout
/home/kenken/.bash_profile
/home/kenken/.bashrc
[root@ken ~]# find / -nouser -exec rm -rf {} ;
find: missing argument to `-exec’
[root@ken ~]# find / -nouser -exec rm -rf {} \;
find: ‘/proc/2451/task/2451/fd/6’: No such file or directory
find: ‘/proc/2451/task/2451/fdinfo/6’: No such file or directory
find: ‘/proc/2451/fd/5’: No such file or directory
find: ‘/proc/2451/fdinfo/5’: No such file or directory
find: ‘/home/kenken’: No such file or directory
[root@ken ~]# find / -nouser
find: ‘/proc/2463/task/2463/fd/6’: No such file or directory
find: ‘/proc/2463/task/2463/fdinfo/6’: No such file or directory
find: ‘/proc/2463/fd/5’: No such file or directory
find: ‘/proc/2463/fdinfo/5’: No such file or directory

 

例子2:xargs

[root@ken ~]# touch {1..100}.txt
[root@ken ~]# powd
-bash: powd: command not found
[root@ken ~]# pwd
/root
[root@ken ~]# ls
100.txt 19.txt 28.txt 37.txt 46.txt 55.txt 64.txt 73.txt 82.txt 91.txt anaconda-ks.cfg
10.txt 1.txt 29.txt 38.txt 47.txt 56.txt 65.txt 74.txt 83.txt 92.txt a.out
11.txt 20.txt 2.txt 39.txt 48.txt 57.txt 66.txt 75.txt 84.txt 93.txt gitlab-ce-8.9.5-ce.0.el7.x86_64.rpm
12.txt 21.txt 30.txt 3.txt 49.txt 58.txt 67.txt 76.txt 85.txt 94.txt ken1
13.txt 22.txt 31.txt 40.txt 4.txt 59.txt 68.txt 77.txt 86.txt 95.txt
14.txt 23.txt 32.txt 41.txt 50.txt 5.txt 69.txt 78.txt 87.txt 96.txt
15.txt 24.txt 33.txt 42.txt 51.txt 60.txt 6.txt 79.txt 88.txt 97.txt
16.txt 25.txt 34.txt 43.txt 52.txt 61.txt 70.txt 7.txt 89.txt 98.txt
17.txt 26.txt 35.txt 44.txt 53.txt 62.txt 71.txt 80.txt 8.txt 99.txt
18.txt 27.txt 36.txt 45.txt 54.txt 63.txt 72.txt 81.txt 90.txt 9.txt
[root@ken ~]# find /root -name “*txt” | xargs rm -rf
[root@ken ~]# ls
anaconda-ks.cfg a.out gitlab-ce-8.9.5-ce.0.el7.x86_64.rpm ken1

 

13.find可以使用-a和-o或!

例子1:找到所有事普通文件并且权限是777

[root@ken ~]# find / -type f -a -perm 644 | head -3
/boot/grub2/device.map
/boot/grub2/i386-pc/gcry_rmd160.mod
/boot/grub2/i386-pc/acpi.mod
[root@ken ~]# ls -l /boot/grub2/device.map
-rw-r–r–. 1 root root 64 Feb 26 22:25 /boot/grub2/device.map

发表评论

电子邮件地址不会被公开。