博文

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

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 10: Installing Apache 2.4, MySQL 5.5, and PHP5.5 — 找不到 libphp5.so

今天装freebsd 10,然后装apache,再装php和php扩展.没有问题. 然后重启apache,发现打不开php页面,提示下载. 刚开始以为php5安装错误了,于是又重新安装一次,发现安装php5时里面没有apache选项了,整了半天也没有发现原因,以前用freebsd8配置apache+php+mysql从来没出现过这种问题,就再试一下php53目录,make config-recursive看看里面是有apache选项的,郁闷,于是又出墙google,终于找到答案了,ls /usr/local/libexec/apache22/ 没找到libphp5.so 然后/usr/ports/www/mod_php5 make install clean;rehash安装,可是又遇到问题了,提示“Error from bsd.apache.mk. apache22 is installed (or APACHE_PORT is defined) and port requires apache”,郁闷之极,只能再google,呵呵,又被我找到答案了,万能的google啊,谢谢!关于 “Error from bsd.apache.mk. apache22 is installed (or APACHE_PORT is defined) and port requires apache” 请参考这篇文章

Error from bsd.apache.mk. apache22 is installed (or APACHE_PORT is defined) and port requires apache

echo “DEFAULT_VERSIONS+=apache=2.2” >> /etc/make.conf

FreeBSD 11 on Raspberry Pi

Install FreeBSD 11 on a Raspberry Pi   It seems a nice project to try out FreeBSD on a Raspberry Pi. There are ready made images available from FreeBSD.org, so this is not very hard to accomplish. Both for FreeBSD 10 as well as for FreeBSD 11. Feeling wild, I choose for FreeBSD 11 🙂 The image can be downloaded from the FreeBSD ftp-servers. Bunzip your image and dd it to a SD-card   I got the FreeBSD-11.0-CURRENT-arm-armv6-RPI-B-20140811-r269824.img.bz2 but perhaps when you read this there are allready newer images available. On a Debian GNU/Linux laptop I ran the command: bunzip2 FreeBSD-11.0-CURRENT-arm-armv6-RPI-B-20140811-r269824.img.bz2 Followed by: dd if=FreeBSD-11.0-CURRENT-arm-armv6-RPI-B-20140811-r269824.img of=/dev/mmcblk0 bs=1M Be carefull when you issue this last command, when you got the of= part wrong, you might inreversable destroy things! Now you have a 1Gb big image on your SD card. Put the SD card in the Raspberry Pi and power up. The very first time you boot...

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

samba passwd的几种方式

passdb backend就是用户后台的意思。目前有三种后台:smbpasswd、tdbsam和ldapsam。sam应该是security account manager(安全账户管理)的简写。   1.smbpasswd   passdb backend = smbpasswd   该方式是使用smb自己的工具smbpasswd来给系统用户(真实用户或者虚拟用户)设置一个Samba密码,客户端就用这个密码来访问Samba的资源。smbpasswd文件默认在/etc/samba目录下,不过有时候要手工建立该文件。   smbpasswd -a 用户名 #添加一个samba用户 smbpasswd -d 用户名 #禁用一个samba用户 smbpasswd -e 用户名 #恢复一个samba用户 smbpasswd -x 用户名 #删除一个samba用户   2.tdbsam   passdb backend = tdbsam   该方式则是使用一个数据库文件来建立用户数据库。数据库文件叫passdb.tdb,默认在/etc/samba目录下。passdb.tdb 用户数据库可以使用smbpasswd –a来建立Samba用户,不过要建立的Samba用户必须先是系统用户。我们也可以使用pdbedit命令来建立Samba账户并由其pdbedit管 理。   用户的建立可以先用mksmbpasswd建立一个smppasswd文件,然后用pdbedit将文件里的用户导入数据库。   cat /etc/passwd | mksmbpasswd > /etc/samba/smbpasswd   pdbedit命令的参数很多,我们列出几个主要的:   pdbedit -i smbpasswd:/etc/samba/smbpasswd pdbedit -a username:新建Samba账户。 pdbedit -x username:删除Samba账户。 pdbedit -L:列出Samba用户列表,读取passdb.tdb数据库文件。 pdbedit -Lv:列出Samba用户列表的详细信息。 pdbedit -c “[D]” –u username:暂停该Sa...

FreeBSD系统优化防止ddos

1)这个话题有点大,我相信我做的只是其中很小的一部分,同时很多人也会问我,是不是要编译内核,这边的回答是不需要编译任何内核,只需要copy文件,然后重启一下服务器就可以了。   2)加载文件修改 # vi /boot/loader.conf #加入如下文本 kern.dfldsiz=”2147483648″ # Set the initial data size limit kern.maxdsiz=”2147483648″ # Set the max data size kern.ipc.nmbclusters=”0″ # Set the number of mbuf clusters kern.ipc.nsfbufs=”66560″ # Set the number of sendfile(2) bufs ##解释: a. 第一,第二行主要是为了突破1G内存设置的 b. 第三行其实是bsd的一个bug,当系统并发达到一个数量级的时候,系统会crash,这个是非常糟糕的事情,所幸更改了这个参数后,在高并发的时候,基本可以没有类似情况,当然非常bt的情况,还得进一步想办法 c. 第四行是读取的文件数,如果你下载的文件比较大,且比较多,加大这个参数,是非常爽的   3)Sysctl修改 #vi /etc/rc.local sysctl kern.ipc.maxsockets=100000 ##增加并发的socket,对于ddos很有用 sysctl kern.ipc.somaxconn=65535 ##打开文件数 sysctl net.inet.tcp.msl=2500 ##timeout时间   4)通过上述的简单优化,会给你带来意外的惊喜,如果有兴趣的兄弟,可以尝试一下看看,绝无副作用。

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 ...