在CentOS/RedHat中使用bind搭建主域名服务器

在CentOS/RedHat中使用bind搭建主域名服务器,记录一下。

1,安装必要软件
[code]
yum install bind bind-utils bind-chroot caching-nameserver -y
[/code]
其中,bind是主程序,bind-utils提供测试工具(如nslookup等),bind-chroot提供伪装目录增强安全性,caching-nameserver是作为缓存域名服务器的。
安装完成以后,bind在系统中的服务名为named,可以通过以下方式来启动服务:
[code]
service named start
或者 /etc/init.d/named start
[/code]

2,配置
因为安装了bind-chroot,故named的主配置文件位于/var/named/chroot/etc/,但目前没有配置文件,需要手动创建一个 继续阅读

Linux模拟硬盘资源耗尽故障

Linux硬盘资源包括[容量]及[文件数量(i节点)]两种,接下来,我们来模拟一下这两种资源分别被耗尽的故障。

环境搭建:
添加一块硬盘sdb,并在其中划分一块15M大小的分区/dev/sdb1,并将分区挂载至/mnt/111下。最后的挂载情况:
[code]
[root@localhost ~]# df -m #查看容量
Filesystem 1M-blocks Used Available Use% Mounted on
……省略内容
/dev/sdb1 16 2 14 8% /mnt/111
[root@localhost ~]# df -i #查看文件数量
Filesystem Inodes IUsed IFree IUse% Mounted on
……省略内容
/dev/sdb1 4016 11 4005 1% /mnt/111
[/code]

1,模拟文件数量(i节点)耗尽故障
首先写一段bash脚本1.sh,不停地向分区系统里写入空文件。脚本内容如下: 继续阅读

Linux不重启识别新添加的磁盘

众所周知,VMWare可以在线为linux添加磁盘,但是添加磁盘过后,一般linux需要重新启动才可以识别新增加的磁盘。一直以来,在添加硬盘的时候下面这条提示让我很疑惑,根据多年经验,这里一定有玄机,后来上百度Google了一下,让我发现了不重启就能识别新添加的硬盘的方法。

Linux不重启识别新添加的磁盘

1、在开机状态下新增磁盘
2、执行下面的命令
[code]echo “- – -” > /sys/class/scsi_host/host0/scan[/code]
然后再运行fdisk -l就能发现新添加的硬盘已经被系统识别了,查看系统日志/var/log/messages,发现对SCSI设备进行了一次重新扫描
注意:三个- – -号之间有空隔。 继续阅读

解决Red Hat系统umount: device is busy的问题

在Red Hat/CentOS系统中,要解除某个设备的挂载,经常会弹出 device is busy 的提示,这是因为系统中还有程序或用户在访问着设备上的文件,如果冒然强制卸载,可能会导致数据丢失和设备损坏,“Device is busy” 是一种保护措施。

[code]
[root@localhost ~]# df -h //查看现有挂载情况
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
19G 2.4G 15G 14% /
/dev/sda1 99M 12M 82M 13% /boot
tmpfs 252M 0 252M 0% /dev/shm
/dev/hdc 2.9G 2.9G 0 100% /mnt/cdrom
[root@localhost ~]# umount /mnt/cdrom //解除挂载
umount: /mnt/cdrom: device is busy //提示设备忙
umount: /mnt/cdrom: device is busy
[/code]

解决办法: 继续阅读

解决Red Hat系统”Cannot find a C compiler, aborting”问题

前日在某Red Hat系统安装软件的时候,突然提示“Cannot find a C compiler, aborting”。这是因为缺少gcc编译器导致的。gcc编译器是将源代码处理为机器可认识的二进制文件的重要程序。换言之,如果没有gcc编译器,就不能通过源代码方式来安装程序。一般的系统默认都会安装之,但也有少量系统未安装。

[code]
[root@localhost axel-2.4]# ./configure –prefix=/usr/local/axel
Cannot find a C compiler, aborting.
[root@localhost axel-2.4]# gcc –version //查看gcc版本
bash: gcc: command not found
[/code]

我们可以自己下载gcc软件包安装,但因为gcc有大量的依赖包,因此推荐使用yum方式来安装。

1,如果系统能连网,直接执行”yum install gcc*”安装gcc即可

2,如果系统不能连网,Red Hat安装光盘里自带了gcc软件包及其相关依赖包,我们只要将本地光盘设置为yum更新源,然后再执行”yum install gcc*”即可。

安装完成以后的检测:
[code]
[root@localhost axel-2.4]# gcc –version //查看c编译器的版本
gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-48)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

[root@localhost axel-2.4]# g++ –version //查看c++编译器的版本
g++ (GCC) 4.1.2 20080704 (Red Hat 4.1.2-48)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[/code]

Red Hat将本地光盘设置为yum更新源

在Red Hat/CentOS系统中,yum是个好东西,可以傻瓜化的快速安装一些软件包和补丁,当要安装的软件包有依赖包时,也可以自动把依赖包也装上(简直是懒人必备神器啊~)。其实很多软件包在Red Hat/CentOS的安装光盘中就已经有了,我们没必要再从远程服务器下载,本文我们教大家如何配置本地的yum源。

1,挂载本地光盘
首先在VMWare中设置好Red Hat的安装镜像,VMWare会自动把此镜像挂载到系统中,我们来看看默认的挂载情况:
[code]
[root@localhost ~]# df -l
Filgsystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
19172036 2436096 15746348 14% /
/dev/sda1 101086 12185 83682 13% /boot
tmpfs 257652 0 257652 0% /dev/shm
/dev/hdc 3038672 3038672 0 100% /media/RHEL_5.5 i386 DVD
[/code]
VMWare把镜像默认挂在了/media/RHEL_5.5 i386 DVD目录下,但因该目录名中包含了空格,无法使用cd进入该目录,也无法使用ls列出目录内容,所以我们要重新挂载一下。挂载前先记好光盘在系统中的设备名为/dev/hdc。 继续阅读

Centos出现 rm: cannot remove x: Read-only file system 的解决办法

最近自己的VPS之一出现了 rm: cannot remove `03/03a707c4dce673e6e33218917d710388.cache’: Read-only file system 的错误。自己谷歌了一下,把问题解决了,简单记录一下。

[code]
df -m #查看文件系统的划分,最大的那个,便是系统使用的文件系统
mount #或者这样查看文件系统的划分
fsck -y /dev/mapper/VolGroup00-LogVol00 #执行修复文件系统
shutdown -r now #修复完成后重启系统
[/code]

然后再次执行 rm -rf 就不会再提示 Read-only file system 了。