freebsd用法配置汇总
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: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下普通用户无法su至root
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
如何让csh想bash那样按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”,确认并输入密码即可远程登陆。