随笔分类 -  Linux

摘要:一直在CU索取学习了这么长时间,应该奉献奉献了。希望对初学的朋友有点帮助。高手请略过!为普通用户和用户组加入磁盘配额限制Linux的quota程序允许为系统上每一用户或用户组指定所能使用的磁盘配额。使用quota注意以下几点。1:当前的系统核心支持quota2:系统已正确安装quota套装程序。3:老版本的quota仅能工作在ext2类型的文件系统上。4:必须是单独的挂载点。如果你当前的系统核心不支持quota,请重新编译你的核心,当系统提示:Quota support(CONFIG-QUOTA)[n]回答y,生成新的系统核心。一般Linux的发行版本都默然包含了quota支持,也附带了quo 阅读全文
posted @ 2010-12-18 15:07 super119 阅读(296) 评论(0) 推荐(0) 编辑
摘要:这篇文章在讲述Unicode的时候有点罗嗦了,可以参考“Linux Locale详解”一帖,里面仅用一段文字就解释清楚了Unicode, UTF-8, GB2312这些的关系------------- 历史情景 ---------------------------在计算机出现的中期时代,人们开发了UNIX,K&R写出了《C程序设计语言》,一切都显得非常简单。EBCDIC才刚刚浮出水面。唯一很要紧的字符集就是有效而古老的无重音英语字母,而人们为这些字符开发了一套称为ASCII的编码,他能够使用32到127之间的数字表示各个字符(关于ASCII字符的更多信息,参见www.robelle.com/ 阅读全文
posted @ 2010-12-18 15:06 super119 阅读(536) 评论(0) 推荐(0) 编辑
摘要:soft-raid$cat /proc/mdstathard-raid$cat /proc/scsi/ [tab] 键, 里面会有内容的另外用 $dmesg|grep md 也可以查soft-raid$dmesg|grep scsi 查hard-raid ,不过通常sata 和usb-hd等设备也被作为scsi, 阅读全文
posted @ 2010-12-18 15:05 super119 阅读(1077) 评论(0) 推荐(0) 编辑
摘要:一、安装命令格式:rpm -i ( or --install) options file1.rpm ... fileN.rpm参数:file1.rpm ... fileN.rpm 将要安装的RPM包的文件名详细选项:-h (or --hash) 安装时输出hash记号 (``#'')--test 只对安装进行测试,并不实际安装。--percent 以百分比的形式输出安装的进度。--excludedocs 不安装软件包中的文档文件--includedocs 安装文档--replacepkgs 强制重新安装已经安装的软件包--replacefiles 替换属于其它软件包的文件--force 忽略软 阅读全文
posted @ 2010-12-18 15:05 super119 阅读(183) 评论(0) 推荐(0) 编辑
摘要:PAE是内核编译时候的一个选项,开了PAE之后,系统可以管理到64GB的内存,但是由于要做map/unmap的动作,所以性能会有3%-5%的下降但是不管有没有开PAE,在32位的Linux下,单个进程能使用的内存大小都是3GB,都不能越过这个限制。具体看下面这篇文档:/Files/super119/LinuxRamLimits.mht.zip 阅读全文
posted @ 2010-12-18 15:04 super119 阅读(610) 评论(0) 推荐(0) 编辑
摘要:/bin = BINaries/dev = DEVices/etc = ETCetera/lib = LIBrary/proc = PROCesses/sbin = Superuser BINaries/tmp = TeMPorary/usr = Unix Shared Resources/var = VARiable ?FIFO = First In, First OutGRUB = GRand Unified BootloaderIFS = Internal Field SeperatorsLILO = LInux LOaderMySQL = My是最初作者女儿的名字,SQL = Stru 阅读全文
posted @ 2010-12-18 15:02 super119 阅读(1410) 评论(1) 推荐(1) 编辑
摘要:2.6内核相比2.4内核,有了很大改动,一个大改动就是增加/sys文件系统和使用udev来管理/dev目录。什么是udev?为什么需要udev?udev是一个可以在user space就控制设备的一个东西。以前Linux用的是devfs,但是这个东西有很大的弊病,比如设备名称不固定(按照设备插入机器的先后顺序确定设备文件名,即在/dev目录下的文件名,或根据硬件所在的插槽确定设备文件名,这就导致了比如硬盘换个IDE口,USB设备反复插拔的时候,设备文件名不统一的情况),等很多问题,详情看来自Linux Device Driver一书的说明:One of the main reasons for 阅读全文
posted @ 2010-12-18 15:00 super119 阅读(584) 评论(0) 推荐(0) 编辑
摘要:如果我们想把man手册的内容dump到一个文件中,用man xxx xxx 这样是不行的,这样出来的文件内容有乱码。比较好的做法是用man -P这个option,-P option means "Pager",也就是man调用什么程序来显示man手册的文本,默认是调用less -iRs,所以我们看到man手册能满屏暂停,按q退出,其实这些都是less的特性。所以,我们用-P将man的这个Pager改掉,比如改成cat,这样,man就直接把man手册的内容用cat打印到屏幕了,此时再作重定向就没问题了。man -P cat 5 accounting xxx 阅读全文
posted @ 2010-12-18 14:27 super119 阅读(279) 评论(0) 推荐(0) 编辑
摘要:ping命令是计算机之间进行相互检测线路完好的一个应用程序,计算机间交流数据的传输没有经过任何的加密处理,因此我们在用ping命令来检测某一个服务器时,可能在因特网上存在某个非法分子,通过专门的黑客程序把在网络线路上传输的信息中途窃取,并利用偷盗过来的信息对指定的服务器或者系统进行攻击,为此我们有必要在Linux系统中禁止使用Linux命令。在linux里,如果要想使ping没反应也就是用来忽略icmp包,因此我们可以在Linux的命令行中输入如下命令:echo 1 /proc/sys/net/ipv4/icmp_echo_igore_all如果想恢复使用ping命令,就可以输入:echo 阅读全文
posted @ 2010-12-18 14:26 super119 阅读(875) 评论(0) 推荐(0) 编辑
摘要:1. 首先是sed中的c\命令,这个命令和s/xxx/xxxx/g不同的是,使用c\能把当前sed查找到的一行全部替换成我们指定的TEXT比如 sed -i "/734/c\Hello" install.log ,这样就把包含有734这样字符串的整个一行替换成了Hello在使用c\的时候需要注意,如果我们在c\命令后面加的不是一个常数字符串,而是一个变量,那么,要再加一个\符号来解引用,否则变量无法正常解析:sed -i "/734/c\$Hello" install.log -- 含有734的一行被替换成了$Hellosed -i "/734/c\\$Hello" install.log - 阅读全文
posted @ 2010-12-18 14:22 super119 阅读(2497) 评论(0) 推荐(0) 编辑
摘要:以下来自网上的一些资料和自己的实验,用以下命令执行:expect -f expect-ssh.exp username password hostname or ip注意,在这个expect-ssh.exp中,connect函数主要负责登陆,代码的最后两行,两个send是登陆上去后,执行的命令,注意最后一定要执行一个exit,否则会导致expect执行完成后还留在远程主机上。这里是expect-ssh.exp的源码:[代码] 阅读全文
posted @ 2010-12-18 14:22 super119 阅读(1189) 评论(0) 推荐(0) 编辑
摘要:shc有两个作用:(1)读入一个脚本,生成一个.c文件。在该.c文件中,脚本被加密成一大堆乱字符(2)编译这个.c文件,生成一个可执行程序。将来运行这个可执行程序即可。其实SHC就是加密了一下脚本,生成的可执行程序在运行的时候,只不过是把脚本解开,然后用sh script这种方式运行的,本质上还是在运行脚本但是SHC给我们带来的好处就是将脚本封装起来,不让别人看到里面的东西。安装很简单,下载shc,解开:makemake testmake stringmake install看他里面自带的readme文件即可。使用shc也很简单,比如shc -v -T -r -f script file 阅读全文
posted @ 2010-12-18 14:19 super119 阅读(748) 评论(0) 推荐(0) 编辑
摘要:sed -i '/#PermitRootLogin/s/#//g' /etc/ssh/sshd_config上面的命令先找到#PermitRootLogin这一行,然后再把行头的#去掉。这种写法很有用,因为我们很多时候不适合直接用s命令上来就全文替换,而是只替换某一行,此时就可以这样写代码 阅读全文
posted @ 2010-12-18 14:19 super119 阅读(1521) 评论(0) 推荐(0) 编辑
摘要:在一个项目中,机器装完CentOS之后,经常会往控制台打印这样的信息:202.119.101.1 sent an invalid ICMP type 3, code 13 error to a broadcast: 222.192.2.255 on eth1上网查了以后发现可能是局域网内有些机器中了病毒,或是对我们机器发起的攻击导致的,用以下方法可以屏蔽:iptables -A INPUT -i eth1 -m state --state INVALID -j DROPiptables -A FORWARD -i eth1 -m state --state INVALID -j DROP 阅读全文
posted @ 2010-12-18 14:15 super119 阅读(435) 评论(0) 推荐(0) 编辑
摘要:expect自动化工具非常有用,不过这次在使用autossh脚本的时候,发现了一个timeout设置的问题。expect脚本我们都知道,首先spawn我们要执行的命令,然后就给出一堆expect的屏幕输出,如果输出match了我们的expect的东西,我们就会send一个命令上去,模拟用户输入。但是expect中等待命令的输出信息是有一个timeout的设定的,默认是10秒。这个特性是防止那些执行死机的命令的。一旦到了这个timeout,还是没有屏幕输出的话,expect脚本中下面的代码就会执行。或者我们在expect脚本中如果定义了timeout的响应代码的话,这些代码就会被执行。OK,这次 阅读全文
posted @ 2010-12-18 14:13 super119 阅读(10825) 评论(0) 推荐(0) 编辑
摘要:以前的文章都是针对ia32和x86_64的,网络安装IA64的机器有点问题,最关键的就是pxelinux不支持IA64,取而代之的是elilo,这是HP做的。安腾的机器最特别的就是EFI了,在之前有篇EFI的读书笔记可以参考。简单来说,要实现网络安装,做法如下:1. 配置DHCP,和之前一样配置2. 配置TFTP,和之前一样配置3. 和其他的不一样了,/tftpboot目录下空空如也,什么都没有,这是因为IA64上根本没有sysconfig-config-netboot这个RPM了。所以,一切自己来。首先, cp /boot/efi/efi/redhat/elilo.efi /tftpboot 阅读全文
posted @ 2010-12-18 14:12 super119 阅读(792) 评论(0) 推荐(0) 编辑
摘要:见附件这篇文章非常不错,讲述了如何将:文件内容,文件名,MP3里面的ID3 Tag,VIM。。。中的GB2312迁移到UTF-8的方法和实践。摘录一些特有用的:enca命令可以用来检测一个文本文件的编码iconv可用来转换一个文件的内容的编码convmv可用来将文件名做编码转换,而不是转换文件内容GB2312 是国标里面一个最小也是最早的中文编码标准。其中,只涵盖了 6,763 个汉字。所以你需要转换的文件的原始的格式可能并不是 GB2312 编码。这个时候,你可以用 GB18030 做为源格式来进行转换。GB18030 是最新的国家标准,包含了 27,564 个汉字,而且向下兼容 GB231 阅读全文
posted @ 2010-12-18 14:09 super119 阅读(633) 评论(0) 推荐(0) 编辑
摘要:针对非根分区的分区,比如/home,这样的quota很好做,主要就是quotacheck,edquota,quotaon/quotaoff这三个东西,具体的可以看之前发过的有关quota的配置文章,说的很不错的。这次想针对根分区做一个quota,因为之前/home没有分成一个单独的分区。做了一下,发现其实和做单独的分区做法是一样的,只有一点很小的差别,从中也悟出了一些道理,于是记录在此:1. /etc/fstab中是需要加入usrquota, grpquota这两个选项的2.和普通分区一样,根分区也可以mount -o remount /来达到重新挂载根分区的目的。不必重启系统的。如果没有做这 阅读全文
posted @ 2010-12-18 14:08 super119 阅读(1503) 评论(0) 推荐(0) 编辑
摘要:很不错的参考资料,摘自chinaunix首先贴上Linux的启动过程:系统启动1、系统加电2、BIOS 自检 → 本地设备枚举和初始化3、POST 代码从内存中清除,但运行时服务(runtime service)仍然留在内存。4、BIOS 从 CMOS 的设置中找出第1/2/3 启动设备(可能有第4个),然后逐个尝试,并在第一个 ”active“状态的硬盘上读入其 MBR第一阶段引导加载程序1、MBR 实际上是由3个部分组成 :主引导加载程序(master bootloader code,446 字节)、主分区表 (ppt)、magic nubmer (0xAA55)组成主分区表有4个记录,对 阅读全文
posted @ 2010-12-18 14:06 super119 阅读(341) 评论(0) 推荐(0) 编辑
摘要:以前我们在执行一个需要长时间执行的命令的时候,都是用的nohup+&这对组合,&是进程放到后台,nohup的作用是拦截SIGHUP信号,使我们的终端,比如SSH终端退出的时候,程序依旧留在linux系统中。但是这对组合有问题,特别是&,比如有些程序无法放到后台等。所以,今天介绍的screen,为你解决这些问题,非常的好用。不过貌似screen要在CentOS 4开始才是操作系统自带的。Screen是GNU做的,是free的。Screen等于一个虚拟窗口,以下列出三种常用的方式:1. 直接在命令行中输入screen,此时发现好像没什么反应,其实已经新开了一个shell,这个shell是scree 阅读全文
posted @ 2010-12-18 14:02 super119 阅读(1078) 评论(0) 推荐(0) 编辑