第十三单元 kickstart自动安装脚本
1.yum install -y system-config-kickstart httpd
安装system-config-kickstart和httpd
2.system-config-kickstart
-
设置kickstart
-
vim ks.cfg
3.保存ks.cfg到/var/www/html
物理机:
vim creatvm.sh
sh creatvm.sh westos
第十四单元 系统延时任务和定时任务
1.系统延时任务
at 14:48 设定任务执行时间
at> rm -fr /mnt/* 任务动作
at> 用ctrl+D发起任务
at now+1min 延时1分钟
at> rm -fr /mnt/*
at>
at -l 查看任务列表
at -c 任务号 查看任务内容
at -r 任务号 取消任务
注意:
当任务有输出时,输出会以邮件形式发送给at任务的发起者
at now+1min
at> echo hello
at>
mail -u root 查看超级用户的邮件
1 查看第一封邮件
q 退出
/var/spool/mail/root 清空邮件
2.at任务的黑白名单
1)/etc/at.deny
黑名单,系统中默认存在,在此文件在出现的用户不能执行at
vim /etc/at.deny ,将用户student写入黑名单:
用户student不能执行at,但westos用户可以执行:
2)/etc/at.allow
白名单,系统中默认不存在,当文件出现时,普通用户不能执行at,只有在名单出现的用户才可以,并且/etc/at.deny失效
vim /etc/at.allow,将用户student写入白名单
此时黑名单失效,普通用户只有studnt可以执行at,westos用户不能执行:
3.系统的定时任务
1)crontab时间表示方式
* * * * * 每分钟
*/2 * * * * 每两分钟
*/2 09-17 * * * 早9点-晚5点每两分钟
*/2 */2 * * * 每隔2小时每两分钟
*/2 09-17 1 3,5 5 3月和5月每周周五和3月1日,5月1日,早9点-晚5点,每两分钟
*/2 09-17 * * 5 每周周五早9点-晚5点每两分钟
2)系统控制crontab的服务
crond.service 当程序开启时,定时任务生效
关闭服务后,定时任务失效:
再次重启服务,定时任务生效:
3)
crontab -e -u 编辑crontab
crontab -l -u 列出crontab
crontab -r -u 删除crontab
4)文件方式设定定时任务
vim /etc/cron.d/westos westos名称任意
* * * * * username action
* * * * * root rm -fr /mnt/*
非交互式:
echo “* * * * * root rm -fr /mnt/*” > /etc/cron.d/westos
cd /etc/cron.d
这种方式定义的crontab使用crontab -l看不到
定义crontab每分钟执行一次任务:
一分钟后任务执行:
5)crontab的黑白名单
/etc/cron.deny
黑名单,系统中默认存在,在此文件在出现的用户不能执行crontab
/etc/cron.allow
白名单,系统中默认不存在,当文件出现时,普通用户不能执行crontab,只有在名单出现的用户才可以,并且/etc/cron.deny失效
这两个名单都不会影响/etc/cron.d/目录下定时任务的发起和执行
* * * * * westos rm -fr /home/westos/*
4.系统中临时文件的管理方式
cd /usr/lib/tmpfiles.d
vim westos.conf
d /mnt/westos 777 root root 5s
systemd-tmpfiles --create /usr/lib/tmpfiles.d/* 读取目录里所有文件并按照其规则去建立
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/* 清理临时文件
第十五单元 linux系统中的磁盘管理
1.本地存储设备的识别
fdisk -l 真实存在的设备(不一定是系统识别的)
cat /proc/partitions 系统识别的设备
blkid 系统可以使用的设备
df 系统正在挂载的设备
2.设备的挂载与卸载
1)设备名称
/dev/xdx /dev/hd0 /dev/hd1 /dev/sda /dev/sdb /dev/sda1 /dev/sdb1
/dev/sr0 光驱
/dev/mapper/* 虚拟设备(用软件模拟出来的)
2)设备的挂载
mount 设备 挂载点
mount /dev/sdb1 /mnt 挂载sdb1到mnt
umount /dev/sdb1 | /mnt 卸载
mount 查看挂载信息
mount -o ro /dev/sdb1 /mnt 只读挂载
mount -o remount,rw /dev/sdb1 /mnt 重新读写挂载
3.解决设备正忙问题
[root@foundation10 mnt]# umount /mnt
umount: /mnt: target is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
解决方法1:
[root@foundation10 ~]# lsof /mnt
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
Output information may be incomplete.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 4572 root cwd DIR 8,17 12288 1 /mnt
kill -9 4572
umount /mnt
解决方法2:
fuser -vm /mnt 查看
fuser -kvm /mnt 查看并结束
[root@foundation10 ~]# fuser -vm /mnt
USER PID ACCESS COMMAND
/mnt: root kernel mount /mnt
root 4843 ..c.. bash
[root@foundation10 ~]# fuser -kvm /mnt
USER PID ACCESS COMMAND
/mnt: root kernel mount /mnt
root 4843 ..c.. bash
3.磁盘分区
1.fdisk -l
2.disk /dev/vdb
m 查看帮助
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition 删除
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types
m print this menu
n add a new partition 新建
o create a new empty DOS partition table
p print the partition table 显示分区信息
q quit without saving changes 退出
s create a new empty Sun disklabel
t change a partition's system id 修改分区id
u change display/entry units
v verify the partition table
w write table to disk and exit 保存
x extra functionality (experts only)
n 新建分区
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free) 主分区
e extended 扩展分区
Select (default p): p 主分区
Partition number (1-4, default 1): id用默认
First sector (2048-20971519, default 2048): 分区起始
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +500M 分区大小
Partition 1 of type Linux and of size 500 MiB is set
p 显示信息
Command (m for help): p
Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x150d4ea6
Device Boot Start End Blocks Id System
/dev/vdb1 2048 1026047 512000 83 Linux
当系统已经有三个分区时:
Command (m for help): n
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): 当有三个主分区时需要先划分扩展分区
Using default response e
Selected partition 4
First sector (3074048-20971519, default 3074048):
Using default value 3074048
Last sector, +sectors or +size{K,M,G} (3074048-20971519, default 20971519):
Using default value 20971519
Partition 4 of type Extended and of size 8.5 GiB is set
Command (m for help): p
Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x150d4ea6
Device Boot Start End Blocks Id System
/dev/vdb1 2048 1026047 512000 83 Linux
/dev/vdb2 1026048 2050047 512000 83 Linux
/dev/vdb3 2050048 3074047 512000 83 Linux
/dev/vdb4 3074048 20971519 8948736 5 Extended
把所有剩余空间都给扩展分区
4.给设备安装文件系统
mkfs.xfs /dev/vdb1
mount /dev/vdb1 /mnt
vim /etc/fstab
设备 挂载点 文件系统 挂载参数 是否备份 是否检测
/dev/vdb1 /mnt xfs defaults 0 0
mount -a
重启后自动挂载:
5.swap分区管理
1)swap分区建立
划分分区并设定分区标签为82
mkswap /dev/vdb6
swapon -a /dev/vdb6
swapon -s
Filename Type Size Used Priority
/dev/vdb6 partition 511996 0-1
vim /etc/fstab
设备 挂载点 文件系统 挂载参数 是否备份 是否检测
/dev/vdb6 swap swap defaults 0 0
2)swap分区删除
vim /etc/fstab
swapoff -a /dev/vdb6
swapon -s
6.配额
分区,格式化
mkdir /public
chmod 777 /public
mount -o usrquota /dev/vdb7 /public
edquota -u student
Disk quotas for user student (uid 1000):
Filesystem blocks soft hard inodes soft hard
/dev/vdb7 0 0 20 0 0 0
vim /etc/fstab
设备 挂载点 文件系统 挂载参数 是否备份 是否检测
/dev/vdb7 /public xfs defaults,usquota 0 0
测试:
[student@server ~]$ dd if=/dev/zero of=/public/studentfile bs=1M count=500
7.磁盘加密
分区
cryptsetup luksFormat /dev/vdb8
YES
cryptsetup open /dev/vdb8 westos
mkfs.xfs /dev/mapper/westos
mount /dev/mapper/westos /mnt/
touch /mnt/file{1…10}
umount /mnt/
cryptsetup close westos 关闭之后,/dev/mapper/westos文件消失,挂载原始设备也不能查看其中的内容
查看内容需重新开启:
cryptsetup open /dev/vdb8 linux
mount /dev/mapper/linux /mnt