RH134-RHEL7学习笔记

1 Automating Installation with Kickstart

linux系统安装过程中的人工选项会保存在/root/中,名称”anaconda-ks.cfg”,如果需要批量安装物理机,可以安装好一台后,将此文件替换为iso镜像中的ks文件,然后就不需要手动选择了。目前主要通过consle装刀片,没有dhcp这些环境,定制化iso比较可行。
可以用图形工具”system-config-kiskstar”和文本编辑器编写ks文件,带函数检查的文本编辑器“ksvalidator”.在系统安装选择界面按tab,参数输入”ks=cdrom:/dir/file”,即可选择不同的ks文件。
更大规模的自动化部署物理机,需要用到PXE和kickstart。cobber是一个linux环境下的集成PXE需要的dhcp、tftp服务器的一个自动化部署环境。

2 grep中使用正则表达式

^ $ . [] *

grep 参数

Option Function
-i use the regular expression provided,忽略大小写
-v display lines DO NOT contain matches
-r recursively to a group of file or directories,递归查询
-A 1 显示匹配行及后1行
-B 1 显示匹配行及前1行
-e 大量匹配规则

示例

1
2
3
4
5
grep -i 'cat' file
grep -i -v 'cat' file
grep -v '^[#;]' file
grep -e 'cat' -e 'dog' file
grep '^Apr 1 15:5[34].*ERROR' /var/log/messages | head -n 1

3 使用vim编辑文件

vim3中模式 command、insert/Replace、Ex
vimtutor ,1小时快速了解。
模式切换

key result
i switch to insert mode,and 光标移动到当前字符前一个
a switch to insert mode,光标移动到当前字符后一个
I 移动到当前行开头并进入插入模式
A 移动到当前行末尾,进入插入模式
R 进入替换模式
o 在当前行后,新起一行
O 在当前行前新起一行

移动,移动符前可加数字

key result
h left one
l right one
j down one line
k up one line
^ move to the begin of the line
$ move to the end of the line
gg move to the fist line of the document
G move to the last line of the document
w move to the beginning of next wold
b move to the beginning of previous word
) move cursor to the beginning of current or previous sentence
) move cursor to the beginning of next sentence
} begin next paragraph
{ begin previous paragraph

替换文本

c,change the word,cw\ciw\caw,change current word.cc,change current line.c$,change current to end.c^,change current to begin.r,command mode replace a letter.- change the case.

delete text

d,x.x delete the cursor letter.

Copy and Paste

y,p,
vim有10个粘贴版,从0-9,最近一次为0.要复制其中一次内容输入“1p,及粘贴上上次的复制内容。v模式下复制选定内容。

Visual Mode

ex mode替换文件
:%s/fox/firefox/g

4 scheduling future linux tasks

one-time tasks use at

1
2
3
4
5
6
7
8
echo "date >/tmp/data" | at now +3min
at -q x teatime tomorrow
> echo "date >/tmp/date"
>ctrl+d

atq #查看at任务
at -c id #查看任务详情
atrm id #删除任务

Scheduling recurring jobs with cron
cron have 6 ,minutes\hours\day-of-month\month\day-of-week\command

1
2
3
4
5
6
7
8
9
10
11
crontab -l
crontab -e
crontab -r
crontab filename
*/7 #每隔多久
0 9 2 2 * /usr/local/bin/yearly_bakcup #在每年2月2日9点执行备份
*/7 9-16 * Jul 5 echo "chime" #在每年jul的每个星期6,9-16点之间每隔7分钟执行echo
#ubuntu 开启cron日志
sudo vi /etc/rsyslog.d/50-default.conf
sudo service rsyslog restart
sudo service cron restart

5 管理linxu进程优先级 managing priority of linux processes

6 用ACL控制文件权限

getfacl file #显示文件的权限

7 Managing Selinux security

ls -Z
getenforce #显示当前selinux状态
getsebool -a

8 Connecting to Network-defined users and groups

9 adding disks,partitions,and file systems to a linux systems

fdisk\gdsiak\mkfs
mkswap /dev/sdb1
swapon /dev/sdb1

10 Managing Logical Volume Management(LVM) Storage

11 NFS

12 SMB

13 Controlling and Troubleshooting boot progress

redhat7 重置root密码
开机按r任意键,linux16行末加入rd.break

1
2
3
4
mount -oremount,rw /sysroot
chroot /sysroot
echo redhat | passwd --stdin root
touch /.autorelabel #selinux

14 Firewalld

15 review of total