博文

目前显示的是标签为“FreeBSD”的博文

freebsd设置交换swap分区

dd if=/dev/zero of=/usr/swap0 bs=1m count=128 chmod 0600 /usr/swap0 echo ‘md99 none swap sw,file=/usr/swap0 0 0’ >> /etc/fstab swapon -aq

freebsd挂载ntfs格式硬盘

cd /usr/ports/sysutils/fusefs-ntfs && make BATCH=yes install clean or pkg install fusefs-ntfs Then add to /boot/loader.conf fuse_load=”YES” Now run it: /usr/local/etc/rc.d/fusefs start Now – make dir for NTFS partition, for example: mkdir /mnt/ntfs Now – you can mount your NTFS in rw mode: ntfs-3g -o rw,locale=zh_CN.UTF-8 /dev/ada0s3 /mnt/ntfs After all – add to /etc/fstab: /dev/ada0s1 /mnt/ntfs ntfs-3g rw,locale=zh_CN.UTF-8, mountprog=/usr/local/bin/ntfs-3g,uid=1001,gid=1001,late 0 0

FreeBSD pkg仓库台湾的镜像

http://pkg.freebsd.org/ 在这个页面上可以看到: pkg0.bme.freebsd.org pkg0.nyi.freebsd.org pkg0.twn.freebsd.org pkg0.ydx.freebsd.org

freebsd安装及安全使用SSMTP

第一步:ee /ec/rc.conf中加入 sendmail_enable=”NO” sendmail_submit_enable=”NO” sendmail_outbound_enable=”NO” sendmail_msp_queue_enable=”NO” killall sendmail 第二步:安装ssmtp: pkg install ssmtp ee /etc/mail/mailer.conf sendmail /usr/libexec/sendmail/sendmail send-mail /usr/libexec/sendmail/sendmail mailq /usr/libexec/sendmail/sendmail newaliases /usr/libexec/sendmail/sendmail hoststat /usr/libexec/sendmail/sendmail purgestat /usr/libexec/sendmail/sendmail to sendmail /usr/local/sbin/ssmtp send-mail /usr/local/sbin/ssmtp mailq /usr/libexec/sendmail/sendmail newaliases /usr/libexec/sendmail/sendmail hoststat /usr/libexec/sendmail/sendmail purgestat /usr/libexec/sendmail/sendmail 第三步:创建ssmtp用户 pw useradd ssmtp -g nogroup -h – -s /sbin/nologin -d /nonexistent -c “sSMTP pseudo-user” 第四步: cd /usr/local/etc/ssmtp chown ssmtp:wheel . chmod 4750 . 第五步: cp ssmtp.conf.sample ssmtp.conf chown ssmtp:wheel . ssmtp.conf chmod 640 ssmtp.conf 第六步:编辑ssm...

FreeBSD install shadowsocks-libev

cd /usr/ports/net/shadowsocks-libev make install clean;rehash ee /etc/rc.conf 加入 shadowsocks_libev_enable=”YES” shadowsocks_libev_flags=”-c /usr/local/etc/shadowsocks-libev/config.json” 在/usr/local/etc/shadowsocks-libev/config.json中加入 { “server”:”136.0.16.99″, “server_port”:1234,             //服务端端口 “local_address”: “127.0.0.1”, “local_port”:4321,                 //客户端端口 “password”:”password”,      //客户端连接密码 “timeout”:300, “method”:”aes-256-cfb”     //加密方式 } 然后客户端,在本地,用config.json文件内容对shadowsocks-gui进行相应配置并运行客户端, shadowsocks-gui下载地址:http://sourceforge.net/projects/shadowsocksgui/files/dist/ 最后设置浏览器代理。Chrome 推荐使用 SwitchySharp 切换代理设置。把浏览器代理设为下列参数即可: 协议: socks5 地址: 127.0.0.1 端口: 你填的 local_port service shadowsocks-libev restart ok应该可以科学上网了

FreeBSD安装Pure-FTPd及user manager for PureFTPd

1、首先安装需要配置好apache2/mysql/php等服务!前面有过笔记。 2、安装pure-ftpd cd /usr/ports/ftp/pure-ftpd/ make with_language=simplified-chinese install clean;rehash 安装时,会有选择项;勾选: MYSQL Support for users in mysql database PRIVSEP Enable privileges separation PERUSERLIMITS Per-user concurrency limits THROTTLING Bandwidth throttling BANNER Show pure-ftpd welcome upon session start UTF8 Support for charset conversion (expreimental) 安装完成后 添加pureftpd_enable=”YES”到/etc/rc.conf文件中。 3、创建MySQL数据库,登陆mysql INSERT INTO mysql.user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, ssl_cipher, x509_issuer, x509_subject) VALUES(‘localhost’,’ftp’,PASSWORD(‘tmppasswd’),’Y’,’Y’,’Y’,’Y’,’N’,’N’,’N’,’N’,’N’,’N’,’N...

freebsd enter full pathname of shell or return ro /bin/sh

解决方法:   开机后进入单机模式,选择4   或者是输入#boot -s   然后执行   /sbin/fsck   /sbin/mount -a   重新启动ok

freebsd 统计连接数查看外部IP

服务器上的一些统计数据:   1)统计80端口连接数   netstat -nat|grep -i “80”|wc -l   1   2)统计httpd协议连接数   ps -ef|grep httpd|wc -l   1   3)、统计已连接上的,状态为“established’   netstat -na|grep ESTABLISHED|wc -l   2   4)、查出哪个IP地址连接最多,将其封了.     netstat -na|grep ESTABLISHED|awk ‘{print $5}’|awk -F: ‘{print $1}’|sort|uniq -c|sort -r +0n netstat -na|grep SYN|awk ‘{print $5}’|awk -F: ‘{print $1}’|sort|uniq -c|sort -r +0n     netstat快速查看一下TCP连接情况 netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’ 通过man netstat可以了解SYN_RCVD的意义。SYN_RCVD表示当前未完成的TCP SYN队列   用命令:   # netstat -an | grep SYN | wc -l   $netstat -an | grep SYN_RECV | wc 97 582 7857 $netstat -an | grep 80 | wc 916 5500 74164

FreeBSD中绑定多IP

vi /etc/rc.conf 以下是我在虚拟机中的一个绑定多IP示例:   # Created: Sat Apr 10 17:06:56 2010 # Enable network daemons for user convenience. # Please make all changes to this file, not to /etc/defaults/rc.conf. # This file now contains just the overrides from /etc/defaults/rc.conf. # — sysinstall generated deltas — ifconfig_em0=”inet 192.168.245.11 netmask 255.255.255.0″ gateway_enable=”NO” defaultrouter=”192.168.245.2″ hostname=”192.168.245.11″ ifconfig_em0=”inet 192.168.245.14 netmask 255.255.255.0″ ifconfig_em0_alias0=”inet 192.168.245.15 netmask 255.255.255.0″ ifconfig_em0_alias1=”inet 192.168.245.16 netmask 255.255.255.0″ ifconfig_em0_alias2=”inet 192.168.245.17 netmask 255.255.255.0″ defaultrouter=”192.168.245.2″ hostname=”192.168.245.11″ sshd_enable=”yes”   最后执行如下命令,让rc.conf立即生效 # sh /etc/rc

/usr was not properly dismounted解决办法

今天在FreeBSD用 dmesg命令 查看信息时,发现最后几行出现了错误 提示信息: /usr was not properly dismounted /tmp was not properly dismounted /var was not properly dismounted 几经周折,终于解决了,解决方法如下: shutdown -h now /halt/reboot/

FreeBSD下查看各软件版本命令

查看FreeBSD版本: uname -a root# uname -a FreeBSD power 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Mon Jul 19 02:36:49 UTC 2010 root@mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64 查看apache版本: apachectl -v root#apachectl -v Server version: Apache/2.2.15 (FreeBSD) Server built: Nov 26 2010 16:07:59 查看php版本:php -v root#php -v   Copyright (c) 1997-2010 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies with Zend Extension Manager v1.2.2, Copyright (c) 2003-2007, by Zend Technologies with Zend Optimizer v3.3.0, Copyright (c) 1998-2007, by Zend Technologies 查看php模块:php -m   查看mysql版本:mysql -V(大写V哦) root#mysql -V mysql Ver 14.14 Distrib 5.1.53, for portbld-freebsd8.1 (amd64) using 5.2

freebsd卸载及重新安装程序

以php5-pcre为例: cd /usr/ports/devel/php5-pcre make deinstall rmconfig clean make build make install make clean apachectl gracefull     完整删除软件 进入 cd /var/db/pkg 找到你要删除的软件 pkg_delete nginx-0.5.33 也可以使用如[pkg_delete p5-D* ]通配符,一次删除多个软件

FreeBSD与Linux下date取日期的方法

今天日期(CST格式): FreeBSD: test# date 2011年 03月 22日 星期二 09:27:47 CST Debian: [root@shaobo ~]# date 2011年 03月 22日 星期二 09:27:47 CST   今天日期(数字格式): FreeBSD: test# date +%Y%m%d 20110322 Debian: [root@shaobo ~]# date +%Y%m%d 20110322   昨天日期(数字格式): FreeBSD: test# date -v -1d +%Y%m%d 20110321 Debian: [root@shaobo ~]# date +%Y%m%d –date=’1 days ago’ 20110321 [root@shaobo ~]# date –date=’yesterday’ +%Y%m%d 20110321   前天日期(数字格式): FreeBSD: test# date -v -2d +%Y%m%d 20110320 Debian: [root@shaobo ~]# date +%Y%m%d –date=’2 days ago’ 20110320   明天日期: FreeBSD: test# date -v +1d +%Y%m%d 20110323 Debian: [root@shaobo ~]# date +%Y%m%d –date=’tomorrow’ 20110323 [root@shaobo ~]# date -d “1 day” “+%Y%m%d” 20110323   后天日期: FreeBSD: test# date -v +2d +%Y%m%d 20110324 Debian: [root@shaobo ~]# date -d “2 day” “+%Y%m%d” 20110324   date +%s 可以得到UNIX的时间戳; [root@shaobo ~]# d...

FreeBSD crontab的用法

使用权限 : 所有使用者 使用方式 : crontab [ -u user ] file crontab [ -u user ] { -l | -r | -e } 说明 : crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。 参数 : crontab-e: 执行文字编辑器来设定时程表,FREEBSD内定的文字编辑器是 VI,如果你想用别的文字编辑器,可以编辑/root/.cshrc文件setenv  EDITOR  vi 改为setenv  EDITOR  ee crontab-r: 删除目前的时程表 crontab-l: 列出目前的时程表 crontab file [-u user]-用指定的文件替代目前的crontab。     时程表的格式如下 : f1            f2                   f3                f4                  f5                program 分钟    小时    月份中的第几日   月份    星期中的第几天   要执行的程序。   当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推 当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推 当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推 当 f1 为 a, b, c,… 时表示第 a, b, c,… 分钟要执行,f2 为 a, b, c,… 时表示第 a, b, c…个小时要执行,其馀类推 使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。 Linux中,个人用户的crontab放在/var/spool/cron下 FreeBSD中,个人用户...

FreeBSD下Mount总结

一、mount FAT/FAT32分区(C盘为例) mount -t msdos /dev/ad0s1 /mnt 或 mount_msdos /dev/ad0s1 /mnt #for 4.xmount_msdosfs /dev/ad0s1 /mnt #for 5.x 二、mout Windows的扩展分区(FAT/FAT32) 命令和“一”一样,只是要记住:扩展分区从s5开始,例如mount D盘,可用: mount -t msdos /dev/ad0s5 /mntmount_msdos /dev/ad0s5 /mnt #for 4.xmount_msdosfs /dev/ad0s5 /mnt #for 5.x 三、mount NTFS分区(C盘为例) mount -t ntfs /dev/ad0s1 /mnt 或 mount_ntfs /dev/ad0s1 /mnt [注意] 1.chinese/gbfs 的 ntfs 似乎有问题,不建议玩家级用户使用 2.要让mount上的windows 分区(或CD-ROM)显示中文,需要升级你的ports,再安装gbfs: #cd /usr/ports/chinese/gbfs#make install clean 然后编译内核,注释掉”options CD9660″,”options MSDOS”。 3.在5.1-current上不用安装gbfs,用: mount_msdosfs -L zh_CN.GB18030 /dev/ad0sX /mnt 命令就可以支持FAT32分区上的中文文件名,当然,locale可以不用18030,zh_CN.eucCN, zh_CN.GBK都可以! 四、mount Linux Ext2fs/Ext3fs 在内核里面加入“options EXT2FS”,编译内核。mount 的时候用“mount_ext2fs”命令即可,ext3fs的mount也用“mount_ext2fs”。 五、mount 普通数据光盘 mount_cd9660 /dev/acd0 /cdrom 六、mount ISO 文件 在5.x中如下 mdconfig -a -t vnode -f abc.iso -u 1mount_cd9660 /dev/md1 ...

FreeBSD 中 vmstat 命令详解

命令輸出的例子: % vmstat procs memory page disk faults cpu r b w avm fre flt re pi po fr sr ad0 in sy cs us sy id 1 0 0 185M 212M 49 0 0 0 46 0 0 1132 830 363 0 0 99 参数说明 procs r: 在运行的进程数 b: 在等待io的进程数(等待i/o,paging等等) w: 可以进入运行队列但被替换的进程 memory 以”K”为单位,包括虚拟内存和真实内存,正在运行或最近20秒在运行的进程所用的虚拟内存将被视为”active”。 avm: 活动的虚拟内存 free: 空闲的内存 page 统计错误页和活动页,每5秒平均一下,以秒为单位给出数值。 flt: 错误页总数 re: 回收的页面 pi: 进入页面数 po: 出页面数 fr: 空余的页面数 sr: 每秒通过时钟算法扫描的页面 disk 显示每秒的磁盘操作。磁盘名字的前两个字母加数字,默认只显示两个磁盘,如果有多的,可以加”-n”来增加数字或在命令行下把磁盘名都填上。 faults 显示每秒的中断数。 in: 设备中断 sy: 系统中断 cy: CPU交换 cpu 表示CPU的使用状态。 cs: 用户进程使用的时间 sy: 系统进程使用的时间 id: CPU空闲的时间 数值说明 如果”r”经常大于4,且”id”经常少于40,表示cpu的负荷很重。 如果”pi”,”po”长期不等于”0″,表示内存不足。 如果”disk”经常不等于”0″,且在”b”中的队列大于3,表示”io”性能不好。

FreeBSD vmstat详解

top是给Linux设计的。在FreeBSD VM里面的Free概念和其他OS完全不同,使用top查看Free内存对于FreeBSD来说可以说没什么意义。正确的方法是看vmstat。  # vmstat  procs memory page disk faults cpu  r b w avm fre flt re pi po fr sr ad0 in sy cs us sy id  0 2 1 270512 20316 30 0 0 0 26 5 1223 1589 98 593 1 1 99 最好使用vmstat t [n]命令,例如 vmstat 5 10,表示在t(5)秒时间内进行n(10)次采样。如果只使用vmstat,无法反映真正的系统情况。 procs: r–>在运行的进程数 b–>在等待io的进程数(等待i/o,paging等等) w–>可以进入运行队列但被替换的进程 memoy(以kb为单位,包括虚拟内核和真实内存,正在运行或最近20秒在运行的进程所用的虚拟内存将被视为active) avm–>活动的虚拟内存 free–>空闲的内存 pages(统计错误页和活动页,每5秒平均一下,以秒为单位给出数值) flt–>错误页总数 re–>回收的页面 pi–>进入页面数 po–>出页面数 fr–>空余的页面数 sr–>每秒通过时钟算法扫描的页面 disk 显示每秒的磁盘操作(磁盘名字的前两个字母加数字,默认只显示两个磁盘,如果有多的,可以加-n来增加数字或在命令行下把磁盘名都填上。) fault 显示每秒的中断数 in–>设备中断 sy–>系统中断 cs–>cpu交换(上下文切换) cpu 表示cpu的使用状态 cs–>用户进程使用的时间 sy–>系统进程使用的时间 id–...

freebsd同步时间

# ntpdate cn.pool.ntp.org   这样时间就准了。 cn.poolntp.org 是中国的时间服务器。   如想每天晚上23点同步一次时间 # ee /etc/crontab 在最后加入   #Synchronise My Server clock #minute hour mday month wday who command 0 23 * * * root /usr/sbin/ntpdate cn.pool.ntp.org > /dev/null   保存退出,就可以了。

freebsd 下vsftpd安装错误

===> Deinstalling for ftp/vsftpd ===> vsftpd-ssl not installed, skipping ===> Installing for vsftpd-ssl-3.0.2 /usr/bin/env PKG_PREFIX=/usr/local /bin/sh /usr/ports/ftp/vsftpd/pkg-install vsftpd-ssl-3.0.2 PRE-INSTALL pw: no such user `ftp’ pw: user ‘ftp’ already exists Failed to add user ftp as gid 14 *** Error code 1 Stop in /usr/ports/ftp/vsftpd. *** Error code 1 Stop in /usr/ports/ftp/vsftpd.   遇到这个问题后,搞了一天,才得到解决,也不知道是不是对所有人都实用。解决方法如下: 直接删除ee /etc/password 和 /etc/master.passwd手动删除ftp用户,然后 pwd_mkdb /etc/master.passwd更新一下ok 再cd /usr/ports/ftp/vsftpd && make install clean

Freebsd8.2 32位ports安装php5.2+fpm+mysql5.1+nginx+Zend

一、安装软件前的准备: 系统的安装:让机房最小化安装32位freebsd8.2系统。 ports的安装:机房装好系统后,远程登录,自己在线安装ports 命令: sysinstall->Configure->Distributions->ports->FTP->China->OK 修改系统密码:passwd回车 二、手动安装nginx+php (1) 进入系统后,准备cvs更新: 1. cd /usr/ports/net/cvsup-without-gui # make install clean 2. cp /usr/share/examples/cvsup/ports-supfile /etc/ports-supfile 3. # ee /etc/ports-supfile 将其中的#*default host=CHANGE_THIS.FreeBSD.org一行改为: *default host=cvsup4.FreeBSDchina.org {也可以指定更新版本日期,例如加上:*default date=2009.10.05.00.00.00 (这个可以省略) } 4. 更新ports /usr/local/bin/cvsup -g -L 2 /etc/ports-supfile 2) 安装mysql #cd /usr/ports/databases/mysql51-server #make WITH_CHARSET=gbk WITH_XCHARSET=all WITH_PROC_SCOPE_PTH=yes BUILD_OPTIMIZED=yes BUILD_STATIC=yes SKIP_DNS_CHECK=yes WITHOUT_INNODB=yes install clean #cp /usr/local/share/mysql/my-large.cnf /usr/local/etc/my.cnf ##mysql的优化参数,也可以手动修改 #rehash # mysql_install_db –user=mysql ##初始化mysql #/usr/local/bin/mysqld_safe & ##启动mysql #/usr/local/bin/mysqladmin -u root password...