在FreeBSD系统中用pkill命令踢出SSH在线登录用户

FreeBSD是一个多用户多任务的操作系统,用户可以在不同地方通过ssh连上FreeBSD服务器,在系统中我们可以使用w命令来查看当前在线登录用户。

[root@host01 ~]# w

03:05:23 up 19 min, 3 users, load average: 0.00, 0.03, 0.05
USER TTY FROM   LOGIN@ IDLE WHAT
root p0 192.168.0.2 01:39 6:52 /usr/bin/perl
root p1 192.168.0.31 01:45 0.00s w
root p2 192.168.0.23 01:52 2.00s -bash

看到了吧,已经有3个用户登录到服务器了。接下来使用who am i 看那个是自己的登录终端,下面自己是pts/1

[root@host01 ~]# who am i
root p1 2009-08-02 03:06 (192.168.0.31)

接下来使用pkill命令将要其它的用户踢出,这里为p0和p2。 Continue reading

FreeBSD中重新分区提示"ERROR: Unable to write data to disk ad0! To edit the lables on a running system set sysctl kern.geom.debugflags=16 and try again."的解决办法

今天将FreeBSD系统重新安装系统的时候.将原来的分区全部删除.进行重新分区,而按下W进行分区保存的时候.提示以下错误:

ERROR: Unable to write data to disk ad0! To edit the lables on a running system set sysctl kern.geom.debugflags=16 and try again.

解决办法如下:

用root权限运行以下任何一条命令:
#sysctl -w kern.geom.debugflags=16
或者
#sysctl  kern.geom.debugflags=16

你可以用sysctl -a查询你系统的所有内核子系统的配置参数,在具备权限的情况下,你可以修改配置变量,其中有一些只读的属性无法修改,有一些属性只能在开机时设定而不是运行时动态修改的也不能改(这些参数/属性在/boot/loader.conf中调整和修改)

Freebsd解决ARP欺骗问题

1.不安装软件的方法。
首先要重启,确保你拿到的网关地址是正确的。
步骤如下:

ifconfig

显示类似如下内容

bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=1b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING>
inet 192.168.0.5 netmask 0xffffffc0 broadcast 192.168.0.1
ether 00:17:08:2a:13:88
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST,NEEDSGIANT> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet 127.0.0.1 netmask 0xff000000

我们把网关的信息存到一个文件里。

echo 192.168.0.1 00:17:08:2a:13:88 > /etc/ipmac

接着使用crontab -e编辑系统定时排程(计划任务)让它按照设定时间循环执行

*/5 * * * * /usr/sbin/arp -f /etc/ipmac

这样就每5分钟更新一次网关MAC地址,保证正确。 Continue reading

FreeBSD下自动检查网卡状态并自动启用网卡

#/bin/bash

log_file=`date +%Y%m%d`
log_file=$log_file".log"
check_date=`date +%H:%M:%S`
#status=`ifconfig bge0 | grep status | awk '{print $2}'`
status=`ifconfig bge0 | awk '/status/{print $2}'`

if [ $status != 'active' ]; then
        status='down'
        ifconfig bge0 up
else
        echo 'ok'
fi

check_date=${check_date}" =========== "${status}
echo $check_date >> $log_file

另一处写法,其实一样的:

#!/bin/bash
log_file="$(date +%Y%m%d).log"

status=$(ifconfig bge0 | awk '/status/{print $2}')
if [ "X${status}" != "Xactive" ]; then
  ifconfig bge0 up
fi

echo "$(date +%H:%M:%S) ===== ${status}" >> $log_file

FreeBSD/Linux检测硬盘坏道

Linux检测硬盘坏道

badblocks

功能说明:检查磁盘装置中损坏的区块。

语法:badblocks [-svw][-b ][-o ][磁盘装置][磁盘区块数][启始区块]

补充说明:执行指令时须指定所要检查的磁盘装置,及此装置的磁盘区块数。

参数:

-b 指定磁盘的区块大小,单位为字节。

-o 将检查的结果写入指定的输出文件。

-s 在检查时显示进度。

-v 执行时显示详细的信息。

-w 在检查时,执行写入测试。

[磁盘装置] 指定要检查的磁盘装置。

[磁盘区块数] 指定磁盘装置的区块总数。

[启始区块] 指定要从哪个区块开始检查。

badblocks 检测磁盘坏块

1)$badblocks -s //显示进度 -v //显示执行详细情况 /dev/sda1

2)读写方式检测 未挂载的磁盘设备或分区

$badblocks -s //显示进度 -w //以写去检测 -v //显示执行详细情况 /dev/sda2

========================= Continue reading

FreeBSD下查看物理内存大小

法一:

[root@www ~]# cat /var/run/dmesg.boot | grep memory
real memory  = 2147483648 (2048 MB)
avail memory = 2091028480 (1994 MB)

法二:

[root@www ~]# sysctl -a | grep hw.physmem
hw.physmem: 2134253568

第二个命令和第一个命令有些差别,这个基本上可以忽略.换成MB的话,基本上也是2G的

在FreeBSD 8.1下搭建Git服务器

Git是一个由林纳斯•托瓦兹为了更好地管理linux内核开发而创立的分布式版本控制/软件配置管理软件。与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如 Linux kernel 这样的大项目来说自然很重要。 Git 最为出色的是它的合并跟踪(merge tracing)能力。

1、在FreeBSD8.1下安装Git服务器

(1)用ports安装Git

cd /usr/ports/devel/git
make install clean

(2)修改/etc/rc.conf,让git随开机启动 Continue reading

FreeBSD下安装mysqli扩展[原创]

参考原来的文章:http://blog.haohtml.com/archives/435,后来发现程序使用的mysqli扩展没有安装,这里介绍安装方法.

此方法在FreeBSD8.2下,php5.2.17和php5.3.6均正常!

由于原来用的ports安装方法,默认的安装包下载到了/usr/ports/distfiles这个目录里了.这里直接使用,如果没有的话,请从网上下载一个安装包,但要注意一定要和已经安装过的php版本一样才可以.

一.找到mysqli所在位置

cd /usr/ports/distfiles/
tar zxvf php-5.3.6.tar.gz
cd php-5.3.6/ext/mysqli

Continue reading