基本

目前10.3是RELEASE版,11.0还是BETA

一般下载disc1.iso就可以,大概700MB;dvd1是比较齐全的,大概2个多G;memstick好像是写入U盘的,具体没试过,大小也是700M左右。

安装和基本使用参考FreeBSD使用手册就足够了。

其它参考:

修改源:

pkg源主页:pkg.freebsd.org

FreeBSD 10.x版本和之前貌似不同,需要修改/etc/pkg/FreeBSD.conf:

FreeBSD: {
  url: "pkg+http://pkg0.twn.freebsd.org/${ABI}/latest/",  # 这个源没被墙
  mirror_type: "srv",
  signature_type: "fingerprints",
  fingerprints: "/usr/share/keys/pkg",
  enabled: yes
}

额外参考:

权限,普通用户需要属于组wheel才能使用su命令,否则报Sorry;直接修改/etc/group或者执行pw user mod tankywoo -G wheel

可以安装sudo工具。参考

通常情况下, 强烈建议不要去更改 root 用户的默认 Shell。原因是这些 Shell 没有包括在基本系统中,正常情况下它们会被安装到 /usr/local/bin 和 /usr/bin 目录下。万一某天 /usr/local/bin 和 /usr/bin 的文件系统不能被挂载, 这样情况下 root 将不能进入自己默认的 Shell,从而 root 将不能够登录进去。 鉴于这个原因,第二个系统管理员帐户 toor 创建时使用的是非默认的 Shell。 来源

所以root还是使用csh,登录配置为~/.cshrc,增加以下几项:

alias ls        ls -G
alias ll        ls -al
alias rm        rm -i
alias mv        mv -i

set path = ($HOME/.local/bin /sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin $HOME/bin)  # 主要是增加~/.local/bin

setenv  EDITOR  vim

第二个系统管理用户改为bash,参考 Freebsd下安装bash。其中/etc/shells会自动更新。

make install后最后的提示不清楚有什么用:

Installing bash-4.3.46_1...
======================================================================

bash requires fdescfs(5) mounted on /dev/fd

If you have not done it yet, please do the following:

        mount -t fdescfs fdesc /dev/fd

To make it permanent, you need the following lines in /etc/fstab:

        fdesc   /dev/fd         fdescfs         rw      0       0

======================================================================

修改提示符在csh下是prompt环境变量:

set prompt = " # " 

主机名、网络配置在/etc/rc.conf里。

看内存:安装freecolor,执行freecolor -m -oswapinfo看swap。

参考:What is equivalent of Linux's 'free' command on FreeBSD v8.1 / FreeBSD find out RAM size Including Total Amount of Free and Used Memory Size

折腾MOTD:/etc/motd,以及cowsay, fortune等。

参考:Put a Talking Cow in Your Linux Message of the Day / CUSTOMIZE YOUR MOTD

安装/更新软件

参考:

pkg

FreeBSD 10.x 之前的命令貌似叫 pkg_add, pkg_info等,10.x 之后就pkg命令,install这些都是pkg的子命令。

这个是安装二进制包,所以没法定制,但是安装速度很快。

通过disc1安装的FreeBSD,默认没有pkg命令,第一次敲会提示安装,Yes确认即可。默认的源安装不上,可以按上面修改源地址。

$ pkg search python  # 搜索
$ pkg install python27-2.7.12  # 安装
$ pkg info python27-2.7.12  # 查看信息
$ pkg upgrade <pakcage>  # 升级软件

ports

第一次使用ports需要更新

$ portsnap fetch extract
$ portsnap update

虽然执行了第一步,但是看/usr/ports/下有内容,可能只需要第二步就可以了。

安装软件:

$ whereis tmux
tmux: /usr/ports/sysutils/tmux

$ cd /usr/ports/sysutils/tmux
$ make
$ make install

更新软件:

$ make && make reinstall

中间会有一些安装包的选项提示(勾选)。

安装后二进制bin文件默认在/usr/local/bin/下:

$ whereis tmux
tmux: /usr/local/bin/tmux /usr/local/man/man1/tmux.1.gz /usr/ports/sysutils/tmux

安装pipsetuptools:

$ python -m ensurepip
Ignoring indexes: https://pypi.python.org/simple
Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
Successfully installed pip-8.1.1 setuptools-20.10.1

参考 How to install python3.4-pip in FreeBSD 10.1?

查看哪些软件可以升级

pkg version -v 可以显示所有安装的软件以及哪些可以升级。

参考使用Ports Collection

查看已安装的软件包是通过什么方式安装的

输出最后一栏如果是 FreeBSD则是二进制;unknown-repository则是ports安装

参考:https://www.reddit.com/r/freebsd/comments/3mc0ss/list_of_installed_ports/

$ pkg query --all '%o %n-%v $R'

遇到的问题

make config配置

安装vim时,在make开始就会有config配置的ncurser窗口,让选择安装哪些,和Gentoo的USE类似,可以把X11去掉,改为console,只安装CUI版本。(其实不装X11等,编译安装还是很快的)

之前安装vim时,配置有问题,导致无法make:

make
====> You must select one and only one option from the UI single
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/editors/vim
*** Error code 1

Stop.
make: stopped in /usr/ports/editors/vim

这时make clean无用,需要再次调出之前的ncurser窗口,执行make config重新配置;make showconfig查看配置;make rmconfig删除配置。

cron任务

每天上午11点负载会莫名飙到3,甚至5。

排查后发现原来时区不对,/etc/crontab默认有个daily任务,每天3点进行日常维护,正好就是错误时区下的上午11点。(通过md5(unix下不是md5sum)确认时区文件/etc/localtime是Shanghai, zone文件也都在/usr/share/zoneinfo/下)。