Debian的最小化安装非常节省空间,Debian的哲学是用到什么再安装,不像RedHat,把你可能用到的都给你装上。
最小化安装的Debain不能用来编译安装软件,因为它不包含编译代码所需的工具。
一般安装上下面的组件之后,即可:
apt-get install build-essential
Debian的最小化安装非常节省空间,Debian的哲学是用到什么再安装,不像RedHat,把你可能用到的都给你装上。
最小化安装的Debain不能用来编译安装软件,因为它不包含编译代码所需的工具。
一般安装上下面的组件之后,即可:
apt-get install build-essential
系统环境:CentOS Linux 5.3
有时候误操作,会使文件系统的权限混乱,这是系统所不允许的。
那么,误操作之后怎么恢复到原来的状况呢(指文件权限相关的)?
重新安装软件包(yum reinstall xxxx )不失为一种方法,但是不够聪明。其实官方提供的有现成的解决方法:使用 RPM 包管理器。
1. 查找到需要恢复的文件
#rpm -Va | grep “M”
2. 确定哪些包需要重设权限
# rpm -Va | grep “M” | awk ‘{print $2}’| xargs rpm -qf | sort -u
3. 重置这些包的权限
# rpm -Va | grep “M” | awk ‘{print $2}’| xargs rpm -qf | sort -u | xargs rpm –setperms
重点儿是 rpm 的 –setperms 开关,其中还有四个可选选项:
-a 表示所有已安装软件包
-f 后跟文件,表示包含此文件的已安装的软件包
-p 后跟包文件,重置用这个包安装的文件的权限。
-g 后跟组名,按组重置权限。
直接跟包的名字,重置包的权限。
RPM校验软件包时发现的一个问题:
rpm -Va 时有时(reinstall了软件包或者重置的软件包的权限)会出现类似下面这样的提示信息:
prelink: /usr/lib/libnl.so.1.0-pre5: at least one of file’s dependencies has changed since prelinking
这便引出了另一个问题,prelink。
解决的办法是:prelink /usr/lib/libnl.so.1.0-pre5
在 /etc/cron.daily/下,有一个关于prelink的脚本prelink,每天会执行一次。
原作者:曹刚
计算机由cpu、内存、硬盘三个重要硬件构成,cpu是计算资源,属于时间资源,内存和外部存储(硬盘等)属于空间资源。在计算机中,我们知道速度最快的是cpu,cpu由控制单元、运算单元、时钟组成。cpu寄存器阵列实际上相当于处理器内部存储器,寄存器容量非常小,仅用于临时存储计算数据所用,它的存储速度最快。
我们大家知道,cpu速度相对磁盘来说,相差非常大,因此cpu是不能直接从硬盘读取数据的,必须先把数据从磁盘读取到内存之后,cpu才能对内存中的数据进行操作,内存的速度比磁盘快很多,但是要比cpu慢。我们可以看见,速度从慢到快的顺序来排列为:磁盘-内存-cpu。
从目前的情况来看,每隔一段时间,cpu的运算速度便会大幅度提升,但是内存和磁盘(特别是磁盘)的速度一直没有多大提升。因此在我们的系统中,经常发现的系统瓶颈出现在磁盘上。如果磁盘、内存速度和cpu速度一样快,那么我们工作中很多问题就很简单了,但是事实却是相反,因此我们有必要深入了解时间与空间的关系,在这个基础上进行架构设计、软件设计以及维护,能够起到事半功倍的效果。
1. 查看当前时区
cat /etc/sysconfig/clock
2. 复制相应的时区文件,替换系统默认时区
#cp /usr/share/zoneinfo/$主时区/$次时区 /etc/localtime
对于中国服务器:
#cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
Nagios是一个常用的“状态监控”系统,能及时、准确的发现系统状态的变化,在系统运维中发挥着重要的作用。
系统环境:CentOS Linux
1. 安装前的准备
安装Nagios之前需要系统安装下面几个软件包:
Apache
PHP
GCC compiler
GD development libraries
使用下面的命令安装
yum install httpd php
yum install gcc glibc glibc-common
yum install gd gd-devel
yum install mysql mysql-devel (使用系统的mysql库,或者自定义,可以编译出check_mysql等与mysql相关的检查工具)
2. 建立Nagios运行账号
/usr/sbin/useradd -m nagios
passwd nagios
/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -a -G nagcmd nagios
/usr/sbin/usermod -a -G nagcmd apache
3. 下载
cd /usr/local/src
wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nagios-3.2.0.tar.gz
wget http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.11.tar.gz
4. 编译安装Nagios
cd /usr/local/src
tar xzf nagios-3.2.0.tar.gz
cd nagios-3.2.0
./configure –with-command-group=nagcmd –prefix=/opt/nagios-3.2.0
make all
make install #安装二进制程序
make install-init #安装init脚本
make install-config #安装样例配置文件
make install-commandmode # 设置扩展命令目录权限
5. 修改配置
首先要修改的配置是管理员的邮箱地址,编辑配置文件/opt/nagios-3.2.0/etc/objects/contacts.cfg。
6. 配置web界面
cd /usr/local/src/nagios-3.2.0
make install-webconf
设置访问帐户
htpasswd -c /opt/nagios-3.2.0/etc/htpasswd.users nagiosadmin
7. 编译安装nagios-plugins
cd /usr/local/src
tar xzf nagios-plugins-1.4.11.tar.gz
cd nagios-plugins-1.4.11
./configure –with-nagios-user=nagios –with-nagios-group=nagios –prefix=/opt/nagios-3.2.0
make
make install
8. 启动Nagios
chkconfig –add nagios
chkconfig nagios on
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg #校验配置文件
如果没有配置错误
service nagios start
9. 修改SELinux
假如系统没有关闭SELinux子系统:
查看 SELinux 是否运行在 Enforcing 模式.
getenforce
设置 SELinux 运行至 Permissive 模式.
setenforce 0
要永久的使之生效需要修改配置文件 /etc/selinux/config 然后重启系统。
为了安全起见,在不关闭SELinux或者将SELinux模式设置成 Permissive 模式的情况下,可以通过下面的设置允许在SELinux的enforcing/targeted模式下运行CGIs:
chcon -R -t httpd_sys_content_t /opt/nagios-3.2.0/sbin/
chcon -R -t httpd_sys_content_t /opt/nagios-3.2.0/share/
实现双线(接口)双IP,一般基于两种需求:
1. 允分利用多接口,提高服务器的网络吞吐能力。在两个网卡上分别接上网络,分别配置一个IP地址,想像着可以突破服务器本身网卡速度的限制。比如下载服务器,接两根网线,配置两个IP,于是便有了两个网卡上的带宽可以使用。
2. 经典的双线双IP,借助于“智能DNS系统”,解决网通、电信网络之间访问的网络瓶颈。
想象很美好,但是实际上,并不是那么容易实现的。
一般情况下,一台主机的网络参数里有一个“默认网关”。所谓默认网关的意义就是:凡是路由表中没有明确指明应该发往哪里(接口)的数据包,通通发往“默认网关”(接口)。
那么,当有两个接口(需要分别配置一个IP)的时候,该怎么配置“默认网关”呢?姑且先不管能不能配上两个“默认网关”,对于系统来说,系统是不是会犯迷糊?“两个默认网关,我到底将包发往哪儿?”
所以,并不是想当然的,给系统的两个接口上配置两个IP,然后就可以想当然的实现“双IP了”。
在Windows 2003上,是不允许配两个不在同一网络(IP不在同一子网——可以简单的认为不在同一网段)的两个默认网关的。并且Windows 2003的双接口双默认网关配置是用来提供网络链路冗余的。
实现双线双IP的最常用的方式,是配一个默认网关,另一个接口不配置默认网关,使用添加静态路由的方式使用第二个接口。其实整个网络上的数据包转发都是由“路由表”决定的。正确的理解路由表,就不会想当然的认为可以随意的配置多接口了。
使用静态路由的方式,显然不够方便。假如是电信、网通的双线,那么将会要维护大量的路由表信息,几乎是不可维护的。
Linux提供了一个“Advanced IP routing and network device configuration tools”,iproute,系统自带,网方网址:http://linux-net.osdl.org/index.php/Iproute2。
使用iproute解决问题的思路是:从哪个接口进,就从哪个接口出。
举例说明:
系统环境:CentOS Linux
网络环境: 两个IP地址,192.168.2.10和192.168.3.10,掩码是255.255.255.0,这两个子网的网关地址分别是192.168.2.1和192.168.3.1。
1. 为网卡eth0配置ip地址192.168.2.10,为网卡eth1配置ip地址为192.168.3.10
配置文件为:
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-eth1
2. 配置默认网关为任意一个,比如192.168.2.1。这个默认网关,决定了系统主动去使用网络时,使用的接口。
配置文件:/etc/sysconfig/network
3. 编辑路由表
修改/etc/iproute2/rt_tables,添加内容:
252 net2
251 net3
#添加原路返回路由
ip route flush table net2
ip route add default via 192.168.2.1 dev eth0 src 192.168.2.10 table net2
ip rule add from 192.168.2.10 table net2
ip route flush table net3
ip route add default via 192.168.3.1 dev eth1 src 192.168.3.10 table net3
ip rule add from 192.168.3.10 table net3
4. 第3步中的设置路由的命令需要系统启动后自动运行,需要写进/etc/rc.local中。