Posts

Showing posts with the label 系统管理

关于Linux下的系统服务

之前的文章 Redhat、Fedora Linux常见守护进程(服务)列表 对于RedHat,Fedora下常见的服务做了简单的介绍,不过可能还没有更新到最新的Fedora 8和RedHat AS 5的水平! 这里再就Linux系统下的一些服务进程知识点整理一番, 在Redhat、Fedora系统上,配置系统服务(守护进程)的工具是system-config-services,GUI的工具叫ntsysv,而对于Debian和Ubuntu系统,软件包是sysv-rc-conf(可以使用apt-get install sysv-rc-conf安装)或sysvconfig。 服务列表,这里列出几个比较少见少用的, bootmisc 做一些启动时琐碎事件的服务!不常见!! brltty 盲人用的终端,太特殊了! dhcdbd 让DBUS控制DHCP进程,一般不用的! dns-clean 拨号时更改DNS的程序!你用拨号吗? dund 蓝牙拨号模块!视情况!新的linux发行版增加了好多蓝牙模块和服务,我都没用过,穷啊,没有蓝牙的设备!我大部分都disable了,如果是server的更不在话下! firstboot 这个东西很讨厌!第一次运行时有用! irqbalance 没用的东西 mdmonitor 软RAID需要!没有就杀! netplugd 监视网络设备插拔的,我觉得无线网卡可能需要 pand 又是蓝牙相关的! pcscd 用来做IC卡验证的! yum-updatesd YUM的守护进程! 更多的 请参见 Redhat、Fedora Linux常见守护进程(服务)列表 ! 希望有时间更新这个文章啊!

在最新的Linux发行版上安装VMware Server

鉴于虚拟技术的迅速推广,VMware Server软件已经完全免费!真是很好的一件事情! Linux自带的Xen,KVM也是不错的选择,如果想在不同HOST系统中迁移虚拟机系统,VMWare Server还是不二的选择。 最新的一些Linux发行版安装VMWare Server会有些问题,例如,OpenSUSE 10.2就有图形界面GTK库的问题,发行版kenrel更新后的问题等等。 1. 针对于过于新的Kernel的问题! 需要安装系统的Development相关的软件包和Kernel Source、Header files的包,这个很重要,如果你不知道怎么做,可以查看相关发行版的文档或查询他们的社区站点,总该能找到帮助告诉你如何安装关于开发包和Kernel开发包的问题。VMWare server安装需要编译相应的内核模块,所以系统更新kernel之后,需要重新执行vm-config.pl重新进行配置和编译新的内核模块。放心,这个不影响已经存在的虚拟机!! 针对最新的内核,VMWare Server的重新编译配置,不一定能成功,这需要一个补丁,补丁的下载位置: http://knihovny.cvut.cz/ftp/pub/vmware/ 这里还有很多其他VMware相关的补丁,可以慢慢研究。 这个patch里有个runme.pl将完成vmware安装或配置的过程! 2. 针对Linux下一些图形界面可能出现的问题! 我初步研究了OpenSUSE上的问题现象,应该是VMWare编译版本和link的库的gcc版本和系统的不匹配,这个很棘手,暂时没去理会,而是通过网络控制端用另外一个能用的Vmware console连上这个Server解决问题! 如果要从网络上通过VMWare Server Console连接一个VMWare server,需要xinetd服务,这个服务在一些发行版默认的安装中可能没有安装!请手工安装并运行这个系统服务。VMware服务需要启动并默认的监听在端口904上面!可以运行: netstat -atn | grep 904来检查VMware服务是否正常。正常就可以使用远端的console来连接了!

实践LVM2和EXT3文件系统扩展!

最近在运行中的RedHat系统上实践了LVM2和EXT3文件系统的实时扩展,特此记录了大致的步骤和方法,以便日后参考和共享经验。 LVM2是Linux下的逻辑磁盘管理系统,关于LVM更加多的理论知识,可以参见相关的手册和说明,本文将只就如何操作进行描述。 大致步骤: 添加物理分区PV(类型为LVM); 扩展VG,添加PV到现有的VG(也可以在此时新建VG); 扩展VG中的已有LV或者可以新建LV; 扩展LV上的文件系统,RedHat默认是EXT3; 所使用的工具有parted,LVM,或者根据个人喜好可以使用fdisk和其他磁盘操作工具。 parted mkpart 建立PV, vgextend 命令扩展VG,添加PV到VG; lvextend命令扩展已有的LV; 使用ext2online 来resize文件系统; 注意:不是所有系统都有可用的ext2online命令,只有部分RedHat系统和打过ext系统在线改变大小补丁的系统才适用此命令,使用之前请确认这些信息。 本人在RH AS4系统上操作完全在线完成;如果你的系统不支持文件系统在线改变大小,可能你需要umount要改变大小的文件系统,再进行resize操作,然后重新mount文件系统。 注意:根据RedHat官方文档证明,Redhat Enterprise Linux AS/ES/WS v3系列不支持在线扩展文件系统,需要umount来实现该操作,所以不要轻易去尝试这个操作。 日后有时间将在更多的Linux上做测试。 关于Linux LVM的问题有很多人关注,也有些朋友向我资讯过这方面的问题,我觉得处理LVM的问题和其他系统管理问题一样,要明确目标和方法,大胆的尝试。 这里再罗列一些资源,以供参考: RedHat EL 4的LVM管理 (RedHat的手册) FedoraNews Wiki关于LVM扩展的快速指导 ; LVM HOWTO Volumes LVM2

linux使用小技巧!

许多平时使用Linux的“雕虫小技”汇集与此,以歆同好! 例子: *使用test命令进行简单的检查! test ! -d dir && mkdir dir 只在dir不存在时才创建dir目录; *使用chown -R对某个目录下的所有文件修改属主属性,同时该参数也适用于chmod,合理使用-R递归修改目录下所有文件属性! *使用FTP,fetchmail等软件时,用~/.netrc文件保存用户名和密码,实现自动化,不过请记住将该文件属性改为600; *使用chown --from=CUR_USER:CUR_GROUP 来改变文件属主时,限定只改变那些属于CUR_USER,CUR_GROUP的用户/组的文件,附加-c选项来列出被改变的文件列表; *使用-F参数来使ls的输出更加的可读; *删除特殊文件名的文件,如文件名:--help.txt 使用命令 rm -- --help.txt 或者 rm ./--help.txt *通过man -K keyword来检索man手册中是否包含某些关键字;用在不知道该使用什么主题的man手册页时的模糊查找; *使用环境变量:export GZIP=--best来让gzip程序默认使用最佳压缩比;也可以让其他gzip命令参数默认化! *使用rename批量改名文件,是不是经常为把*.a的文件一齐改名为*.b而发愁,那么用rename试试,如:rename 's/.a$/.b/' *使less像tail -f一样工作,在执行less命令后,按F(大写),less会像tail -f 一样跟踪文件追加的内容; *使用ls -l时加上-h参数让输出更加方面查看,-h在很多命令,如du,ls等中表示human-readable; *使用which -a查询出所有存在的命令路径; *编写图形界面下的Shell脚本时,可以使用zenity来弹出对话框与用户完成交互操作; *使用readlink来确定一个soft link指向的位置; *在有很多文件和子目录的目录下要看清有哪些子目录可以使用这样的方法,ls -l |grep ^d 或者 ls -l | grep ^[ld] 来包括软连接的方式; 另外可以使用这样的命令来实现这个功能, echo */. 或 ls -d */. 注意上述命令显示结果不包括软连接(sym...

Amanda备份系统初探!

以前用CA的备份软件操作磁带库感觉很爽,最近发觉免费的Amanda系统,该软件是RedHat系统已经包含的(我没有去核查所有版本,但是AS4的光盘中有)备份软件。Amanda可以通过网络备份多个主机的资料到一个磁带设备上,对于应用于集中备份的情况下很不错。 Amanda系统自动管理全备份和增量备份,保证增量备份和全备份的正确执行和按需交替,不是所有时候都需要使用全备份。Amanda使用可读写标签标识每个磁带,以不至于发生周二时覆盖了周一的磁带(这种情况一般是周一的磁带没有从磁带设备中取出,或自动加载磁带设备出现了故障)。Amanda系统通过网络备份时使用主机(Amanda服务器)上缓存的机制,并行处理多个需备份主机系统备份到同一个磁带设备上,迅速完成备份任务。 基本操作指南: Amanda系统需要很少的配置,管理员应该每天可以收到一份关于当天备份的日志报告,报告中重要的是头几行,标识了备份任务的成功与否等相关信息,一般为, 成功备份到正确的磁带上,报告中会指出备份到了哪个磁带上并且指出下次备份使用的磁带。 成功备份在磁盘,错误的磁带或没有找到磁带,报告会指出备份需要被复制到磁带上并且指出下一盘正确磁带的标识。这时需要按照一定顺序操作继续备份工作。 管理指南; Amanda主要的配置文件, /etc/amanda/amanda_daily 每天备份命令脚本 /etc/amanda/cati 配置信息和日志 /etc/amanda/cati/amanda.conf 主要配置文件 /etc/amanda/cati/disklist 主机和磁盘列表,用于备份 /pcnfs 磁盘备份区域 /usr/sbin/am* 管理工具. /usr/local/libexec/amanda/* 程序 使用amlabel程序给磁带打标签,打上标签的磁带才可以被Amanda识别和使用。以后可以通过标签来Load和进行其他的操作。Amanda的report中也将以磁带的标签来应用备份写到了那一盘磁带,下一盘磁带是哪一盘等。 备份任务的安排主要是磁带的循环设置和备份任务的循环设置。 我一般把日备份设置在一个任务组中,命名为DailySet1,也是Amanda系统默认的命名,而把周备份放置在称之为WeeklySet的组中,专门用来循环周备份。

关于Linux主机Hostname的设置!

如今Hostname的设置已经不是很受到关注,但是一旦Linux主机出现hostname设置有问题也会导致一些不可思议的网络问题和服务进程的问题。hostname的检查, uname -n hostname -a | -s | -d | -f hostname 这些命令都可以用来确定自己的主机的和hostname设置; 关于/etc/hosts的设置; 对于DHCP主机,设置如下样子, 127.0.0.1 myhost.mydomain.com localhost.localdomain localhost myhost 对于固定IP地址的主机,127.0.0.1 localhost.localdomain localhost192.168.0.10 myhost.mydomain.com myhost 用hostname命令设置hostname,hostname myhost.mydomain.com而/etc/HOSTNAME是可以存在可以没有的,检查/etc/sysconfig/network,对于固定IP地址的主机,HOSTNAME=“myhost.mydomain.com"NETWORKING=yes而DHCP的主机现在都建议在/etc/sysconfig/networking-scripts/的interface设置中加入设置,一般使用DHCP_HOSTNAME来设置; 最直接的hostname记录在/proc/kernel/hostname里,可以用echo ”myhost.mydomain.com" > /proc/kernel/hostname来设置。先就说到这儿吧!

企业级监控软件Nagios

之前用过的监控软件包括MRTG和RDDTOOLS的一些客户端,如Cacti等,都是不错的选择,最近发现一个真正的企业级应用监控系统,一个比Big Brother等强大,比Cacti等更加成熟的产品级的东西-- Nagios 。 Nagios的特色, ×监控网络服务; ×监控系统资源; ×简单的插件开发功能扩展监控功能,这个和Cacti等有的一拼; ×并行多服务监控; ×定义网络层次结构,辨别主机失效或网络故障; ×服务失效通知,mail等,和BB有点类似,比Cacti在这方面强点; ×自动日志回滚; ×宂余主机监控; ×web界面功能; 系统要求 : 对于安装Nagios监控系统的服务器要求只要是Linux,最后有C编译器,剩下的就是 有Apache Web服务器和 GD 库(高于1.6.3)。 编译和安装 : 对于Fedora Core 5的用户,Nagios 2.3已经在Fedora Extra的库中,直接运行 yum install nagios 即可完成安装。 而其他的RedHat版本的用户或者CentOS之类用户,可以到 Dag Wieers RPM 库里查找自己所需要的合适的版本,一定要安装Nagios的插件(Plugins); (To be continue ...)

基于Fedora制作USB优盘的Linux系统

基于USB优盘的linux小系统看起来很神秘,一般用户总是觉得很难做,其实在如今的Linux系统中这个问题一点都不神秘也很简单。 我尝试着基于Fedora Core 5的内核和系统在优盘上启动了一个完整的小系统,说他完整其实有些言过其实,因为这个系统包含如下的部分: Grub + Kernel + Glibc + Udev 087 + BusyBox 1.1 这样的一个系统基本完成一个Linux基础系统的功能,虽然做不了更多的东西! 制作步骤和方法: 格式化优盘; 使用parted(我比较喜欢这个)或fdisk在优盘上创建Linux分区,并用mkfs.ext3建立文件系统; 建立以下目录结构, bin boot dev etc lib mnt proc sbin sys usr 把内核相关文件和glibc相关文件copy到优盘的文件系统中, 可以用rpm -ql确定copy哪些文件。 准备启动境象和安装grub,这是最关键的部分, initrd境象是用来启动系统的先导境象文件,可以用mkinitrd生成该文件,对于需要优盘启动的境象文件,需要用参数--preload=uhci-hcd --preload=scsi_mod --preload=sd_mod --preload=usb-storage来加载相关的USB驱动,并且需要改动境象文件内的init脚本,把境象文件改名为.gz结尾的文件,用gzip -d解开,用cpio -iv < initrd 解开,可以编辑init文件,是一个脚本, 在insmod /lib/ext3.ko 之后,加上sleep 10, 这是让系统在加载完驱动模块后停留一段时间,等待USB设备加载完成,这个过程很多地方都是说改内核实现,我觉得那样不是很好,而且我一开始让系统等待5秒,好象时间太多,优盘没有加载完成,导致后面的根文件系统找不到,这个等待时间可以根据具体的系统情况调整。 改完按照解开步骤反过来生成新的境象。 放到优盘上,安装grub时注意使用grub-install 比较简单,加上--no-floppy ‘(hd0)’作为参数。 编译和安装busybox和Udev是比较简单的事情,只要Prefix以优盘文件系统作为目标即可。Udev系统也可以copy自Fedora。自己安装Udev 087会更合适(个人以为)。 这样一个基础...

关于A3Linux YUM仓库(Repos)

这几天空了,把针对Fedora Core的LaTeX中文环境设置的几个包(来自张林波老师的)做成了YUM仓库,放在了自己的站点上; 以后可能会维护和放出更多的软件包和针对不同的Fedora平台,目前就这些; 如何添加: 先安装证书和配置文件包, rpm -ivh http://www.a3linux.net/yum/a3linux-release/a3linux-release-1.0-1.noarch.rpm 然后可以这样查看本站提供的RPM包, yum list | grep a3linux 关于中文LaTeX的包组说明: 这次包含的包组有, cct-0.6180-2.i386.rpm CJK-GBKfonts-0.3-13.i386.rpm cct-fonts-1.2-1.noarch.rpm ctex-0.7-1.i386.rpm CJK-4.6.0-0.i386.rpm dvipdfmx-20050307-2zlb.i386.rpm CJK-doc-4.6.0-0.i386.rpm ttf2pk-1.5-10.i386.rpm 这些包构成了基本的中文LaTeX应用环境,其中CTeX包需要中文字体才能正常工作, 应该最后安装(在生成必要的中文字体之后安装), 生成中文字体的格式: gbkfont-inst /home/fonts/truetype/hya6gb3.ttf song gbkfont-inst /home/fonts/truetype/simfang.ttf fs gbkfont-inst /home/fonts/truetype/simhei.ttf hei gbkfont-inst /home/fonte/truetype/simkai.ttf kai gbkfont-inst /home/fonts/truetype/simli.ttf li gbkfont-inst /home/fonts/truetype/simyou.ttf you 可以把这些写成一个脚本,字体路径应该不是象我这样的/home/fonts/truetype/*,而是你自己的路径,其他的应该没有问题的! 欢迎给我报告使用中的问题: allen@a3linux.net

服务器监控软件推荐!

之前有过服务器监控软件的寻找和使用经历,成功的配置过MRTG和Cacti+RRDTools的监控系统,但是一直在寻找更加合适用作整合或功能更加强大的监控软件,今天意外发现Munin,这个东东已经内置在Fedora的Extra库中,Fedora用户只需安装即可, yum install munin munin-node 关于这个东东的具体用法和效果有待继续深入研究,这是项目 主页 ; munin是用Perl开发的,基于RRDTool 服务器监控软件Cacti的例子在Consult页面中有,就不在这里累诉了! Nagios Nagios是另外的一套监控系统软件,基于C开发的,提供了Plugin功能来扩展!Nagios设置简单,对于监控邮件列表,磁盘空间等都很适用!Nagios系统在Fedora的extra软件仓库中,所以fedora用户可以直接通过YUM来安装!

Linux系统的性能调整!

Linux系统性能调整对于系统管理员来说是一个很具有现实意义的课题,同样的硬件条件下,Linux能提供的服务能力本身就在一定程度上强于Windows,而经过性能调整之后的Linux服务能力就更加提升明显!对于Linux系统的性能调整大致有两方面,一个是针对系统具体情况出发的具有一定通用性的调整,另外一个是针对实际硬件做出的优化,后一步调整很大程度上依赖于硬件环境,变数较大!实际linux发行版总是针对通用应用情况和通用硬件构建的普遍适用版本,因此一定程度上都存在着优化和调整的空间。 要调整系统,首先应该知道当前系统有什么不足? ps命令用来查看系统运行进程(任务)情况,top可能会更加直接一点反应系统性能状况,vmstat反应系统虚存使用情况; 使用time来衡量系统的性能也是不错的选择,特别是针对特定的任务,很具有针对性。 用法:time task_cmd x11perf用以对X的性能有个了解。简单的方法是x11perf -all,执行时间比较长! 可行的方法是把结果重定向到文件,然后比较不同次执行的结果。 对于硬盘的性能调整:hdparm hdparm -tT /dev/hda 可以得到当前硬盘的性能情况; hdparm /dev/hda 可以得到硬盘配置; 通用性能调整: 1. 关闭不需要的系统服务; 发行版都有一套系统服务管理和启停的工具,例如RedHat系统下的service和chkconfig命令,而且发行版都提供很多的服务,一些服务在服务器系统上显然不是那么有用,而有些服务对于桌面系统显然多余,所以我们可以根据需要停止一些不必要的服务进程,以节约有些的系统资源; 具体的一些没有必要的服务, Network Manageer(对于非移动用户,该服务基本没有必要); bluetooth 蓝牙,有需要么?服务器一般没有需要; cron如果是桌面,我建议不需要它了,服务器看情况; cups,打印机服务; iptables,系统内置防火墙; irda,红外线; irqbalance,如果不是SMP系统,你不需要它; nfs,自己看着办,网络文件系统; 很多其他的服务,具体参见 这里 ; 如果是服务器系统,一般不要X,就把系统默认启动级别改为3,在/etc/inittab中, id:5:initdefault: --> id:3:initdefault: 同...

系统管理员工具箱系列!(陆续添加中……)

作为一个Linux/Unix的系统管理员,大都熟练运用有一套适合自己工作和环境的系统管理工具,这里罗列了一些来自Internet文章介绍和自己实践的经验两方面的内容,整理一下关于Linux/Unix系统管理员常用的工具系列。 例如,常用的备份工具,常用的网络排查工具,常用的系统管理命令及技巧等! 希望有用! 一些Linux使用技巧和小工具介绍! *使用ssh隧道的一些技巧 *备份工具afio和磁带操作工具mt简介 *rsync,mirrordir和其他 *wget和curl,通过命令行下载和测试web *GNU Screen程序 Screen是让你在终端下以意想不到的方式工作的利器!多任务和多窗口的功能绝对出色。运行screen启动一个screen会话!screen回话下有很多命令,都是以Ctrl+A的方式开始,加上相应的命令建!和Emacs的工作方式很象! *vmstat: 监控系统虚拟内存系统使用状况;e.x. vmstat 5 10

Linux Kernel 2.6.xx用于嵌入式系统的特性!

最近正在学习把Linux Kernel 2.6.xx内核用于构建嵌入式Linux系统的问题,这方面的问题对于自己是一个全新的课题,以前比较多的接触的是Linux应用于Server端的应用,也比较多的研究一些定制Linux Server和桌面的问题,而对于嵌入式应用特性和裁减Linux系统接触的不是很多,现在略微的研究一下关于嵌入式Linux内核的一些问题。 Linux 2.6.xx kernel对于嵌入式的应用方面的考量要比前代2.4.xx完善和健壮的多,主要表现在三个特性的支持上: 抢占式内核 (Kernel Preemption); 高效的调度器(新的系统实现了新的调度器O(1)算法); 改进的同步机制; 对于抢占式内核,内核中加入了一些可以抢占的内核插入点,这些插入点上内核运行是可以中断的,进程处于内核态也可以让出CPU的占有而实现任务调度,所以用户可以安排高优先级的进程保证该任务的实时性。 甚至2.6.xx的内核可以针对嵌入式系统编译成没有虚拟内存的系统,而由用户负责物理内存的使用量等问题。 全新的任务调度器使用新的调度算法,在每次调度任务是不再扫描整个候选任务队列,而是直接从当前队列(Current Queue)中选择一个任务运行,用完时间片或需调度出运行状态的任务会被放到到期队列(Expired Queue),这种新的调度方式效率更高,被叫做O(1)调度器。 支持所谓快速用户空间信号量同步,支持用户空间检查阻塞需求,也支持高优先级的应用程序或线程第一时间获得资源的访问权。 NPTL高级线程模型的支持。更强大的线程能力,相关测试表明2.6内核可以在两秒内完成10万线程的启停操作,这在之前的内核上需要15分钟之多。POSIX线程支持POSIX信号和高可靠性的时钟支持。POSIX信号是不会丢失和带参数的并且支持线程间传送。嵌入式领域经常要求很高的实时周期任务,POSIX计时器可以保证任务被很好的以一定周期运行,保证更精确的任务调度能力,精确度为1kHz。 2.6内核的子系统架构设计具有更好的移植性,更容易支持定制的硬件和广泛的硬件支持列表,甚至支持没有MMU的微控制器系统,包括M68K,NEC v850等。ALSA音频子系统和Video4Linux视频系统也让Linux2.6能在嵌入式领域有更多机会。 硬件支持方面,2.6内核全面现实了USB2.0的支持。 对...

Samba配置参数的一些解释!

关于Samba的配置有很多可以尝试和解释的地方,最近做系统开发集成时又遇到一些权限和文件属性的问题,所以查了点资料! Samba的配置核心: smb.conf 该文件中的一些变量:   %S代表共享名;  %P代表共享的主目录;  %u代表共享的用户名;  %g代表用户所在的工作组;   %U代表用户名;  %G代表当前对话的用户的主工作组;  %H代表用户的共享主目录;   %v代表Samba服务器的版本号;  %h代表Samba服务机器的主机名;  %m代表客户机NetBIOS名称;   %L代表服务器NetBIOS名称;  %M代表客户机的主机名;  %N代表NIS服务器名;   %p代表NIS服务的Home目录;  %I代表客户机的IP;  %T代表系统当前日期和时间 关于Samba的口令和认证安全 Samba不使用标准Unix口令来认证用户。因为当Windows发送以明文表示的口令时, 其都以加密形式发送 SMB/CIFS口令,这样就与标准Unix 口令散列不兼容了。换句话说,Samba没有办法使用标 准UnixPassword散列来验证 Windows 加密的口令是否正确。但幸运的是,Samba提供了许多方法来将这两个数 据库同步 guest account = nobody<br />security = user <br />password server = <nt-server-name><br />encrypt passwords = yes/no</nt-server-name> 其中第一行定义Samba缺省的用户账号,这个账号必须在/etc/passwd中。第二行则 声明了Samba的安全级别,分为share、user、server和domain四级。它们分别对应的验证方式为:share是没有安全性的级别,任 何用户都可以不要用户名和口令访问服务器上的资源;user是Samba的默认配置,要求用户在访问共享资源之前必须先提供用户名和密码进行验证; server和user安全级别类似,但用户名和密码是递交到另外一个服务器去验证,如果递交失败,就退到user安全级;domain这个安全级别要求 网络上存在一台Windows的域控制器,Samba把用户名和密码递交给它验证。需要注意的是...

(ZT):find命令和xargs命令详解

这是一篇网友总结的find命令和xargs命令使用方法总结的文章, 原文连接 能很好的用好find将是Linux工作的一大幸事,不要奢望一口气记住本文所有的方法,要慢慢的去尝试和领会这些用法的精妙和合理之处,到了一定时候自然会记住很多,能够举一反三将是最大的收获! [@more@] 1.find 由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。即使系统中含有网络文件系统( N F S ),find命令在该文件系统中同样有效,只你具有相应的权限。 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指3 0 G字节以上的文件系统)。 find命令的一般形式为: find pathname -options [-print -exec -ok ...] 让我们来看看该命令的参数: pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。 -print: find命令将匹配的文件输出到标准输出。 -exec: find命令对匹配的文件执行该参数所给出的s h e l l命令。相应命令的形式为' command' { } ;,注意{ }和;之间的空格。 -ok: 和- e x e c的作用相同,只不过以一种更为安全的模式来执行该参数所给出的s h e l l命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。 find命令选项 -name:按照文件名查找文件。 -perm:按照文件权限来查找文件 。 -prune:使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略 。 -user: 按照文件属主来查找文件。 -group:按照文件所属的组来查找文件。 -mtime -n +n:按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前 。find命令还有- a t i m e和- c t i m e选项,但它们都和- m t i m e选项。 -nogroup:查找无有效所属组的文件,即该文件所属的组在/ e t c / g r o u p s中不存在。 -nouser:...

Cacti监控windows 2000 smp系统!

使用Cacti监控Windows 2000 SMP系统的一个问题是CPU使用率有问题,由于使用了SNMP4W2K的问题可能是一个方面,据说 http://www.snmp-informant.com/ 会好很多,有机会再试了。hrProcessor.Load.x是碰巧可以是准确数字!但是这个是不可靠的,解决问题的方法是安准snmp-informant。 关于这个问题的讨论: http://forums.cacti.net/post-29083.html&highlight= http://forums.cacti.net/viewtopic.php?t=7149 很多中文论坛的关于MRTG监控windows2000的讨论却有需讨论之处。 今天在浏览cacti的论坛时还意外发现了一个plugin,很实用的可以进一步提高监控的品质,Thold plugin的作用是当受监控项数值超越设定的值时发出警告和提示(EMail)。 这是Thold在论坛的连接: http://forums.cacti.net/about6508-0-asc-0.html

Linux性能监视命令初步!

ps命令,这个之前有篇详细的介绍 ps命令参数 的。 top命令介绍 在这里。 今天在这里归纳一下,然后再看看另一个工具sysstat。 sar!来自systat包,初始化sar的数据使用下面的命令, /usr/lib/sa/sa1 1 1 /usr/lib/sa/sa2 -A 一般的,通过/etc/cron.d/sysstat来执行sar的数据采集,这个文件内容通常如下, # run system activity accounting tool every 10 minutes #*/10 * * * * root /usr/lib/sa/sa1 1 1 # generate a daily summary of process accounting at 23:53 #53 23 * * * root /usr/lib/sa/sa2 -A sal命令收集数据写到二进制文件中,sa程序则把收集的信息写到/var/log/sa下面,sar命令就从这些report中给出资源信息。 没有参数的sar命令给出一些关于CPU之类的通用资源信息。 sar同样可以加参数来指定需要的系统信息,sar -P 1 1 5显示第一个CPU的每秒5次的信息。 sysstat包和其他系统工具一起提供了一组*stat的命令来查询系统状态信息。如iostat提供CPU和各个硬盘分区的写入/读取速率,vmstat显示虚拟内存系统的信息,同时这些命令也可以通过-s参数显示一些系统相关方面的统计信息。 iostat输出样例, Linux 2.4.21-27.0.1.TLsmp (network) 09/19/2005 avg-cpu: %user %nice %sys %iowait %idle 2.13 0.00 0.88 0.37 96.61 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn hdb 4.67 9.27 117.50 2386902 30263346 hdb1 0.00 0.00 0.00 276 ...

使用EXT2文件属性

前日有一篇关于 ACL的文章介绍介绍了ACL 在EXT3系统上的一点东西,这篇介绍一个稍老的ext2的特征--ext2文件属性,初步的使用这些属性也可以一定程度上提高文件系统的安全性,而且十分便捷。 EXT2文件系统的属性(attribute)经常被忽略,甚至不为人知,因为比他高级的多的保护系统的方式多的去了,ACL,SELinux……,让我们管理员似乎羞于提及这个Attribute来。EXT2文件系统属性就是ext2文件系统支持一些针对文件和目录的额外标记,或叫作属性(attribute)。 A Atime。告诉系统不要修改对这个文件的最后访问时间。 S Sync。一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。 a Append Only。系统只允许在这个文件之后追加数据,不允许任何进程覆盖或者截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。 i Immutable。系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。 d No dump。在进行文件系统备份时,dump程序将忽略这个文件。 c Compress。系统以透明的方式压缩这个文件。从这个文件读取时,返回的是解压之后的数据;而向这个文件中写入数据时,数据首先被压缩之后,才写入磁盘。 s Secure Delete。让系统在删除这个文件时,使用0填充文件所在的区域。 u Undelete。当一个应用程序请求删除这个文件,系统会保留其数据块以便以后能够恢复删除这个文件。对于这些属性的操作主要是两个命令来实现,lsattr和chattr,其中lsattr比较简单,就是列出关于EXT2属性的信息, 例如, [allen@localhost ~]$ lsattr snip.sh ----ia-A----- snip.sh 改变属性用chattr,格式如下, chattr [+|-]attr filename +/-表示增加属性/减去相应的属性,注意有些属性则只有root用户能增加到文件上,这就是为什么这些属性能提高系统的安全性了。特别是a,i这两个属性,通常可以用在系统日志文件和其他一些重要的文件上。例如给/bin /boot /etc /lib ...

chroot SSH with pam_chroot!

这个做法很简单的chroot源自Debian的文档,在RHEL3和4上分别试验之后得到的结果是RHEL4上完全没有问题,RHEL3上问题出在Session不能持久,如果ssh执行命令则也算正常。 这个问题一直得不到解答。 Redhat EL4 下实现ssh chroot 登陆 查证了一些资料和文档,没见有显然说明此问题的地方,因为用的RHEL3为TaoLinux,所以未敢包票这个不行,况RHEL3上可以执行ssh命令的。 以下是一些佐证和连接。 OpenSSH上的FAQ,关于UsePAM的支持。RHEL4的Openssh显然已经支持UsePAM,RHEL3的版本显然不支持,但是已经打开了 PAMAuthenticationViaKbdInt 的。 3.15 OpenSSH不同版本与PAM行为 Portable OpenSSH has a configure-time option to enable sshd's use of the PAM (Pluggable Authentication Modules) interface. ./configure --with-pam [options] To use PAM at all, this option must be provided at build time. 这里说编译时一定要加上--with-pam的选项,相信RHEL3的版本也也是有的。 The run-time behaviour when PAM is built in varies with the version of Portable OpenSSH, and on later versions it must also be enabled by setting UsePAM to yes in sshd_config . 最新版本的OpenSSH使用UsePAM来支持PAM,而老的就没有这个选项,猜想可能的问题在这里,但是不合乎逻辑。 The behaviour of the relevant authentications options when PAM support is built in is summarised by the following table. Version UsePAM PasswordAu...

Linux文件系统ACL介绍

简介 ACL是访问控制列表(Access Control Lists)的缩写,对于Unix系统, ACL是标准Unix文件属性(r,w)的附加扩展。ACL给予用户和管理员 更好控制文件读写和权限赋予的能力,商业Unix和NTFS以及Freebsd都 支持文件系统的ACL,Linux从2.6内核开始支持对Ext2,Ext3和XFS,JFS 等文件系统的ACL支持。 注意,Fedora Core从2开始支持ACL操作,虽然好像并不支持JFS和ReiserFS。[@more@] 打开文件系统的ACL支持,修改/etc/fstab的mount属性,例如针对这样的 /home文件系统, LABEL=/home /home ext3 rw,acl 1 2 该行第四列原文为defaults,现改为rw,acl以开启文件系统的ACL支持。 可以在线中心挂载文件系统, # mount -v -o remount /home 当然umount掉文件系统,再mount也是可以的,只要确信没有用户和程序 在使用这个文件系统,可以通过mount命令来查看修改是否生效, # mount -l 之后,输出中有这样的行就正确了, /dev/hda5 on /home type ext3 (rw,acl) [/home] ACL操作命令 getfacl - 取得文件的ACL信息 setfacl - 设置文件的ACL信息 基本命令就是这么两条。 getfacl很简单,可以返回文件当前的ACL信息,例如在一个CVSROOT下的passwd 有这样的属性, # getfacl passwd # file: passwd # owner: cvsadmin # group: cvsadmin user::rw- group::r-- other::r-- 可以用setfacl加上相关属性,例如加上allen用户可写到刚才我们看到的 passwd文件, # setfacl -m u:allen:rw- passwd 这个命令可以这样解释:增加用户(u)用户名(allen)可读写权限(rw-)到 文件passwd。这样之后再执行getfacl,看看结果, # getfacl passwd # file: passwd # owner: cvsadmin # group: cv...