存档

  • FreeBSD下解决 – ld: cannot find -lltdl的错误

    问题提示:ld: cannot find -lltdl
    解决反感:
    cd /usr/ports/devel/libltdl15 && make && make install

    2008年9月8日 | 归档于 FreeBSD
  • FreeBSD 下一块网卡绑定多IP

    例如网卡em0原IP地址为192.168.0.3,现在为它绑定另一个IP:# ifconfig em0 192.168.0.4 netmask 255.255.255.255 alias
    解释:
    如果别名IP地址和网卡原IP地址在同一个子网上,就需要设置掩码为255.255.255.255如果位于不同的子网,就直接使用相应子网的正常网络掩码
    从TCPIP的角度来看,这样做意味着什么呢?网络掩码的所有位都设置成1,就会保证ICPIP栈这样来看待包:只要包的目标地址匹配所有位,就把该包看成本地子网上的包;它创建了只有一个地址的“子网”。所有发送给该地址的包以及该地址接受的包都会发送给路由器,而不会发送到LAN上。如果多个别名使用了同一个网络掩码,这些别名的广播地址也应该相同,而这样却导致了TCPIP栈的混乱。使用全1的网络掩码,才能骗过ifconfig,让该命令允许单个接口卡上有多个IP地址。
    以上这样做可以立即生效使用,但只要关机重启所做的设置就没有了,如要使设置永久有效就要在 /etc/rc.conf 中设置别名,应该使用 ifconfig_xxx#_alias# 关键字,该关键字的使用形式类似于 ifconfig_xxx#,如:
    ifconfig_em0=inet 192.168.0.3 netmask 255.255.255.0ifconfig_em0_alias0=inet 192.168.0.4 netmask 255.255.255.255ifconfig_em0_alias1=inet 192.168.1.2 netmask 255.255.255.0ifconfig_em0_alias2=inet 192.168.1.3 netmask 255.255.255.255
    删除已绑定的IP可以用:
    #ifconfig em0 (delete|remove|-alias) 192.168.0.4

    2008年8月29日 | 归档于 FreeBSD
  • FreeBSD Sysctl内核参数说明

    * kern.ostype: Operating system type * kern.osrelease: Operating system release * kern.osrevision: Operating system revision * kern.version: Kernel version * kern.maxvnodes: Maximum number of vnodes * kern.maxproc: Maximum number of processes * kern.maxfiles: Maximum number of files * kern.argmax: Maximum bytes of arguement to execve(2) * kern.securelevel: Current secure level * kern.hostname: Hostname * kern.hostid: [...]

    2008年8月3日 | 归档于 FreeBSD
  • Sysinstall介绍

     介绍 Sysinstall
      sysinstall 是 FreeBSD 项目所提供的安装程序。它以 console(控制台)为主, 分为多个菜单及画面让您配置及控制安装过程。
      sysinstall 菜单画面由方向键、 Enter、Tab、Space,以及其它按键所控制。在主画面的 Usage 菜单有这些按键的说明。
      要查看这些说明,请将光标移到 Usage 项目,然后 [Select] 按键被选择,然后按下 Enter 键。
      安装画面的使用说明会显示出来,阅读完毕请按 Enter 键回到主画面。

    选取 Sysinstall 主菜单的 Usage 项目

    选择 Documentation(说明文件) 菜单
      用方向键从主菜单选择 Doc 条目然后按 Enter键。

    选择说明文件菜单

      这将会进入说明文件菜单。

    Sysinstall 说明文件菜单

      阅读这些说明文件很重要。
      要阅读一篇文章,请用方向键选取要阅读的文章然后按 Enter 键。阅读中再按一下 Enter 就会回到说明文件画面。
      若要回到主菜单,用方向键选择 Exit 然后按下 Enter 键。

    选择键盘对应(Keymap)菜单
      如果要改变键盘按键的对应方式, 请在主菜单选取 Keymap 然后按 Enter 键。一般情况下不改变此项, 除非您使用了非标准键盘或非美国键盘。

    Sysinstall 主菜单

      您可以使用上下键移动到您想使用的键盘对应方式, 然后按下 Space 键以选取它;再按 Space 键可以取消选取。当您完成后, 请选择 [ OK ] 然后按 Enter 键。
      这一屏幕只显示出部分列表。选择 [ Cancel ] [...]

    2008年7月28日 | 归档于 FreeBSD
  • 解决freebsd下svnserve启动默认是TCP6的3690端口

    今天在freebsd安装subversion,# pkg_add -r subversion然后, 就直接像在linux下启动svnserve了# svnserve -d -r /www/svnroot/配置文件都修改完毕, 添加了一个用户之后, 发现无法检出, netstat 了一下看到居然是TCP6的3690端口好先进啊, 看看svnserve –help可以指定监听主机和端口, 所以这样启动就没问题啦# svnserve -d -r /www/svnroot/ –listen-host=0.0.0.0 –listen-port=3690

    2008年7月11日 | 归档于 FreeBSD
  • 解决ELF interpreter /libexec/ld-elf32.so.1 not found(freebsd)

    碰到ELF interpreter /libexec/ld-elf32.so.1 not found错误, 其实就是在64位平台上运行32位软件的不兼容造成的.
    解决方法:其实很简单就是安装lib32, 安装步骤如下:运行sysinstall -> Configure -> Distributions -> src -> 选择lib32这样错误就不再啦

    2008年7月8日 | 归档于 FreeBSD
  • nginx使用不同的用户来跑fastcgi

    今天在freebsd下用ports方式安装nginx+php+mysql环境, nginx使用www用户来跑的, 然后使用lighttpd中附带的spawn-fcgi来启动php-cgi, 我依然是用www用户来跑的fastcgi, 但是服务器上有多个用户, 我不想让他们使用一个用户来跑, 从安全上的考虑, 我可不想别人跨目录搞自己的站, 现在的phpshell都这么NB.后来经朋友指点发现可以启动不同的fastcgi进程来解决这个问题, 一个用户只启动自己的进程,用自己的端口, 后来想了一下, 真的非常简单, 在使用spawn-fcgi启动的时候指定不同的端口指定不同的用户多简单啊, 唯一不爽的就是要多几个配置文件, 至少得一个用户一个吧
    nginx的虚拟主机配置文件里有加载php的地方, 类似如下的               location ~ .*\.php?$               {                       include php5.conf;               }这个时候你就可以指定不同的配置文件了, 例如在虚拟主机hao32.com.conf里, 你可以使用hao32这个用户来跑一系列php-cgi进程:               location ~ .*\.php?$               {                       include php5_hao32.conf;               }那么这个php5_hao32.conf文件里必须有:fastcgi_pass  127.0.0.1:8809; (其中8809是hao32用户独立占用的端口, 可以自定义)
    在启动nginx之前可以先使用spawn-fcgi以hao32用户和8099端口来启动一系列php-cgi进程,以此类推, 可以启动多组不同用户的和不同端口的php-cgi进程
    这样安全很多了

    2008年5月31日 | 归档于 FreeBSD
  • FreeBSD 之 updatedb

    FreeBSD的updatedb, 众所周知, locate是非常方便的查找工具,
    但是我们在FreeBSD下执行locate查找的时候却报错:
     locate: database too small: /var/db/locate.database
    熟悉linux的朋友可能会直接updatedb, 但是提示没有此命令, 这里要说的是,
    在FreeBSD下执行: # /usr/libexec/locate.updatedb就可以了

    2008年5月29日 | 归档于 FreeBSD
  • FreeBSD使用CVSup更新ports

    本文详细介绍了FreeBSD使用CVSup更新ports
    首先最小化安装了FreeBSD7后, 下一步就是更新Ports树了,我使用的是CVSup。
    先添加CVSup包:pkg_add -r cvsup-without-gui
    做完之后就reboot系统。
    然后更新Ports树, 命令如下:
    #cvsup –L 2 –h cvsup.cn.FreeBSD.org /usr/share/examples/cvsup/ports-supfile
    如果cvsup.cn.FreeBSD.org源不快, 大家可以使用其他源, 台湾的一般都不错, 比如cvsup.tw.freebsd.org
    祝大家好运! 

    2008年5月28日 | 归档于 FreeBSD
  • freebsd下bash的安装配置

    如果你习惯了linux下的bash, 可能sh会叫你有点不舒服, 只是可能, 其实习惯了就好, 关于freebsd下bash的安装和配置, 写了一个简单的步骤:
    Freebsd默认安装之后用户的shell是sh,如果都已经习惯了使用bash。通过下面的步骤可以配置用户来使用bash作为shell。1. 安装bash。 cd /usr/ports/shells/bash; make install clean这样安装完之后,bash会被安装在/usr/local/bin/目录下面。2. 在/bin目录下面做一个符号连接。ln -s /usr/local/bin/bash /bin/bash3. 修改 /etc/shells文件,将bash增加进去,添加一行:/bin/bash 就可以了
    这样在添加用户的时候就可以指定使用bash作为shell了。否则的话,会警告pwd_mkdb: warning, unknown root shell
    4. 如果已经添加过的用户,可以使用chsh命令来修改默认的shell,
    保持有Shell: /bin/bash就可以了, bash完毕
     
    5. 值得说明一下是的, freebsd安装了bash之后默认不是去读取.bashrc文件, 如果你想做诸如alias ls=’ls -G’, 请直接添加到.profile里, source .profile就可以了

    2008年5月28日 | 归档于 FreeBSD
‘FreeBSD’ 分类的存档