freebsd用法配置汇总

12-21

FreeBSD中文wiki

http://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:[email protected] 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”,确认并输入密码即可远程登陆。