linux常用系统管理经验谈
配额方案:
1. 编辑/etc/fstab, 用usrquota代替defaults, 然后执行 mount –o remount /home
2. 创建一个用于保存用户配额的数据库(-c 可以在第一次运行quotacheck时隐藏警告)
touch /home/aquots.user
quotacheck –c /home
3. 打开内核强制配额
quotaon /home
4. 设置EDITOR变量为你希望的文本编辑器
5. edquota filehog 设置硬节点限制为100,软节点限制为60
6. edquota diskhog 设置软块限制为4096,硬块限制为5120
Lab 5 静态网络设置
目标: 手动配置网络设置的技巧
步骤一: 设置IP地址
1. 使用ifdown命令关闭网卡
ifdown eth0
2. 用文本编辑器打开/etc/sysconfig/network-scripts/ifcfg-eth0, 按以下内容更改(x为你的座位号)
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.0.x
NETMASK=255.255.255.0
GATEWAY=192.168.0.254
3. 查看/etc/resolv.conf的内容.里面应该包含从DHCP服务器得到的设置.如果没有.改为以下设置:
search example.com
nameserver 192.168.0.254
4. 使用ifup启动配置好的网卡
ifup eth0
5. 使用ping server1 确认网络配置
6. 重启动系统,使用ping server1 确认网络配置
Lab 6 系统管理工具
目标: 掌握系统管理工具的使用以及对CUPS的管理
步骤一: 使用at和cron
1. 设置一个提示,提醒今天中午12:00去吃午餐. 在root提示符下.使用以下命令:
at noon; (回车)
echo “Time for lunch with Joe.” (回车)
2. 使用atq命令检查任务队列,确认
3. 使用at命令在5分钟后运行 df –k命令
4. 设置今天每10分钟检查一次系统状态用于检查性能问题.你怀疑时内存或者IO问题,所以要进行相关的监控. 使用root帐户,并使用crontab –e 命令编辑cron文件
5. 在文件种加入以下行:
*/10 8-17 * * * /usr/bin/free; /usr/bin/iostat
6. 如何把来自cron的输出到一个邮件地址?
7. 以root身份使用pine,mail或mutt检查使用受到了来自at和cron任务的邮件
8. 成功后删除cron任务
步骤二: 日志记录到一个集中的位置
这个实验需要和相邻计算机的配合.
1. 首先设置syslogd接受远程消息. 编辑/etc/sysconfig/syslog文件:
SYSLOGD_OPTIONS=”-R –M 0”
2. 重启动syslogd:
service syslog restart
3. 设置syslogd把消息发向远程机器: 在/etc/syslog.conf文件种增加以下行:
user.* @stationx
4. 重启动syslogd:
service syslog restart
5. 使用logger命令生成syslog消息,测试设置:
logger –i –t yourname “this is a test”
这条消息是否出现在相邻机器的/var/log/messages文件中?
步骤三: 使用dump/restore恢复单个文件
1. 准备用dump备份/boot目录下的文件. 使用df /boot查看/boot所在的设备(以下假设为/dev/hda1)
2. 首先确认备份需要的空间. 查看一个0级备份需要的字节数,使用 -S
# dump -oS /dev/hda1
3. 备份到文件而非磁带. 确认在/var/tmp目录是否有足够的空间,执行
# dump -0u –f /var/tmp/dumpfile /dev/hda1
4. 检查/etc/dumpdates,查看完全备份的时间戳.
5. 使用restore检查备份文件的内容
# restore –tf /var/tmp/dumpfile
6. 我们可以使用restore的互动模式恢复特定文件到一个临时目录.
# mkdir /tmp/restored; cd /tmp/restored
# restore –if /var/tmp/dumpfile
7. 这时会看到一个restore > 提示符. 键入help查看可用命令的列表. 使用ls和cd命令查看备份文件的列表.
8. 使用add,选中/grub.menu.1st和/grub/grub.conf文件.列出所在目录,恢复的文件应该带有星号.
9. 键入extract命令恢复选中的文件.设置下个卷名为1, 不为解压目录设置所有者模式. quit退出restore模式.
10. 在restore运行的目录中应该有一个grub目录,包含恢复的grub.conf和menu.1st文件.
步骤四: 设置打印机,使用CUPS管理打印机.
1. 使用root帐户运行redhat-config-printer
2. 选择新建,回车
3. 在队列名称位置输入lp0
4. 选择队列类型为本地打印设备
5. 选择下一步,回车
6. 选择/dev/lp0,选择下一步
7. 选择postscript printer, 选择下一步
8. 当出现创建新队列:名称和类型画面时,选择结束,回车
9. 选择退出,回车.将询问是否保存.选择是.
10. 键入命令: cd 并键入 lpr < install.log
11. 键入命令: lpq (将会看到一个由root激活的打印任务,任务号为1)
12. 键入命令: lprm 1 删除任务
13. 键入命令: lpq (将会看到任务已经删除)
Lab 7 RPM和Kickstart
步骤一: kickstart安装
安装前阅读排故的建议
1. 编辑 /root/anaconda-ks.cfg文件,在开头加入以下行
nfs --server server1.example.com --dir /var/ftp/pub
使用以下分区方案:
clearpart --all
part / --fstype ext3 –size=256
part /boot –fstype ext3 --size=100
part /tmp –fstype ext3 --size=128
part /usr –fstype ext3 --size=2800
part /var –fstype ext3 --size=400
part /home –fstype ext3 --size=128
part swap –size=512
在%post部分增加以下内容作为一行
perl –pi –e ‘s, Welcome to %n, My kickstart system %n,’ /etc/X11/gdm/gdm.conf
2. 保存anaconda-ks.cfg文件为ks.cfg.复制到软盘
3. 用光盘或其他启动介质重启动系统, 把kickstart软盘放在软驱中
4. 当出现boot提示符时 输入linux ks=floppy 如果软盘有错系统会提示修正.
使用这个系统进行后面的实验.
排故建议:
如果安装过程中提示配置语言或者键盘,是因为ks.cfg中缺少对应的行.
如果出现Disk Druid, 说明分区配置不对.确定有足够的硬盘空间,并且分区配置包括swap分区.
Phython编译器在出错时会大量溢出信息.使用<Shift><Page Up>和<Shift><Page Down>仔细检查,即使对Phython不熟悉也会找到出错原因.
在%post部分之外的错误往往会在覆盖现有系统之前出现.可以重启动系统并修改ks.cfg文件.启动时用linux 1进入单用户模式可以加快启动速度.
步骤二 安装
Lab10 系统恢复和排故
目标:掌握排故过程中的技巧
1. 使用RPM查询以下请求:
initscripts包中有那些文件?
Bash包由哪一台主机创建?
pam包在安装后是否更改过?
哪个包名称中包含gnome?
哪个包生成了/etc/inittab文件?
哪个包生成了/etc/fstab文件?为什么?
你的内核的版本更新记录的最后一条记录是什么?
以下命令有什么差异?
rpm –ivh <package file>
rpm –Uvh <package file>
rpm –F <package file>
2. 练习检查光盘或server1上的RPM包的签名和完整性
使用 rpm –import 把Red Hat 的GPG导入系统
gpg --import /usr/share/rhn/RPM-GPG-KEY
rpm --import /usr/share/rhn/RPM-GPG-KEY
下面的命令将把包中的私钥和安装的公钥比较,确定包在创建后是否改变过
rpm -K <RPM package file>
3. 验证.
从ftp://server1.example.com/pub 安装可用的更新.注意,如果要复制到本地安装则要有足够的空间,在对内核进行更新时要使用安装而非更新命令.
删除Red Hat的公钥(使用 man gpg查看方法), 用Red Hat,Inc(security@redhat.com)创建假公钥, 然后使用rpm -K查看当密钥不一致时的情况.
步骤三: 自动解析依存性
开始前, 确认以下包没有安装:
rpmdb-redhat
xsane
sane-backends
可用的文件包在加载NFS共享server1.example.com:/var/ftp/pub后找到,位于RedHat/RPMS
1. 观察没有自动解析的情况: 从共享位置安装xsane包.会出现类似提示:
error: Failed denpendencies:
libsane.so.1 is needed by xsane-0.89-3
不要试图完成安装.
2. 使用rpmdb-redhat. 安装rpmdb-redhat包,再次试图安装xsane包.这次仍然会失败,但是会给出有用的信息:
Suggested resolutions:
sane-backends-1.0.9-5.i386.rpm
3. aid. 在RPMS目录下使用rpm –ivh --aid xsane-0.*.rpm
sane-backends将被自动加载以满足依存性
注意,因为安装包和依存的包在同一目录,所以不需要指明rpm安装的方法
步骤四: GRUB
1. 重启动进入GRUB界面.如果在grub.conf文件中设置了timeout选项,可以看到画面下方的倒数.
2. 在倒数结束之前,按方向键停止计数
3. 注意显示下方的提示.使用上下键选择启动的内核,按e选择编辑grub.conf的内容.
4. 根据下方的提示,使用上下键选择有kernel字样的行并按e编辑
5. 现在进入了GRUB编辑模式.输入空格,s 然后回车.可以看到返回了前一画面,kernel行多出了文本s.如果不想保存更改,可以按ESC返回前一画面
6. 按b使用更改选项启动.在上例中将进入单用户模式(single user)
7. 重启后检查grub.conf文件.你将发现所作的更改没有保存在文件中
8. 重复以上步骤, 试验其他runlevel
Lab 8 逻辑卷和阵列
目标: 在安装后创建逻辑卷和阵列的技巧
步骤一: 使用LVM创建逻辑卷
1. 使用fdisk在未分区空间创建四个新分区,类型为Linux LVM (0x8e), 尺寸一样,为了加快速度,不要大于1G. 退出时使用w保存更改.不要重启动.
2. 编辑/etc/modules.conf中包含以下行(RHEL 可以不用做以下修改):
alias block-major-58 lvm-mod
alias char-major-109 lvm-mod
使用当前内核创建initrd
mkinintrd –f –v /boot/initrd-$(uname –r).img $(uname –r)
这个命令将使系统在启动时加载lvm-mod模块,启用LVM
3. 重启动系统
4. 用root登录, 运行vgscan初始化LVM配置文件
5. 使用pvcreate将LVM分区初始化为物理卷.假设分区为
/dev/hda9
/dev/hda10
/dev/hda11
/dev/hda12
命令为: pvcreate /dev/hda9 /dev/hda10 /dev/hda11 /dev/hda12
可以使用pddisplay查看分区信息
6. 然后创建卷组test0. 使用默认4MB的扩展尺寸,只包含一个物理卷
vgcreate test0 /dev/hda9
可以使用pddisplay查看信息
7. 创建一个小逻辑卷,不要占用所有空间. 使用vgdisplay的VG size和 PE/size信息,比如创建一个40M的逻辑卷:
lvcreate –L 40M –n data test0
可以使用 lvdisplay /dev/test0/data 确认命令执行了.
8. 在逻辑卷上创建ext3文件系统: mke2fs –j /dev/test0/data
9. 创建/data目录. mount /dev/test0/data /data
10. 复制文件到/data. 可以创建一个大文件: dd if=/dev/zero of=/data/bigfile bs=1024 count=20000
使用df检查/data的磁盘使用情况和剩余空间. 确认能够正常使用.可以编辑/etc/fstab来自动加载/data.重启动测试
步骤二: 使用逻辑卷
1. 首先, 卸载/data. 使用e2fsadm扩展分区尺寸: e2fsadm –L+50M /dev/test0/data
2. 重加载/dev/test0/data到/data, 确认文件. 运行df检查/data的磁盘使用情况和剩余空间.
3. 使用剩余扩展创建第二个逻辑分区. 运行vgdisplay查看PE /size,格式类似于166/644MB,这表示卷组包含166个扩展,664MB剩余空间. 创建一个占用166个扩展逻辑卷/dev/test0/scratch, 命令为:
lvcreate –l 166 –n scratch test0
4. 格式化新卷: mke2fs –j /dev/test0/scratch
5. 把未使用的物理卷加入卷组 vgextend test0 /dev/hda10
6. 如果再次运行vgdisplay, 可以看到增加的扩展.用20MB的扩展定义新逻辑卷.
e2fsadm –L+20M /dev/test0/scratch
使用lvdisplay和vgdisplay确认成功
7. 接下来用/data的只读快照创建新的逻辑卷. 首先用只读选项加载/data
mount –o remount,ro /data
8. 快照不需要和父卷尺寸一致,我们假设不需要保存太多数据,可以设置为5M
lvcreate –s –L 5M –n snap /dev/test0/data
9. 现在重加载/data为读写状态
mount –o remount,rw /data
10. 创建新加载点/snap, 使用 mount /dev/test0/snap /snap 比较/data和/snap,两者内容应该一致
11. 运行命令 for I in$(seq 1 10); do echo $1 > /data/$1; done 将在/data下创建十个文件,名称从1到10. 这个命令不影响/snap, 可以用lvdisplay /dev/test0/snap检查
12. 当快照逻辑卷不能容纳改变的块时,将被LVM自动删除,即使当前在加载状态.(避免这一情况的方法是尺寸和父卷一致,或者及时用lvextend扩展尺寸)可以通过以下方式看到这一现象:
rm /data/bigfile
for i in $(seq 1 10000); do echo $1 > /data/$1; done
13. 在/var/log/messages里可以看到类似信息:
Mar 19 16:30:02 station12 kernel: lvm --giving up to snapshot
/dev/test0/data on /dev/test0/snap: out of space
运行ls /snap. 快照已经不可用了,目录是空的.运行 lvdisplay /dev/test0/snap,和11步的结果比较.
14. 做完快照之后,如果数据已经备份,或者快照已被删除,都需要被卸载,否则会造成轻微的性能下降, 使用 umount /snap; lvremove /dev/test0/snap
在进行阵列试验以前清除LVM卷:
删除所有/etc/fstab中增加的记录
umount /dev/test0/data; umount /dev/test0/scratch
lvremove /dev/test0/data; lvremove /dev/test0/scratch
vgchange –an test0; vgremove test0
步骤三: 软件阵列
1. 在实验中我们将在同一磁盘创建多个分区来实现阵列,但是在实际工作中我们一般使用在不同磁盘上的分区来创建.使用fdisk将Linux LVM(0x8e)分区转换为Linux raid auto(0xfd)分区.保存更改.
2. 重启动系统.
3. 创建/etc/raidtab文件定义四个RAID-5阵列设备.根据以下示例,用实际的分区替换.chunk-size是一个重要的参数,决定了一次向阵列中每个磁盘写入数据的量.RAID-5需要一个校验算法行,一般设为left-symmetric来提高磁盘性能
raiddev /dev/md0
raid-level 5
nr-raid-disks 4
chunk-size 32
persistent-superblock 1
parity-algorithm left-symmetric
device /dev/hda9
raid-disk 0
device /dev/hda10
raid-disk 1
device /dev/hda11
raid-disk 2
device /dev/hda12
raid-disk 3
相关文章
虚拟机安装CentOS后没有网络了不能上网,该怎么设置网络呢?下面我们就来看看这个问题的解决办法,详细请看下文图文介绍2024-01-18
虚拟机怎么安装CentOS? 安装CentOS操作系统的保姆级图文教程
虚拟机想要安装CentOS操作系统,但是CentOS操作系统已经停止维护了,该怎么安装呢?详细请看下文图文教程2024-01-18
Centos7.8怎么更新openssh? Centos升级openssh的技巧
Centos7.8怎么更新openssh?Centos7.8系统想要安装openssh,该怎么安装呢?下面我们就来看看Centos升级openssh的技巧2023-09-02
Centos7.8怎么更新openssl? CentOS升级OpenSSL的技巧
Centos7.8怎么更新openssl?Centos7.8系统想要升级OpenSSL,该怎么升级呢?详细请看下文介绍2023-09-02- centos7没有图形化操作可能对很多人来说都不太习惯,下面我们来为centos7安装图形化界面,本文以安装 GNOME 图形化为例,需要的朋友可以参考下2023-06-29
- 今天小编在安装RHEL7的时候,一步留神没有安装图形化桌面,下面分享一下安装图形化桌面的过程,需要的朋友可以参考下2023-06-29
CentOS7各个版本镜像下载地址及版本说明(包括Everything版)
下载CentOS-7.0-1406的时候,有很多可选则的版本,对于普通用户来说,不知道选择哪个好,下面做一下简单介绍,需要的朋友可以参考下2023-06-01
Centos 7怎么手动配置ip地址? Centos7配置IP地址的技巧
Centos 7怎么手动配置ip地址?Centos 7系统想要自己配置ip地址,该怎么操作呢?下面我们就来看看Centos7配置IP地址的技巧2023-05-17- 这篇文章主要介绍了Centos 7 压缩与解压缩命令小结,需要的朋友可以参考下2023-03-28
由于centos8 在2022年停止服务,后继版本为8-steam。在使用阿里云的 centos8 的 yum 时报错,这篇文章主要介绍了CentOS8使用阿里云yum源异常的解决方法,需要的朋友可以参考2022-04-19







最新评论