标签: FreeBSD

  • 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’,’N’,’N’,’N’, Hex(“”), Hex(“”), Hex(“”));

     

    FLUSH PRIVILEGES;

    CREATE DATABASE ftpusers;

    USE ftpusers;

     

    drop table if exists ftpusers.admin;

    CREATE TABLE ftpusers.admin (

    Username varchar(35) NOT NULL default ”,

    Password char(32) binary NOT NULL default ”,

    PRIMARY KEY (Username)

    ) ;

    — Data for table ‘admin’

    INSERT INTO ftpusers.admin VALUES (‘Administrator’,MD5(‘tmppasswd’));

    — Table structure for table ‘users’

    drop table if exists ftpusers.users;

    CREATE TABLE ftpusers.users (

    `User` varchar(16) NOT NULL default ”,

    `Password` varchar(32) binary NOT NULL default ”,

    `Uid` int(11) NOT NULL default ’14’,

    `Gid` int(11) NOT NULL default ‘5’,

    `Dir` varchar(128) NOT NULL default ”,

    `QuotaFiles` int(10) NOT NULL default ‘500’,

    `QuotaSize` int(10) NOT NULL default ’30’,

    `ULBandwidth` int(10) NOT NULL default ’80’,

    `DLBandwidth` int(10) NOT NULL default ’80’,

    `Ipaddress` varchar(15) NOT NULL default ‘*’,

    `Comment` tinytext,

    `Status` enum(‘0′,’1’) NOT NULL default ‘1’,

    `ULRatio` smallint(5) NOT NULL default ‘1’,

    `DLRatio` smallint(5) NOT NULL default ‘1’,

    PRIMARY KEY (`User`),

    UNIQUE KEY `User` (`User`)

    ) ;

    — Data for table ‘users’

    INSERT INTO ftpusers.users VALUES (‘ftpuser_1’,MD5(‘tmppasswd’),65534, 31, ‘/usr’, 100, 50, 75, 75, ‘*’, ‘Ftp user (for example)’, ‘1’, 0, 0);

     

     

    配置pure-ftpd.conf

    cp /usr/local/etc/pure-ftpd.conf.sample pure-ftpd.conf

    编辑pure-ftpd.conf文件 ee pure-ftpd.conf

    MySQLConfigFile /usr/local/etc/pureftpd-mysql.conf

    CreateHomeDir yes

    DisplayDotFiles no

    保存退出

    配置pureftpd-mysql.conf

    cd /usr/local/etc/

    fetch http://machiel.generaal.net/files/pureftpd/v2.x/pureftpd-mysql.conf

    或者自己网站上镜像下载

    /usr/local/etc/rc.d/pure-ftpd restart

     

    安装User manager for PureFTPd

    cd /usr/ports/www/usermanager/

    make install clean;rehash

     

    以上全部正确安装完毕后:进入ftp目录下载

    http://machiel.generaal.net/files/pureftpd/ftp_v2.1.tar.gz或自己网站镜像

    解压后http://ip/ftp/install.php安装即可。

    Step [1 – 7]

    This configuration script has carried out a few checks to see if everything is ready to start the configuration.

    Checking if config.php exists OK!

    Checking if config.php is writable OK!

    Checking if PHP Extension MYSQL is enabled OK!

    Checking if PHP Extension PCRE is enabled OK!

    Checking if PHP Extension POSIX is enabled OK!

    Checking if PHP Extension SESSION is enabled OK!

    Please choose your configuration type:.选择New installation,create a new database.

     

    Step [3 – 7]输入正确的root用户和root的密码。

    Settings MySQL database.直接按默认设置(要是你改过密码,就输入你的密码)

    Step [4 – 7]语言选择中文,选择Quota support,Ratio support(上传下载比可以选择或不选择)按Save按钮保存配置文件,然后点Setp5进行下一步。

    Step [5 – 7]这里你可以更改管理员Administator的密码,也可以创建一个自己的帐号代替Administrator

    Step [6 – 7]系统有一些提示,说需要编辑那2个配置文件,因为前面已经编辑过了。所以直接下一步。

    Step [7 – 7]恭喜你安装完成了。建议把install.php文件更改一下名称

     

  • 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 ~]# date +%s

    1300758867

    [root@shaobo ~]# vi utc.sh

    #!/bin/sh

    date -d ‘1970-01-01 UTC ‘$1′ seconds’ +”%Y%m%d”

    [root@shaobo ~]# chmod +x utc.sh

    [root@shaobo ~]# ./utc.sh 1300758867

    20110322

  • 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中,个人用户的crontab放在/var/cron/tabs下

     

    二者都有/etc/crontab文件,在这个文件中执行crontab定时任务要加入执行用户。

     

    重启crontab使生效

    freebsd下:/etc/rc.d/cron restart

    linux下:/etc/init.d/crond restart