freebsd用法配置汇总

FreeBSD中文wikihttp://wiki.freebsdchina.org
    制作FreeBSD-USB安装盘
    IMG映像文件下载:ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/7.4-RELEASE/floppies/。
    在当前目录下执行,#dd if=FreeBSD-8.2-RELEASE-i386-memstick.img of=/dev/da0[设备名] bs=64k
    如何设定网络
    修改/etc/rc.conf,需要/etc/rc.d/netif重起,或reboot才能生效。
    ifconfig_re0="inet 192.168.0.76 netmask 255.255.254.0"
    增加第二个 IP
    ifconfig_re0_alias0="inet 192.168.0.76 netmask 255.255.254.0"
    直接使用ifconfig,立刻生效
    # ifconfig re0 192.168.0.76 255.255.254.0
    设定系统默认网关
    修改 /etc/rc.conf
    defaultrouter="192.168.0.1"
    使用route命令,即时生效
    route add default 192.168.0.1
    设定系统默认域名服务器
    修改 /etc/resolv.conf 文件到如下内容,如果这个文件不存在,可以直接创建。
    nameserver 192.168.0.1
    更复杂的设定可以参考这个文件的 man 文档。
    /etc/hosts 文件的作用
    系统默认查询域名的顺寻是,先从 /etc/hosts 查询,如果查不到就从 dns 服务器查询。因此,你可以把一些常用的 域名-IP 地址对应写到 /etc/hosts 里面以加快网络速度。
    FTP访问相关
        # ftp 192.168.1.248 Enter //# lftp lipengfei:wocuole@192.168.1.249 Enter
        # 用户名 Enter
        # passwd Enter
        # get file(文件名)即可下载文件到用户目录
        # 匿名服务器 anonymous                            
    4.启动putty并使root可ssh登录
        首先vi编辑/etc/inetd.conf,去掉ssh前的#,保存退出
        编辑/etc/rc.conf
        最后加入:sshd_enable="yes"即可
        激活sshd服务:
        techo#/etc/rc.d/sshd start
        用下面命令检查服务是否启动,在22端口应该有监听。
        #netstat -an ## check port number 22
        最后
        vi /etc/ssh/sshd_config,
        修改下列一行
        #PermitRootLogin yes #允许root登录
        修改完配置文件后,重新启动sshd服务器(/etc/rc.d/sshd restart)即可。
    解决安装后声卡无法识别问题
    # vi /boot/loader.conf
    添加
    snd_hda_load="YES"
    保存,reboot.即可。
    Grub4dos引导FreeBSD系统
    title FreeBSD
    root (hd0,x,y)
    kernel /boo/loader \\其中,x为你的FreeBSD的分区,y为FreeBSD/所在的SLICE.
    Grub2引导FreeBSD
    menuentry "FreeBSD2" {
    insmod ufs2
    set root=(hd0,2)
    kfreebsd /boot/kernel/kernel
    }
    设备标示
    ad ATAPI (IDE) 磁盘
    da SCSI 直接存取磁盘
    acd ATAPI (IDE) 光驱
    cd SCSI 光驱
    fd 软驱
    软件包管理
    1.查询
    pkg_info -r joe-(version).tgz #查询指点套件所依赖软件包
    pkg_info #查询所有套件
    pkg_info | grep * #查询目前系统与*相关的套件
    pkg_info -W /usr/local/bin/joe #查询joe属于哪个套件,若没有回执则说明joe属FreeBSD内建的。
    pkg_info -L /var/db/pkg/joe-(version) #查询某个套件安装了那些档案
    pkg_version(1) #是一个用来统计所有安装的软件包版本的工具。它可以用来比较本地 package 的版本与 ports 目录中的当前版本是否一致。在第二列的符号指出了安装版本的相关时间和本地ports目录树中可用的版本。
    符号 含义
    = 在本地ports树中与已安装的软件包版本相匹配。
    < 已安装的版本要比在ports树中的版本旧。
    > 已安装的版本要比在ports树中的版本新 (本地的port树可能没有更新)。
    ? 已安装的软件包无法在ports索引中找到。 (可能发生这种事情,举个例子, 您早先安装的一个 port 从 port 树中移出或改名了)
    * 软件包有很多版本。
       2.安装
    pkg_add -r joe-(version).tgz #安装指定套件
    pkg_add -f joe-(version).tgz #强制安装指定套件,不考虑依赖问题
    pkg_version -c #自行整理并提供可升级套件列表
       3.卸载
    cd /usr/ports/editors/joe
    make deinstall #移除软件
    pkg_delete -f joe-(version) #强制移除
    make deinstall-depends(软件包名) #一并移除相依赖软件
    pkg_delete joe-(version) #一并移除相依赖软件
    pkg_delete xchat\* #这时, 所有名字以 xchat 开头的 package 都会被删掉。
    Debian Linux下挂在FreeBSD分区UFS
    # fdisk -l //可以看出FreeBSD的UFS分区在linux被识别为/dev/sda2
    # cd /mnt && mkdir sda2 //创建UFS分区挂载点/mnt/sda2
    # mount -rt ufs -o ufstype=ufs2 /dev/sda2 /mnt/sda2/ //执行挂在命令
    # mount -t ufs -o ro,ufstype=ufs2 /dev/sda2 /mnt/mnt/
    OK
    如果希望启动后自动挂载则在/etc/fstab添加
    /dev/hda9 /mnt/bsd ufs ro,ufstype=ufs2 0 0
    启用FreeBSD系统自带FTP服务
    # vi /etc/inetd.conf
    去掉ftp stream tcp nowait root /usr/libexec/ftpd前面的#删除。(开启ftp服务)
    # vi /etc/rc.conf
    添加
    ftpd_enable=”YES”
    将ftpd服务加入自启动
    /etc/rc.d/ftpd start
    启动ftp服务
    /etc/ftpusers 不可使用来登陆ftp的用户,指黑名单列表设定
    /etc/ftpchroot 需要做chroot 的账号和群组列表
    /etc/ftphosts 虚拟机站点的设定
    /etc/ftpwelcome 进行ftp的欢迎信息
    /etc/ftpmotd 登陆后自动的提示信息
    /var/run/nologin 拒绝登陆后的显示信息
    /var/log/ftpd 记录用匿名方式登陆时的传输情况
    解决freebsd下普通用户无法suroot
    vi /etc/group //编辑group文件
    wheel:*:0:root //修改第一行
    wheel:*:0:root,xiaopang //给wheel用户组添加xiaopang用户
    然后就可以通过普通用户xiaopang su 到root了
    设置FreeBSD登陆提示信息
    # vi etc/motd //写入需要提示内容即可
    ports使用技巧
    下载指定软件tarball
    # make fetch
    下载安装指定ports所需其他ports的tarball
    # make retch-recursive
    如果希望下载所有ports的tarball
    # cd /usr/ports
    # make fetch
    会将所有tarball下载到/usr/ports/distfiles/目录下
    抓取ftp下所有ports的ports的tarball,则:
    # cd /usr/ports/ftp
    # make fetch
    # dmesg | grep attached     //可查看那些设备没有被驱动
    # pciconf -lv               //可查看具体信息
    # /var/run/dmesg.boo        //也是个不错的排错参考之一
    # ntpdate time.windows.com  //网络校时
    改变ports安装软件下载地址,在/etc/make.conf中加入
    MASTER_SITE_BACKUP?=http://mirrors.163.com/FreeBSD/distfiles/${DIST_SUBDIR}/
    MASTER_SITE_OVERRIDE?=${MASTER_SITE_BACKUP}
    Packages更改软件库下载地址
    setenv PACKAGESITE http://mirrors.163.com/FreeBSD/releases/i386/8.1-
    RELEASE/packages/Latest/
    pkg_add -r package #package为要安装的软件名
    启动NFS客户端
    1.修改/etc/rc.conf
    nfs_client_enable="YES"
    2.修改/etc/fstab,添加远程nfs分区,例如
    remote_server:/path/to/export /local/mount/point nfs rw,late 0 0
    注: 选项 late 也可以不添加。如果添加了,就可以用 /etc/rc.d/mountlate 来挂载启动时没
    有挂载或挂载失败的 nfs 分区。
    3.执行/etc/rc.d/nfsclient
    # /etc/rc.d/nfsclient start
    挂在iso镜像
    mount -t cd9660 /dev/`mdconfig -f cdimage.iso` /mnt
    挂在ext3/ext2分区
    mount -t ext2fs /dev/ad0s1 /mnt/ad0s1
    如何查看当前用户默认的shell
    echo $SHELL
     
    查询Ports中是否含有某个软件包
    $ /usr/ports
    $ make search key=pidgin
    同样也可以使用
    $ cd /usr/ports
    $ make search name=pidgin
    用上面两种方法查询时,显示的信息比较详细,包括维护者、依赖包、主页等内容。如果只想显示所在的路径和软件名称,则可以用
    $cd /usr/ports
    $make quicksearch name=php
    安装fcitx-googlepinyin输入法
    # cd /usr/ports/chinese/fcitx-googlepinyin/ && make install clean
    在.cshrc里加入
    setenv XMODIFIERS @im=fcitx
    setenv GTK_IM_MODULE xim
    setenv QT_IM_MODULE xim
    在.xinitrc里加入
    fcitx &    注意:这个一定要写在/usr/local/bin/startxfce4的前面。
     
    更新ports的方法
    portsnap fetch extract update
    更改用户shell
    # vipw 或 chsh
    如何让csh显示彩色文件列表
    编辑/etc/csh.cshrc加入以下代码
    setenv LSCOLORS ExGxFxdxCxegedabagExEx 
    setenv CLICOLOR yes
    然后执行
    # sed -i.bak -E s/set\ prompt/#set\ prompt/g /root/.cshrc
    如何让cshbash那样按TAB自动列出无法补全的候选文件,
    标准方法是按Ctrl+D,但如果一定要用TAB的话,在/etc/csh.cshrc中加入;
    set autolist
    如何让FreeBSD的csh显示类似[xiaopang@BSD]~这样的提示符号?
    在/etc/csh.cshrc中加入;
    set prompt = '[%B%n@%m%b] %B%~%b%# '
    然后执行;
    # sed -i.bak -E s/set\ prompt/#set\ prompt/g /root/.cshrc
    搭建samba服务器
    # cd /usr/ports/net/samba46 && make install
    出现选择,依照内定预设值,按TAB选择OK,再按Enter.
    Options for samba 3.0.24,1
    [X] LDAP                     With LDAP support
    [X] ADS                      With Active Directory support
    [X] CUPS                     With CUPS printing support
    [X] WINBIND                  With WinBIND support
    [X] ACL_SUPPORT              With ACL support
    [ ] FAM_SUPPORT              With File Alteration Monitor
    [X] SYSLOG                   With Syslog support
    [ ] QUOTAS                   With Disk quota support
    [X] UTMP                     With UTMP accounting support
    [ ] MSDFS                    With MSDFS support
    [ ] PAM_SMBPASS              With PAM authentication vs passdb backends
    [ ] CLUSTER                  With experimental cluster support
    [ ] EXP_MODULES              With experimental modules
    [X] POPT                     With system-wide POPT library
    [ ] MAX_DEBUG                With maximum debuging
    # cp /usr/local/etc/smb.conf.default /usr/local/etc/samba.conf \\复制Samba.conf配置文件
    ########################以下内容可实现用户自动登录home目录##########################
    workgroup = WORKGROUP
    server string = %h Samba Server
    log file = /var/log/samba/%m.log
    [homes]
       comment = Home directory for %u on %h
       browseable = no
       writable = yes
       path = /usr/home/%u/
       valid users = %S
    ##################################################################
    编辑/etc/rc.conf添加
    winbindd_enable="YES"
    samba_enable="YES"
    然后添加使用者账号
    # adduser username
    设定samba user database (samba的使用者账号):
    # smbpasswd -a username
    /usr/local/etc/rc.d/samba start  //启动samba服务 
    安装Apache22
    1.可以使用ports安装
    cd /usr/ports/www/apache22
    make install clean
    第一次安装由于没有配置config,所以会弹出窗口让你选择模块,选择所需要的模块进行安装
    2.使用编译好的包远程安装
    pkg_add -rv apache22
    3.配置apache
    apache的主配置文件是/usr/local/etc/apache22/httpd.conf,可以根据实际情况修改,主要并且重要的参考:http://lamp.linux.gov.cn/Apache/ApacheMenu/index.html
    4.启动apache
    echo 'apache22_enable="YES"' >> /etc/rc.conf
    /usr/local/etc/rc.d/apache22 start
    FreeBSD 9.0 vncserver 安装与配置
    复制代码
    代码如下:
    # cd /usr/ports/net/vnc
    # make
    # make install \\查看vncserver路径
    # which vncserver
    /usr/local/bin/vncserver
    # mkdir .vnc
    # cd .vnc
    # vncserver \\启动vnc第一次启动会要求输入密码
    # vncserver -kill :1
    # vi xstartup \\修改xstartup为以下内容
    ####################################################
    #!/bin/sh
    [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
    xsetroot -solid grey
    vncconfig -iconic &
    # 下面的2行是vncserver第一次启动的时候产生的,为了使用Gnome,我把它们给
    # 注释掉了
    # xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
    # twm &
    fvwm &
    #####################################################
    # vncserver //重新启动vncserver,服务端配置完毕。
    在客户端启动vnc viewer 输入:“192.168.1.111:1”,确认并输入密码即可远程登陆。