Archive for category Linux

管理 sendmail 的邮件队列

邮件队列是存储 sendmail 命令传送的邮件消息数据和控制文件的目录。缺省情况下,邮件队列是 /var/spool/mqueue。

邮件消息可能由于很多原因而排入队列。

例如:

  1. sendmail 命令可以配置成按一定的时间间隔处理队列,而不是立即处理。如果这样,邮件消息必须临时存储。
  2. 如果一个远程主机不响应一个邮件连接的请求,邮件系统会将这些消息排入队列,稍后再作尝试。

打印邮件队列

队列内容可以使用 mailq 命令打印(或通过指定 sendmail 命令的 -bp 标志)。

这些命令产生队列标识、消息大小、消息进入队列的日期以及发送方与收件人的列表。

邮件队列文件

队列中的每条消息都与一定数量的文件相关联。这些文件按以下约定命名:

TypefID

其中 ID 是一个唯一的消息队列标识,而 Type 是以下表示文件类型的字母中的一个:

d 包含消息正文但无标题信息的数据文件。
q 队列控制文件。该文件包含处理作业所需要的信息。
t 临时文件。该文件是 q 文件重建时的一个映象。它快速重命名为 q 文件。
x 在会话过程中存在并显示该次会话中发生的任何事件的记录文件。

例如,如果一条消息的队列标识为 AA00269,当 sendmail 命令尝试传送消息时,在邮件队列目录中创建和删除以下文件:

dfAA00269 数据文件
qfAA00269 控制文件
tfAA00269 临时文件
xfAA00269 记录文件

q 控制文件

q 控制文件包括一系列行,每一行都以一个代码字母开始:

B 指定 body type。该行其余部分是定义 body type 的文本字符串。如果缺失该项字段,则缺省情况下 body type 是 7 位的,而且不会尝试特殊的处理。合法值是 7BIT 和 8BITMIME。
C 包括控制用户。对于以文件或程序作收件人的地址,sendmail 作为该文件或程序的所有者来执行传送。控制用户被设置为文件或程序的所有者。由 .forward 或 :include: 文件读取的收件人地址也将使控制用户被设置为文件所有者。当 sendmail 传送邮件到这些收件人时,sendmail 作为控制用户传送,然后转换回 root 用户。
F 包括信包标志。标志是以下的任意组合:w(设置 EF_WARNING 标志)、r(设置 EF_RESPONSE 标志)、8(设置 EF_HAS8BIT 标志)和 b(设置 EF_DELETE_BCC 标志)。其它字母则被忽略而无提示。
H 包括一个标题定义。此类行的数量任意。H 行出现的顺序确定了它们在最终消息里的出现顺序。这些行使用的语法与 /etc/mail/sendmail.cf 配置文件中的标题定义相同。(对于早于 AIX 5.1 的版本,该文件是 /etc/sendmail.cf。)
I 为 df 文件指定内节点和设备信息;这可以在磁盘崩溃后用来恢复邮件队列。
K 指定上一次传输尝试的时间(以秒为单位)。
M 当一条消息由于在传送尝试中出现了错误而放入队列时,错误的性质就存储在 M 行。
N 指定传送尝试的总数。
O 指定 ESMTP 的消息传输系统(MTS)的原始值。它只用于传送状态通知。
P 包括当前消息的优先级。优先级用来对队列排序。数字越大表示优先级越低。当消息位于队列中时优先级增加。初始优先级取决于消息的类和消息的大小。
Q 包含初始收件人,由 ESMTP 事务中的 ORCPT= 字段指定。仅用于传送状态通知。只应用于紧接着的 R 行。
R 包含收件人地址。每个收件人占一行。
S 包含发送方地址。此类行只有一行。
T 包含消息创建时间,用来计算何时消息超时。
V 指定队列文件格式版本号(该队列文件格式用来允许新的 sendmail 二进制文件读取旧版本创建的队列文件)。缺省时指版本 0。如果存在,必须是文件的第一行。
Z 指定原始信包标识(从 ESMTP 事务中)。只用于传送状态通知。
$ 包含宏定义。某些宏($r 和 $s)的值会传递到队列运行阶段。

传送到 amy@zeus 的消息的 q 文件类似于:

P217031
T566755281
MDeferred: Connection timed out during user open with zeus
Ramy@zeus
H?P?return-path: <geo>
Hreceived: by george (0.13 (NL support)/0.01)
id AA00269; Thu, 17 Dec 87 10:01:21 CST
H?D?date: Thu, 17 Dec 87 10:01:21 CST
H?F?From: geo
Hmessage-id: <8712171601.AA00269@george>
HTo: amy@zeus
Hsubject: test

其中:

P217031 消息的优先级
T566755281 提交时间(秒)
MDeferred: Connection timed out during user open with zeus 状态消息
Sgeo 发送方标识
Ramy@zeus 收件人标识
Hlines 消息的报头信息

在 sendmail 中指定时间值

要设置消息超时和队列处理间隔,必须用特定的时间值格式。时间值的格式是:

-qNumberUnit

其中 Number 是一个整数值,Unit 是单位字母。Unit 可以是以下值中的一个:

s
m
h 小时
d
w

如果没有指定 Unit,sendmail 守护程序使用分(m)作为缺省值。下面三个示例说明时间值的规范:

/usr/sbin/sendmail -q15d

该命令使得 sendmail 守护程序每 15 天处理一次队列。

/usr/sbin/sendmail -q15h

该命令使得 sendmail 守护程序每 15 小时处理一次队列。

/usr/sbin/sendmail -q15

该命令使得 sendmail 守护程序每 15 分钟处理一次队列。

强制邮件队列

在某些情况下,您可能发现队列由于某种原因阻塞。您可以使用 -q 标志(没有值)强制一个队列运行。您也可以用 -v 标志(详细)来观察发生了什么:

/usr/sbin/sendmail -q -v

使用一个队列修饰符,您也可以将作业限制在具有特定队列标识符、发送方或收件人的范围中。例如,-qRsally 将队列运行限制为收件人地址之一中有字符串 sally 的作业。同样,-qS 字符串会将运行限制为特定的发送方,而 -qI 字符串将它限制为特定的队列标识。

设置队列处理时间间隔

守护程序启动时 -q 标志的值确定 sendmail 守护程序处理邮件队列的时间间隔。

sendmail 守护程序通常由 /etc/rc.tcpip 文件在系统启动时启动。/etc/rc.tcpip 文件包含一个称为队列处理间隔(QPI)的变量,该变量在该文件启动 sendmail 守护程序时用来指定 -q 标志的值。缺省情况下,qpi 的值是 30 分钟。要指定不同的队列处理间隔:

  1. 用您喜欢的编辑器编辑 /etc/rc.tcpip 文件。
  2. 查找给 qpi 变量指定值的行,例如: 
    qpi=30m
  3. 将指定给变量 qpi 的值更改为希望的时间值。

这些变化会在下一次系统重新启动时生效。如果您想让这些变化立刻生效,请停止并重新启动 sendmail 守护程序,指定新的 -q 标志值。更多相关信息,请参阅停止 sendmail 守护程序和启动 sendmail 守护程序。

移动邮件队列

当一个主机长期关闭时,路由到(或通过)该主机的很多消息可能存储在邮件队列中。结果 sendmail 命令要花费很长时间对队列排序,这严重降低了系统性能。如果您移动队列到一个临时空间并创建一个新的队列,旧队列可以稍后在该主机恢复服务后运行。要移动队列到一个临时空间并创建一个新的队列,请:

  1. 按停止 sendmail 守护程序中的指示信息停止 sendmail 守护程序。
  2. 输入以下内容移动整个队列目录: 
    cd /var/spool
        mv mqueue omqueue
  3. 按启动 sendmail 守护程序中的指示信息重新启动 sendmail 守护程序。
  4. 输入以下内容处理旧邮件队列: 
    /usr/sbin/sendmail -oQ/var/spool/omqueue -q

    -oQ 标志指定一个备用队列目录。 -q 标志指定运行队列中的每一项作业。要获取操作过程的报告,请使用 -v 标志。

    注:
    此操作可能要花些时间。
  5. 当队列为空时,输入以下内容除去日志文件和临时目录: 
    rm /var/spool/omqueue/*
        rmdir /var/spool/omqueue

启动 sendmail 守护程序

要启动 sendmail 守护程序,请输入以下命令中的一个:

startsrc -s sendmail -a "-bd -q15"

 

/usr/lib/sendmail -bd -q15

如果 sendmail 守护程序在输入这些命令中的一个时已经激活,请参阅屏幕上的以下消息:

sendmail 子系统已经激活。不支持多实例。

如果 sendmail 守护程序没有被激活,您将会看到一条消息表示 0sendmail 守护程序已经启动。

停止 sendmail 守护程序

要停止 sendmail 守护程序,请运行 stopsrc -s sendmail 命令。

如果 sendmail 守护程序没有随 startsrc 命令启动,请:

  • 查找 sendmail 进程标识。
  • 输入 kill sendmail_pid 命令。(其中 sendmail_pid 是 sendmail 过程的处理标识)。af1
  • Share/Bookmark

Linux系统信息查看命令大全

系统

# uname -a               # 查看内核/操作系统/CPU信息
# head -n 1 /etc/issue   # 查看操作系统版本
# cat /proc/cpuinfo      # 查看CPU信息
# hostname               # 查看计算机名
# lspci -tv              # 列出所有PCI设备
# lsusb -tv              # 列出所有USB设备
# lsmod                  # 列出加载的内核模块
# env                    # 查看环境变量

资源

# free -m                # 查看内存使用量和交换区使用量
# df -h                  # 查看各分区使用情况
# du -sh <目录名>        # 查看指定目录的大小
# grep MemTotal /proc/meminfo   # 查看内存总量
# grep MemFree /proc/meminfo    # 查看空闲内存量
# uptime                 # 查看系统运行时间、用户数、负载
# cat /proc/loadavg      # 查看系统负载

磁盘和分区

# mount | column -t      # 查看挂接的分区状态
# fdisk -l               # 查看所有分区
# swapon -s              # 查看所有交换分区
# hdparm -i /dev/hda     # 查看磁盘参数(仅适用于IDE设备)
# dmesg | grep IDE       # 查看启动时IDE设备检测状况

网络

# ifconfig               # 查看所有网络接口的属性
# iptables -L            # 查看防火墙设置
# route -n               # 查看路由表
# netstat -lntp          # 查看所有监听端口
# netstat -antp          # 查看所有已经建立的连接
# netstat -s             # 查看网络统计信息

进程

# ps -ef                 # 查看所有进程
# top                    # 实时显示进程状态

用户

# w                      # 查看活动用户
# id <用户名>            # 查看指定用户信息
# last                   # 查看用户登录日志
# cut -d: -f1 /etc/passwd   # 查看系统所有用户
# cut -d: -f1 /etc/group    # 查看系统所有组
# crontab -l             # 查看当前用户的计划任务

服务

# chkconfig --list       # 列出所有系统服务
# chkconfig --list | grep on    # 列出所有启动的系统服务

程序

# rpm -qa                # 查看所有安装的软件包
  • Share/Bookmark

Tags: , , , , , , , , , ,

CentOS 5.x系统服务优化详解

下面的建议主要是针对 Linux 单机服务器的角色来说明的,不是针对桌面环境

服务名称 功能简介
acpid (系统)进阶电源管理的介面,这是一个新的电源管理模组, 可以监听来自核心层的电源相关事件而予以回应。 CentOS 的设定档在 /etc/acpi/events/power.conf 中,预设仅有当你按下 power 按钮时,系统会自动关机!

anacron(可关闭) (系统)与循环型的工作排程 cron 有关,可在排程过期后还可以唤醒来继续执行, 设定档在 /etc/anacrontab。

apmd(可关闭) (系统)设定档在 /etc/sysconfig/apmd ,也是电源管理模组! 可侦测电池电量,当电池电力不足时,可以自动关机以保护电脑主机。

atd (系统)单一的例行性工作排程,抵挡机制的设定档在 /etc/at.{allow,deny}

auditd (系统)可以让系统需 SELinux 稽核的讯息写入 /var/log/audit/audit.log 中。若此服务没有启动,则讯息会传给 syslog 管理。

autofs(可关闭) (系统)可用来自动挂载来自网路上的其他伺服器所提供的网路磁碟机 (一般是 NFS)。 不过我们是单机系统,所以目前还没必要这个服务。

avahi-daemon(可关闭) (系统)也是一个用户端的服务,可以透过 Zeroconf 自动的分析与管理网路。 Zeroconf 较常用在笔记型电脑与行动装置上,所以我们可以先关闭他!

bluetooth(可关闭) (系统)用在蓝芽装置的搜寻上,如果 Linux 是当作伺服器使用时, 这个服务可以暂时关闭也没关系!

cpuspeed (系统)可以用来管理 CPU 的频率功能。若系统闲置时,此项功能可以自动的降低 CPU 频率来节省电量与降低 CPU 温度喔!

crond (系统)系统设定档为 /etc/crontab。

cups(可关闭) (网路)用来管理印表机的服务,可以提供网路连线的功能,有点类似列印伺服器的功能哩! 你可以在 Linux 本机上面以浏览器的 http://localhost:631 来管理印表机!由于我们目前没有印表机,所以可以暂时关闭他。

firstboot(可关闭) (系统)还记得系统第一次进入图形介面还需要进行一些额外的设定吗? 就是这个服务的帮忙啦!既然已经安装妥当,现在你可以将这个服务关闭啰。

gpm (系统)在 tty1~tty6 的环境下你竟然可以使用滑鼠功能来复制贴上,就是这个 gpm 提供的能力啦!

haldaemon(可关闭) (系统)通常用在桌上型电脑的环境中,可侦测类似 usb 的装置呢! 不过,如果是伺服器环境,这个服务倒是可以关闭啦!如果是桌上型电脑,那最好可以启动啰!

hidd(可关闭) (系统)也是蓝芽服务的功能啦!可以提供键盘、滑鼠等蓝芽装置的侦测哩! 须搭配 bluetooth。伺服器环境倒是不需要此项服务。

hplip(可关闭) (系统)主要是针对 HP 的印表机功能所开发的脚本服务,如果你的环境中并没有 HP 相关设备,这个服务就给他关闭吧!

ip6tables(可关闭) (网路)是针对本机的防火墙功能!这个防火墙主要是针对 IPv6 的版本, 如果你的网路环境并没有 IPv6 的设备,那么这个服务是可以关闭的。

iptables (网路)本机防火墙功能,是核心支援的呢!所以功能与效能都非常棒!当然不能够取消啊! 只是设定上就得要努力研究啦!我们会在伺服器篇介绍网路相关资讯的。

irqbalance (系统)如果你的系统是多核心的硬体,那么这个服务要启动, 因为它可以自动的分配系统中断 (IRQ) 之类的硬体资源。

isdn(可关闭) (网路)ISDN 是一种宽频设备 (数据机的一种) ,但是在台湾我们比较常使用 ADSL 及光纤设备, 所以这个服务是可以关闭啦。

kudzu(可关闭) (系统)如果你有增加新的硬体时,这个服务可以在开机时自动的侦测硬体, 并且会自动的呼叫相关的设定软体,方便你在开机时就处理好你的硬体啊!

lm_sensors(可关闭) (系统)这个服务可以帮你侦测主机板的相关侦测晶片,举例来说, 某些主机板会主动的侦测 CPU 温度、频率、电压等,这个 lm_sensors 能够将这些温度、频率等数据显示出来喔!

lvm2-monitor (系统)我们已经谈过 LVM 啰!所以我们当然要启动这个服务比较妥当。

mcstrans (系统)与 SELinux 有关的服务,最好也启动啊!

mdmonitor(可关闭) (系统)可以侦测所有软体的状态,暂时似乎也不需要启动这个服务哩!

messagebus(可关闭) (系统)可用来沟通各个软体之间的讯息,有点类似剪贴簿的感觉。 不过在伺服器环境则没有强烈需求就是了。

microcode_ctl(可关闭) (系统)Intel 的 CPU 会提供一个外挂的微指令集提供系统运作, 不过,如果你没有下载 Intel 相关的指令集档案,那么这个服务不需要启动的,也不会影响系统运作。

netfs(可关闭) (网路)可以进行网路磁碟机 (NFS, SMB/CIFS) 的挂载与卸载功能。 目前我们尚未使用网路,因此这个服务可以先关闭。

network (网路)提供网路设定的功能,所以一定要启动的啦!

nfslock(可关闭) (网路)NFS 为一种 Unix like 的网路磁碟机,但在进行档案的分享时, 为了担心同一档案多重编辑的问题,所以会有这个锁住 (lock) 的服务!可以避免同一个档案被两个不同的人编辑时所造成的档案错误问题。

pcscd(可关闭) (系统)智慧卡侦测的服务,可以关闭他啦。

portmap (网路)用在远端程序呼叫的服务,很多服务都使用这个玩意儿来辅助连线的, 因此建议不要取消他,除非你确定你的系统没有使用到任何的 RPC 服务喔!

readahead_early
readahead_later
(可关闭) (系统)在系统开机的时候可以先将某些程式载入到记忆体中,以方便快速的载入, 可加快一些启动的速度。

restorecond (系统)利用 /etc/selinux/restorecond.conf 的设定来判断当新建档案时,该档案的 SELinux 类型应该如何还原。需要注意的是,如果你的系统有很多非正规的 SELinux 档案类型设定时,这个 daemon 最好关闭,否则他会将你设定的 type 修改回预设值。

rpcgssd
rpcidmapd
(可关闭) (网路)与 NFS 有关的用户端功能,在你还没有玩到网路阶段时, 这两个咚咚也能够先取消啦!

sendmail (网路)这就是电子邮件的软体啊!我们想要拥有可寄信的功能时, 这个服务可不能关闭。不过,预设这个服务仅能支援本机的功能,无法收受来自网际网路的邮件喔!

setroubleshoot (系统)一定要启动啊!因为这玩意儿可以将你的 SELinux 相关讯息记录在 /var/log/messages 里面,非常有帮助喔!

smartd (系统)这个服务可以自动的侦测硬碟状态,如果硬碟发生问题的话, 还能够自动的回报给系统管理员,是个非常有帮助的服务喔!不可关闭他啊!

sshd (网路)这个是远端连线伺服器的软体功能, 这个通讯协定比 telnet 好的地方在于 sshd 在传送资料时可以进行加密喔!这个服务不要关闭他啦!

syslog (系统)这个服务可以记录系统所产生的各项讯息, 包括 /var/log/messages 内的几个重要的登录档啊。

xfs(可关闭) (系统)这个是 X Font Server,主要提供图形介面的字型的一个服务, 如果你不启动 X 视窗的话,那么这个服务可以启动。但是如果你有需要用到 X 时,一定要启动这玩意儿,否则图形介面是无法启动的喔。

xinetd (系统)就是 super daemon 啊,不必讲了吧 ^_^

yum-updatesd (可关闭)可以透过 yum 的功能进行软体的线上升级机制, 若有升级的软体释出时,就能够以邮件或者是 syslog 来通知系统管理原来手动升级啊。

上面的服务是 CentOS 5.x 预设有启动的,这些预设启动的服务很多是针对桌面电脑所设计的,所以啰,如果你的 Linux 主机用途是在服务器上面的话,那么有很多服务是可以关闭的啦!如果你还有某些不明白的服务想要关闭的, 请务必要搞清楚该服务的功能为何喔!举例来说,那个 syslog 就不能关闭,如果你关掉他的话,系统就不会记录登录档, 那你的系统所产生的警告讯息就无法记录起来,你将无法进行 debug 喔。

下面继续说明一些可能在你的系统当中的服务,只是预设并没有启动这个服务就是了。只是说明一下, 各服务的用途还是需要您自行查询相关的文章啰。

其他服务的简易说明
服务名称 功能简介
dovecot (网路)可以设定 POP3/IMAP 等收受信件的服务,如果你的 Linux 主机是 email server 才需要这个服务,否则不需要启动他啦!
httpd (网路)这个服务可以让你的 Linux服务器成为 www server 喔!
named (网路)这是域名解析服务器 (Domain Name System) 的服务, 这个服务非常重要,但是设定非常困难!目前应该不需要这个服务啦!
nfs (网路)这就是 Network Filesystem,是 Unix-Like 之间互相作为网路磁碟机的一个功能。
ntpd (网路)服务的全名是 Network Time Protocol ,这个服务可以用来进行网路校时, 让你系统的时间永远都是正确的哩!
smb (网路)这个服务可以让 Linux 模拟成为 Windows 上面的网路上的芳邻。 如果你的 Linux 主机想要做为 Windows 用户端的网路磁碟机服务器,这玩意儿得要好好玩一玩。
squid (网路)作为代理服务器的一个服务,可作为一个区域网路的防火墙之用。
vsftpd (网路)作为档案传输服务器 (FTP) 的服务。

  • Share/Bookmark

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

CentOS 5 优化方案

系统环境部署及调整
检查系统是否正常
# more /var/log/messages (检查有无系统内核级错误信息)
# dmesg (检查硬件设备是否有错误信息)
# ifconfig(检查网卡设置是否正确)
# ping www.163.com (检查网络是否正常)

[1] 停止打印服务

  如果不准备提供打印服务,停止默认被设置为自动启动的打印服务。

root@sample ~]#/etc/rc.d/init.d/cups stop ← 停止打印服务
Stopping cups:            [OK]    ← 停止服务成功,出现“OK”

[root@sample ~]#chkconfig cups off ← 禁止打印服务自动启动

[root@sample ~]#chkconfig –list cups ← 确认打印服务自启动设置状态
cups0:off 1:off 2:off 3:off 4:off 5:off 6:off ← 0-6都为off的状态就OK(当前打印服务自启动

被禁止中)
[2] 停止ipv6

  在CentOS默认的状态下,ipv6是被启用的状态。因为我们不使用ipv6,所以,停止ipv6,以最大限

度保证安全和快速。

  首先再次确认一下ipv6功能是不是被启动的状态。

root@sample ~]#ifconfig -a ← 列出全部网络接口信息

eth0 Link encap:Ethernet HWaddr 00:0C:29:B6:16:A3
inet addr:192.168.0.13 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:feb6:16a3/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:84 errors:0 dropped:0 overruns:0 frame.:0
TX packets:93 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:10288 (10.0 KiB) TX bytes:9337 (9.1 KiB)
Interrupt:185 Base address:0×1400

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:12 errors:0 dropped:0 overruns:0 frame.:0
TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:952 (952.0 b) TX bytes:952 (952.0 b)

sit0 Link encap:IPv6-in-IPv4 ← 确认ipv6是被启动的状态
NOARP MTU:1480 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame.:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
  然后修改相应配置文件,停止ipv6。

[root@sample ~]#vi /etc/modprobe.conf ← 修改相应配置文件,添加如下行到文尾:

alias net-pf-10 off
alias ipv6 off

[root@sample ~]#shutdown -r now ← 重新启动系统,使设置生效

[3]Centos5中自带的源就蛮好了,一装完我就yum install -y rdesktop了,建议保留,再加system-config-packages,装程序会事产功倍

[4]使用 yum 程序安装所需开发包(以下为标准的 RPM 包名称)
gcc gcc-c++ gcc-g77 flex bison autoconf automake bzip2-devel zlib-devel ncurses-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel pam-devel

[5] 修改命令history记录
# vi /etc/profile
找到 HISTSIZE=1000 改为 HISTSIZE=200

[6] 对TCP/IP网络参数进行调整,加强抗SYN Flood能力
# echo ‘net.ipv4.tcp_syncookies = 1′ >> /etc/sysctl.conf
# sysctl -p

[7]关闭不需要的服务
# ntsysv
以下仅列出需要启动的服务,未列出的服务一律关闭:
crond
irqbalance (仅当服务器CPU为S.M.P架构或支持双核心、HT技术时,才需开启,否则关闭。)
microcode_ctl
network
random
sendmail
sshd
syslog

  • Share/Bookmark

Tags: , , , , , , , , , , , , , , , , , , , , ,

CentOS 5.5 安装和卸载桌面

显示系统已经安装的组件,和可以安装的组件:
#yum grouplist
安装GNOME桌面环境
yum groupinstall “GNOME Desktop Environment”
安装KDE桌面环境
yum groupinstall “KDE (K Desktop Environment)”
卸载GNOME桌面环境
yum groupremove “GNOME Desktop Environment”
卸载KDE桌面环境
yum groupremove “KDE (K Desktop Environment)”

  • Share/Bookmark

Tags: , , , ,

虚拟机配置海蜘蛛软路由

实体机操作系统为windows server 2008,只有一个网卡,接D-Link路由,网关为192.168.0.1,IP为192.168.0.108

在实体机VMware上装海蜘蛛ISP运营商版   v6.1.0,使用双虚拟网卡

登陆web管理后,设广义网接口为192.168.0.155,静态IP,局域网另开一网段,如192.168.2.1,开启DHCP

做这个,主要是因为D-Link不支持策略路由,甚至不支持VPN共享

通过海蜘蛛的PPTP和高级策略路由设置,即可整个局域网在访问指定IP段时通过VPN借线自动切换

  • Share/Bookmark

Tags: , , , , ,

Time to live exceeded?

美国主机网络故障,某些时段对某些网段无法ping通

返回信息:

From xxx.xxx.xxx.xxx icmp_seq=0 Time to live exceeded

From xxx.xxx.xxx.xxx icmp_seq=1 Time to live exceeded

……

google一下:

解释:

TTL是生存时间的意思,就是说这个ping的数据包能在网络上存在多少时间。当我们对网络上的主机进行ping操作的时候,我们本地机器会发出一个数据包,数据包经过一定数量的路由器传送到目的主机,但是由于很多的原因,一些数据包不能正常传送到目的主机,那如果不给这些数据包一个生存时间的话,这些数据包会一直在网络上传送,导致网络开销的增大。当数据包传送到一个路由器之后,TTL就自动减1,如果减到0了还是没有传送到目的主机,那么就自动丢失。

当TTL被扣到0时,最后一个经手的路由器就会给源主机发来一个Time to live exceeded的ICMP信息。

可能原因:

估计是网络路由成环了,报文在环中反复转发,转发一次ttl就减一,当ttl变为0时就会向源发送上述信息。建议用traceroute命令试一下,看看是不是路由成环了,把上面命令的ping换成traceroute即可。

  • Share/Bookmark

Tags: , ,

安装iRedmail时当机

本打算试一下,结果安装过程当机了,忘了记下错误信息,搞得我本来的服务器无法访问,危险

改天弄个虚拟机装,或,再弄台新的裸机测试,玩笑不能乱开了

到时再补上经验

官方网站:iRedmail

中国人搞的,有点担心其质量

  • Share/Bookmark

Tags: , ,

使用Putty密钥验证自动登陆服务器

1、下载Putty
Putty.exe作用是连接运行服务器
官方网站:
http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe
下载后不需要安装,绿色软件直接运行即可

2、下载Puttygen.exe
Puttygen.exe作用是用来生成密钥
官方网站:
http://the.earth.li/~sgtatham/putty/latest/x86/puttygen.exe
PuttYgen 是密钥生成器,用来生成一对公钥和私钥供 PuTTY、PSCP、Plink、Pagent 来使用。

3、运行Puttygen.exe生成密钥
运行Puttygen.exe—->Parameters选项选择—–>SSH-2 RSA——> 点击 Generate 按钮开始生成密钥(可以在程序Key下方的空白处移动鼠标,直到生成密钥结束)—->点下面的 Save private key把私钥保存起来,扩展名是 .ppk 的文件。此时不要关闭程序。

4、连接远程服务器,上传密钥
使用Putty登陆远程服务器,在用户目录下,创建~/.ssh/authorized_keys
例如:

user@crazylemon.net%mkdir ~/.ssh
user@crazylemon.net%cd ~/.ssh
user@crazylemon.net%vi authorized_keys
复制Puttygen.exe程序Public key for pasting into Open SSH authorized_keys file:下面的内容到服务器上的authorized_keys文件中粘贴并保存退出。

5、使用Putty密钥方式验证自动登陆
打开Putty.exe——>Session——>Host name(or IP address)输入远程服务器IP地址—–>Connection——>data——>Auto-login username输入用于登陆的用户名——–>SSH—->Auth——>Private key file for authentication:—–>点击Browser选择到你保存私钥(.pkk)的文件。—->Open自动登陆到服务器上了。

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/36996/showart_381094.html

  • Share/Bookmark

Tags: , , , , , , , , , , ,

linux客户端复制运行批量命令时数据丢失

无论是PUTTY还是SecureCRT,复制大量命令粘贴执行时,都有可能造成数据丢失,意即个别命令不完整

解决方法是将所有命令写成XXX.sh文件,再通过/bin/bash XXX.sh执行,OK

  • Share/Bookmark

Tags: