Linux操作系统概述(五)

第十三单元 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

猜你喜欢

转载自blog.csdn.net/King15229085063/article/details/83446833