持续更新中….
1.1 忘记root密码(进入单用户模式)
1.2 进急救模式
1.3 配置IP地址
1.4 配置主机名
1.5 扫描磁盘、磁盘分区、挂载分区
1.6 LVM卷组管理
1.7 分区的扩展和收缩
1.8 VNC设置
1.9 定时设置
我这里都以RHEL6系统来做配置,有些比较不一样的配置也会加上RHEL7。
2.1 忘记root密码(进入单用户模式)
这种事情不会经常发生,但是是必须要会的技能。
RHEL7之前的系统都比较简单,RHEL7之后有些变化。
RHEL6:
step1:开机加载后,按任意键,进入启动菜单栏
step2:进入后看菜单栏下面的文字说明。按字母e可以编辑启动前的菜单命令。
step3:按e后,进入菜单编辑状态,按上下键,把光标移到第二行,再按e
step4:在命令最后加上1或者字母single,都表示单用户,回车
step5:按字母b进行启动(注意,这里不是回车)
step6:确定是否是单用户模式
启动完全后,会直接进入系统,不会有输入密码等提示。
可以输入runlevel查看系统级别:
#runlevel
N S
或者
#runlevel
1 S
都说明现在的系统是单用户模式。
然后就可以使用passwd命令修改系统密码。
RHEL7进入单用户模式:
进入编辑命令前的步骤都一样,只是修改的内容不一样.
找到以”linux16″为开头的一句配置,把配置中的ro改成”rw init=/sysroot/bin/sh”,完成之后按 “Ctrl+x”启动。
修改后的
启动后,还需要执行chroot才能执行一些命令:
chroot /sysroot/
passwd root
由于selinux开启着的需要执行以下命令更新系统信息,否则重启之后密码未生效
#cat /etc/sysconfig/selinux
SELINUX=enforcing
#touch /.autorelabel
重启系统
exec /sbin/reboot
2.2 进急救模式(rescue mode)
进急救模式,需要用到系统光盘进行启动。
一般是比较严重的问题才需要进急救模式。
比如分区表损坏、GRUB引导损坏、系统内核文件丢失、boot分区损坏等,都需要进急救模式进行操作。
这里模拟GRUB损坏来介绍急救模式的使用。
登录系统,用dd命令破坏引导信息:
#dd if=/dev/zero of=/dev/sda bs=446 count=1
然后重启系统,会找不到引导信息,报错
FATAL: No boottable medium found! System halted.
插入系统光盘,用光盘引导进入急救模式。
选择“Rescue installed system”进入急救模式。
bash-4.1# chroot /mnt/sysimage
sh-4.1# grub
grub > root (hd0,0)
grub > setup (hd0)
grub > quit
重启系统,引导恢复正常。
2.3 配置IP地址
可以使用命令ip或ifconfig来配置,也可以直接修改配置文件来进行配置IP。
1 2 |
|
不过这两种方法,只要系统一重启就可能失效,所以还是推荐直接编辑网卡配置文件进行配置
#vim /etc/sysconfig/network-scripts/ifcfg-eth0
1 2 3 4 5 6 |
|
2.4 配置主机名
也是可以使用命令和修改文件来配置
#hostname 主机名
这种重启就会失效
所以也是推荐修改文件来配置
#vim /etc/sysconfig/network
HOSTNAME=主机名
2.5 扫描磁盘、磁盘分区、挂载分区
扫描磁盘:
不重启系统识别新添加的磁盘
1 2 3 |
|
磁盘分区:
常用分区的两个分区命令:fdisk、parted
常用的两种分区格式:MBR、GPT
fdisk支持MBR分区格式,MBR分区格式支持最多4个主分区,或者3个主分区+1个扩展分区(1个扩展分区再分逻辑分区),MBR分区最多支持2TB的磁盘
parted支持MBR和GPT分区格式。GPT突破了2TB分区的限制,最大支持18EB的分区。
所以如果分区超过2TB,就要使用parted来进行分区。
fdisk命令:
#fdisk -l
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
可以看出,有两个磁盘,一个sda,一个sdb
sda已经有三个分区,其中sda3分区格式为swap,是交换分区。
# df -h
1 2 3 4 |
|
sdb未进行分区。
对sdb进行分区并格式,然后挂载。
#fdisk /dev/sdb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
|
分区后还不能使用,需要格式化后
# mkfs.ext4 /dev/sdb1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
格式化后,挂载到某个目录上,才能正常使用。
# mount /dev/sdb1 /mnt
# df -h
1 2 3 4 5 |
|
parted命令:
parted可以使用交互模式操作,也可以使用非交互模式。
交互模式:
# parted /dev/sdb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
|
格式化,并挂载
# mkfs.ext4 /dev/sdb1
# mount /dev/sdb1 /mnt
# df -h
1 2 3 4 5 |
|
非交互模式:
parted可以使用一句命令直接创建完成。
#parted -s /dev/sdb mklabel gpt mkpart 1 ext3 1 100%
2.6 LVM卷组管理
LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。
由于LVM有快照功能,可在线扩展磁盘等特点,在生产系统中,特别是业务分区,一般都是用LVM来进行分区。
基本的逻辑卷管理概念:
PV(Physical Volume)- 物理卷
物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘,也可以是raid设备。
VG(Volumne Group)- 卷组
卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。
LV(Logical Volume)- 逻辑卷
逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组。
创建命令:
先使磁盘PV化
# pvcreate /dev/sdb1
使用PV化的磁盘创建VG组
# vgcreate vg00 /dev/sdb1
在创建的VG组中创建LV分区
# lvcreate -L 10G -n lv00 vg00
格式化分区
# mkfs.ext4 /dev/vg00/lv00
2.7 分区的扩展和收缩
fdisk可以扩展分区,但不能收缩分区。
parted可以扩展和收缩分区。
不过fdisk和parted扩展收缩分区都有很大限制。
要对磁盘扩展和收缩,使用LVM是比较方便的一种方法。
fdisk分区扩展:
可以通过修改结束柱面的大小来进行扩展分区。不过前提是要扩展的分区后面要有未分配的空间可以使用。
parted分区扩展:
使用resize指令可以更改指定分区的大小。
但要使用parted中的resize功能,需要是parted中的mkfs命令格式化后的分区。使用系统中的mkfs.ext3等格式化命令后,不能再使用resize功能进行修改操作。
用系统中自带的命令mkfs.ext3格式化再想调整分区,会出错:
File system has an incompatible feature enabled
如果先用parted中mkfs格式化成ext2格式,再用tune2fs -j /dev/sdb1转化成ext3格式,回到parted中,还是可以用resize的调整分区大小。
不过不提倡使用这种方法。
2.8 VNC设置
VNC服务可能主要是用来安装Oracle时使用。
redhat上有两个vnc软件:
一个是tigervnc,这个命令行的工具,一般都用这个;
一个是vino,这个是图形工具里面的“共享桌面”
安装tigervnc:
#yum install vnc-server
临时开启服务:(这种启用服务重启后会失效)
哪个用户要启用vnc,就要登录哪个用户执行此命令
第一次执行会提示设置密码
#vncserver
长久开启:
登录要启用VNC远程连接的用户,设置密码:
#vncpasswd
修改配置:
# vim /etc/sysconfig/vncservers
1 2 3 |
|
修改最后两个配置
1 2 |
|
2.9 定时任务
Linux定时任务,一般都是使用crontab工具来完成。
我们可以通过crontab -e命令来配置当前用户的定时任务。保存后,会在/var/spool/cron/生成相应的文件。
还可以在/etc/cron.d、/etc/cron.daily、/etc/cron.hourly、/etc/cron.monthly中配置定时任务。
crontab格式:
* * * * * 要执行的脚本或者命令
第1列分钟1~59
第2列小时1~23(0表示子夜)
第3列日1~31
第4列月1~12
第5列星期0~6(0表示星期天)
第6列要运行的命令
记住“分时日月周”即可。
一些定时执行的例子:
每10分钟重启apache
*/10 * * * * /usr/local/apache/bin/apachectl restart
每晚的21:30重启apache
30 21 * * * /usr/local/apache/bin/apachectl restart
每月1、10、22日的4 : 45重启apache
45 4 1,10,22 * * /usr/local/apache/bin/apachectl restart
每周六、周日的1 : 10重启apache
10 1 * * 6,0 /usr/local/apache/bin/apachectl restart
每天18 : 00至23 : 00之间每隔30分钟重启apache
0,30 18-23 * * * /usr/local/apache/bin/apachectl restart
每星期六的11 : 00 pm重启apache
0 23 * * 6 /usr/local/apache/bin/apachectl restart
每一小时重启apache
* */1 * * * /usr/local/apache/bin/apachectl restart
晚上11点到早上7点之间,每隔一小时重启apache
* 23-7/1 * * * /usr/local/apache/bin/apachectl restart
每月的4号与每周一到周三的11点重启apache
0 11 4 * mon-wed /usr/local/apache/bin/apachectl restart
一月一号的4点重启apache
0 4 1 jan * /usr/local/apache/bin/apachectl restart
注意:用crontab定时执行任务时,其中命令或者目录地址最好使用绝对路径,因为crontab中获取不到很多环境变量。当你手动执行脚本没问题,但是放在定时任务中就没办法执行,一般都是路径的问题。
更多文章见我个人网站:http://haibing.org