RHCE是Red Hat Certified Engineer的简称——红帽认证工程师 始于1999年3月。

Red Hat是全世界Linux厂商中的龙头老大,其市场占有率从1999年起就已超过了50%。并在业界得到广泛应用。而红帽认证工程师也是业界公认的最xx 的Linux认证之一。RHCE 是世界上{dy}个面向Linux 的认证考试,它不是一个普通的认证测试,和其他操作系统认证考试相比,它没有笔试,全部是现场实际操作,所以RHCE成了业界公认的最难的认证考试之一。 Red Hat在北京举行的RHCE十年庆典中统计表明,截至2009年6月,中国大陆通过人数为2037人。

RH133 是讲红帽Linux系统管理:涵盖了红帽认证技师需掌握的技能。

本笔记基于培亚RHCE教学视频,学习的目的是系统的了解Red Hat Enterprise Linux,希望对大家有所帮助。

本笔记每周发布一章,时间暂定于每周5下午18时0分,本章是 RHCE中RH133中的第8章-打印机的设定和管理工具,RH133前面三章和RH033的内容会陆续补齐,感谢大家的xx。

2.8、RH133_Unit 8 打印机的设定和管理工具

2.8.1、什么是CUPS

CPUS即(Common UNUX Printing System)

Documents(注1) >> Queue(注2) >> CUPSD(注3) >> Input Filter(注4) >> Printer(注5)

注1、Linux可以打印.html、.pdf、.jpg等格式的文件

注2:以先到先得的顺序来排队,先进先出法,即First Com first Served Basis(FIFO)

注3:系统的CUPSD服务(是CUPS Web管理工具来提供的)监控Queue里的队列

注4:Input Filter的工作是把文件的编码转换成打印机可以看得懂的语言,然后传送到打印机

注5:打印,完成后将结果传送至CPUS,CPUS使用一个log文件,储存在服务器里。

2.8.2、如何设定CPUS

/etc/cpus/cupsd.conf

/etc/cups/printers.conf

lpadmin指令;system-config-printer图形界面管理工具;CUPS web 界面设置工具来设置printers.conf这个配置文件。

2.8.3、通过CUPS管理Queue队列

·system-config-printer 图形界面的打印机设定工具;

·system-config-printer-tui 文字模式的打印机设定工具;

·http://localhost:631 web界面打印机设定工具,631是CUPS使用的端口号;

·lpadmin 命令管理打印机

2.8.4、什么是cron

cron可以让系统在指定时间完成指定的工作(也就是windows中的计划任务);

1、crontab 命令管理cron功能,共有五个参数:

1)、-u? 后面必须加上某个使用者的用户名,这个参数可以让我们去编辑其他人的crontab(任务计划表),未加些参数,则打开自己的crontab(任务计划表);

2)、-l? 可以列出crontab的内容;

3)、-r? 可以移除掉crontab;

4)、-e? 可以使用系统预设的文字编辑咕嘟打开crontab;

5)、-i? 可以移除crontab,在移除前需要确认是否真的要移除;

2、man 5 crontab 开启crontab 5 的帮助说明

crontab 时间格式共有五个栏位,如下:

field??????????????? allowed values

—-??????????????? ————–

(1) minute(分)??????????? 0~59

(2) hour(小时)??? ????????0~23

(3) day of month??????? 1~31? (天)

(4) month (月)?????????? 1~12? (or names,see below)

(5) day of week???????? 0~7 ( 0 or 7 都示表为周日 or use name)

范例说明:“1-3” 用“-”表示连继的时间

“1-9/2”表示“1、3、5、7、9”

下表为实际范例说明:*表示不限制,(分、小时、日、月为一组,周为一组)

注:在编辑crontab时会用从左到右的5个栏位,把这五个栏位分为两组,前四栏为一组,周为一组,两个组栏位之间,是用逻辑运算值当中的“or(或)” 连接的,所以上表中{zh1}一行就是有两个需要执行的时间周期。

3、范例:系统每隔2分钟执行一次 echo hello! 这个命令

1)、在使用cron时,必须使用命令的完整路径;

which echo? 查看echo命令的完整路径,/bin/echo

2)、crontab –e?? 执行crontab命令同时打开vi编辑器,编写命令的执行周期

3)、输入 */2? *? *? *? *? /bin/echo hello!??? 编写好后,保存退出,这时系统会提示刚刚编写好的crontab已生效。

注:cron是在后面执行程序的,在前台无法看到效果,但cron生效后会给用户发一个email。

4)、等一段时间后,输入email命令,可以看到有几封以“/bin/echo hello!”为标题的邮件,说明crontab已生效;

2.8.5、设定cron的存取权限

以下两个文件可以设定cron的权限来限制cron的使用人;

· /etc/cron.allow

· /etc/cron.deny

当用户需要使用cron功能时,按下如流程图来判断是否有权使用,如果这两个文件不存在就可以使用。

2.8.6、介绍crontab文件

/etc/crontab?? 系统所使用的crontab 存放在这个文件中,在这个文件中未直接记录系统要执行的工作,只记录了下面4个子目录;

(1) /etc/cron.hourly

(2) /etc/cron.daily

(3) /etc/cron.weekly

(4) /etc/cron.monthly

这四个子目录中存放了一些脚本文件,当crontab所指定的时间点到时,就会自动执行这些目录中的脚本文件了。

2.8.7、cron的tmpwatch

1、/etc/cron.daily/tmpwatch

这个tmpwatch文件是一个脚本文件也是一个命令,系统每天都会执行这个脚本文件;
说明:
1)、这个命令可以删除掉很久没有被存取的文件;
2)、在预设情况下 tmpwatch 会去判断文件上的 atime 来判断是否要删除这个文件;
3)、这个命令的许多参数中,下面说明一下其中两个特别的参数:(详细说明可使用man命令查看其帮助文件)
-f? :表示既使用 root 对这个文件没有写入权限,也要强制删除这个文件;
-x :表示要跳过指定路径不删除这些文件,如果指定的是一个目录,则会跳过这个目录中的所有文件;
2、下面是tmpwatch文件的内容


2.8.8、cron的logrotate

/etc/cron.daily/logrotate 是一个脚本文件也是一个命令文件;

查看帮助信息,#man logrotate

这个logrotate的功能是压缩并邮寄系统的日志文件,这样可以避免系统的日志文件变的太庞大,可以通过 /etc/logrotate.conf 文件来设定,系统中的大部分日志都会存放在 /var/log/messages 这个文件中,系统会把目前的日志存储在 messages 这个文件中,预设下 logrotate 每周都会压缩 messages 这个文件,并依时间的先后加上“.数值”的副文件名(例如:messages.1),至于要多久压缩一次及要保留多长时间的系统日志文件,在 /etc/logrotate.conf 文件中进行设定。

2.8.9、系统日志

1、系统里面主要有两个服务来记录系统里的日志

1)、syslogd 是针对应用程序的;

2)、klogd? 是针对内核( kernel )的;

流程图如下:

2、日志共有八种优先权等级,分别如下:(1)低—(8)

(1)debug?? 优先权{zd1},设定为此等级,表示要记录优先权在此等级以上的所有日志,就是记录比较详细的日志;

(2)info

(3)notice

(4)warning

(5)err

(6)crit

(7)alert

(8)emerg

·设定时,设定所要记录的日志包含当前设定等级及比自身等级高的所有等级的日志信息,等级越低所记录的信息就越详细;

·系统中的大部分日志文件都存放在 /var/log 目录中,其中:

(1)dmesg 中记录的kernel所产生的日志(注:如上图:当buffer中有关kernel的日志达到一定数量时才会将日志定入 dmesg 中);

(2)messages 储存大部分应用程序的日志;

(3)maillog?? 储存电子邮件类别矢口程序的日志;

(4)secure? 储存安全类别的类似于验证、低类别程序的日志;

2.8.10、如何设置系统日志

1、vi /etc/syslog.conf? 打开syslog.conf配置文件,如下图:

(1)? *.info? 记录所有类别的应用程序所产产生info 等级以上的日志;

(2)? mail.none 表示不记录mail类别用应用程序产生的日志;

(3)? authpriv.none 表示不记录验证类别应用程序的日志;

(4)? cron.none 不记录crontable所产生的日志;

(5)? 将验证类别的应用程序的日志记录在 /var/log/secure 中;

(6)? 将mail类别应用程序产生的日志记录在 /var/log/maillog 中,前面加上“-”表示将日志先存储到缓存中等累积到一定数量后才会真正写入硬盘,通常日志文件很大时才使用这种方式;

(7)? 将crontable产生的日志记录到 /var/log/cron 中;

(8)? 当任何一种类别的应用程序产生的emerg等级的日志时,立即将这一行日志显示给所有的使用者;其中后面的“*”表示所有使用者

(9)? 将新闻群组类别的应用程序为 erit等级以上的信息存在 /var/lgo/spooler中;

(10) 将开机中产生的日志存储在 /var/log/boot.log 中;以上这10行设定都是关于应用程序所产生的日志设定,都是由syslogd这个服务负责;

注:上图中的第三行,#kern.*?? /dev/console? 需要使用,去除前在的#即可;这行的作用是将kernel产生的所有日志信息传送到当前使用的虚拟控制台上,如果想将kernel产生的info等级以上的日志记录到 /var/log/kernel 中,可将第三行设定为下面的形式:

kern.info??????? /va/log/kernel??? 注:前面不可以加“#”号;这行就是由 klogd 这个服务负责的。

2、如果想将日志记录到其它电脑中,可做如下设定:

例:

(1)修改产生日志的电脑上的syslog.conf文件,设定内容如下:

authpriv.*????????? @example????????? 将验证类的日志信息存储到 example 电脑中;

(2)在接收日志的主机上编辑“vi /etc/sysconfig/syslog“

找到“#-r? enables logging from remote machines ” 这委说明 “-r” 参数就是用于开启接收远端电脑传来日志的功能的。

这时找到“ SYSLOGD_OPTIONS=”–m 0” ” 行,修改为“ SYSLOGD_OPTIONS=” -r –m 0” ”其中“-r”是新加入的参数,开启允许远端传入日志文件。

2.8.11、磁带装置

1、磁带是一种储存用的设备,常见的SCSI磁带设备有DAT、DDS、DLT。如果系统中有检测到有SCSI磁带设备,会将这些SCSI的磁带设备对应到 /dev/stN 文件上,N表示磁带机的序列号,用数字表示。

2、/dev/[n]stN

N:用数字表示,例如:0表示{dy}台SCSI磁带机(st0);

n:表示把资料储存在这个文件所对应的SCSI磁带机后,没有做回带(回带:把磁带倒回到最开始位置的动作);

详细帮助信息可使用? man? st?? 查看;

3、mt 命令用来控制磁带机的读写头的

格式: mt? -f?? /dev/stN??? 控制磁带机的读写头的参数

以下为以下常用的控制磁带机读写头的参数:

*(1)? fsf :可以把磁带机的读写头移动到一下个文件起始的block上,如果在 fsf 后面加上一个数字的话,例如? fsf 20 则可以把读写头移到20文件起始的block上。

(2) rewind: 可将磁带回到最开始的位置;

(3) offline,eject? 用来退出磁带的;

(4) rewoffl:可以先把磁带回到最开始的位置,然后退出磁带;

(5) erase:清空磁带的内容;

由于没有磁带机,这部分无法测试效果。

2.8.12、tar备份和还原

1、tar命令可以将一个目录或一个文件打包并且压缩成一个文件;

2、tar 常用参数如下:

(1)以下参数是在使用tar命令时至少需要加上其中一个参数:

-c (–create): 建立一个新的打包文件;

-t : 用来显示一个打包好的文件里面有哪些内容;

-x (—extract) : 将一个打包好的文件还原成文件或目录;

(2)以下参数是在使用tar命令时可以有选择性的是否加入:

-f (–file) : 在使用这个参数时,后面必须加一个路径及文件名,tar命令把会文件或目录打包到这个指定的文件名中(指定将打包好的文件存放的位置及文件名);

-j (–bzip): 在打包文件时,使用 bzip2 技术将打包好的文件进行压缩处理;

-v : 打包过程中,列出目前正在打包的文件;

-z : 使用gzip技术在打包时进行压缩处理;

3、例:

(1) tar -cvf /var/home.tar? /home?? 将/home 目录打包到/var目录下,并命名为 home.tar ,未进行压缩处理;

(2) tar -czvf? /var/home.tar.gz? /home?? 将 /home 目录打包到 /var 目录下,并命名为 home.tar.gz ,使用gzip技术进行了压缩处理;

(3) tar –tf? /var/home.tar? 查看包中的内容;

(4) tar –xzf? home.tar.gz? 解压打包好的文件,解压技术要与压缩技术相同;

2.8.13、dump/restore备份/还原

dump 命令可以用来备份 ext2 和 ext3 格式的文件系统,也就是可以备份整个分区。

简要参数说明:

level# 通常在用dump 命令备份时,会加上 -0~-9的参数,“-0”xx备份 ,“-1~-9”增量备份(只备份上次备份后被变更的文件,只备份比当前备份数字小的数字);

如下果,备份顺序为 “0、1、2”

但通常不会使用上面的方式进行备份,而是使用“0、2、1”的顺序进行备份;

-f : 可以用来指定备份的文件储存的位置;例:dump –f /dev/st0 备份到磁带中;

-u : 每次执行完 dump 命令时,都会将备份的级别号记录到/etc/dumpdates文件中,这个参数就是将每次执行 dump 命令时,将对应的 dump 级别号更新到 /etc/dumpdates文件中;

例:

(1) dump –0 –u –f ~/backup? /dev/sda1?? 备份 sda1 分区到家目录中 backup 文件中,同时更新 /etc/dumpdates 将当前备份的级别号记录到这个文件中;

2.8.14、cpio备份和还原

cpio 命令可以解压缩一个打包文件或将文件复制到一个已打包好的文件中去。

常用参说明说(可使用 man cpio 命令查看详细说明):

· –d? 可以用来建立一个目录;

· –i?? 解压缩;

· –o? 将文件进行打包;

· –t? 列出打包文件中的内容;

注:在cpio解压缩文件时,必须解压缩到没有原始文件的目录中。

2.8.15、备份文件到远程服务器

可以使用“@”符号加上网络中服务器的主机名来表示要将文件备份到其它主机中,

格式如下: 共享目录名

例:tar? -czvf? /home

使用tar命令将家目录备分到了网络中example1主机var目录下,并将使用gzip技术压缩的打包文件命名为

dump? -0uf? /home

使用dump命令备份家目录到网络中example1主机var目录下,备份文件命名为 home.dump 。