档案

Posts Tagged ‘FreeBSD’

UNIX 基本命令简介(文件系统篇)

5月 7, 2011 留下评论

[ 资料来源: Wikipedia ]

UNIX Command Line Programs And Builtins
File System cat , cd , chmod , chown , chgrp , cmp , cp , dd , df , du , file , fsck , ln , ls , mkdir , mount , mv , pax , pwd , rm , rmdir , split , tee , touch , type , umask
Processes at , bg , chroot , cron , kill , killall , nice , pgrep , pidof , pkill , ps , pstree , time , top
User Environment clear , env , exit , finger , history , id , logname , mesg , passwd , su , sudo , uptime , talk , tput , uname , w , wall , who , whoami , write
Text Processing awk , banner , basename , comm , csplit , cut , dirname , ed , ex , fmt , head , iconv , join , less , more , paste , sed , sort , strings , tail , tr , uniq , vi , wc , xargs
Shell Programming alias , echo , expr , false , printf , sleep , test , true , unset , wait , yes
Networking dig , inetd , host , ifconfig , netstat , nslookup , ping , rdate , rlogin , netcat , traceroute
Searching find , grep , locate , whatis , whereis , which
Documentation apropos , help , info , man
Miscellaneous bc , cal , date , lp , lpr

cat ( catenate )

cat 是一个用于“连接( concatenate )”或“显示”文件的标准 UNIX 程序。名称来源于单词 catenate,是 concatenate 的同义词。

单一 UNIX 规范( Single UNIX Specification, SUS )指定了 cat 的行为,要求写入标准输出的顺序与指定的参数顺序一致,另外还要求了一个选项 -u,使显示的每一个字节都与读取的相同。

BSD 版和 GNU coreutils 版的 cat 都有如下选项:

  • -b: 将非空白行标注行号
  • -n: 将所有输出行标注行号
  • -s: 将多行相邻的空白行压缩
  • -v: 显示不可打印字符,但不显示制表符和换行符
  • -t ( on BSD ), -T ( on GNU ): 隐含了 -v,但同时将制表符也显示为 ^I
  • -e ( on BSD ), -E ( on GNU ): 隐含了 -v,但同时将换行符显示为 $

对于二进制文件,cat 也能像处理文本文件一样处理得很好,因为 cat 只是简单地连接文件,并不在之间添加任何东西。
阅读更多…

分类:FreeBSD, UNIX 标签:, ,

FreeBSD 配置使用 Tor

5月 1, 2011 留下评论

相信大家应该听说过“洋葱头”吧,Tor 的安全性和匿名性相当不错,所以昨天我也在我的 FreeBSD 上安装试用了一下。

首先安装 Tor,相信应该都没问题吧。但我在安装时还是遇到了一个问题。。。我本想安装 tor-devel ,但依赖 libevent2,这也还不是问题,因为 libevent2 和 libevent 可以共存,但问题是 tor-devel 和 libevent 冲突,而我需要使用的 tmux 又依赖于 libevent,一时没办法,还是安装 tor 稳定版吧。。。

接着进入 tor 的配置目录 /usr/local/etc/tor/,将示例配置文件复制一份,并去掉后面的 .sample 即可。然后编辑 torrc 配置文件,可以直接接受前面的默认设置,另外如果使用同时安装的启动脚本 /usr/local/etc/rc.d/tor 来启动 tor,请注意检查启动脚本里的配置是否和此处 torrc 里的配置相冲突,否则 tor 在启动会出现错误而无法运行。

接下来在配置文件 torrc 最后添加 “Tor 的网桥”,并设置“节点”,我所使用的如下所示:

## Bridges
#UseBridges 1
#UpdateBridgesFromAuthority 1
#bridge 205.185.117.180:9001
#bridge 74.219.153.179:443
#bridge 92.76.20.230:9221

StrictExitNodes 1
ExitNodes {us}
ExcludeNodes {cn},{mo},{hk}

在这里最重要的是设置出口节点,一般来说,建议大家添加最后三行即可,这样 tor 每次会自动从服务器上获取网桥,基本能满足需要。如果大家有很好的网桥,并想固定使用,就把上述的 UseBridge 1 注释掉,并添加相应的 bridge 项。至于 UpdateBridgeFromAuthority 1 是关于网桥认证的,大家也可以根据需要是否打开。

网桥可以通过直接访问 Tor 的 “bridge relay” 网页获取,另外也可以往 bridges@torproject.org 发送一封内容为 “get bridges” 的邮件,Tor 的网页上说只能使用 GMail 和 Yahoo 邮箱,但我其他的邮箱没试过。由于国内的节点不可靠也很可能有问题,所以建议使用 ExcludeNodes 排除。

最后如果需要开机自动启动,就将 tor_enable="YES" 添加到 /etc/rc.conf 即可。

运行 tor 之后,可以通过 sockstat | grep tor 查看 Tor 的相应端口。

此外,Tor 也可以在普通用户的权限下运行,可以将配置文件 torrc 复制到 ~/.torrc,然后做适当修改,比如更改日志的位置等。

分类:FreeBSD, Network, Security 标签:, ,

FreeBSD 中为 OpenVPN 添加自定义路由表

5月 1, 2011 留下评论

[ 参考资料:chnroutes usage 使用 OpenVPN 的 route 命令 ]

对于网上一些 OpenVPN 的代理,当连接好之后,一般会接受服务器端的一些设置,将本地的默认路由设置为远程服务器,即本地所有的数据都经由远程服务器转发,虽然达到了代理的要求,但实用性却不行,对于访问国内的资源,应该选择不经过远程服务器,而是直接访问,相比速度也明显提升。

首先到 chnroutes 上下载适合自己系统的文件。对于所有的平台都可以使用 routes.txt 文件,经过我的比较,建议大家使用这个文件,虽然路由条目只有不到 1000,而使用那儿提供的脚本自己生成的路由条目大约有 1800 条,但我在网上测试了前面一些,发现有一些 IP 段并不是国内的。

下面以我的 FreeBSD 平台为例大致说明:

先大致介绍下在 FreeBSD 配置 OpenVPN 客户端。安装好 OpenVPN 软件包之后,创建配置目录 /usr/local/etc/openvpn,然后将 OpenVPN 代理分发的客户端配置文件复制到上述目录(如果配置文件扩展名为 ovpn,建议改为 UNIX 风格的 conf),接着修改 /etc/rc.conf 文件,添加如下配置即可:

### OpenVPN
openvpn_enable="YES"
openvpn_configfile="/usr/local/etc/openvpn/your_config.conf"

如果大家有好几套代理服务器的配置文件,并想建立不同的目录分别存放,则还应该修改 OpenVPN 的启动文件 /usr/local/etc/rc.d/openvpn,里面有一个 dir 的项目应该修改,只修改 /etc/rc.conf 文件里的 openvpn_configfile 的值会不无法启动,因为找不到对应的证书和密钥。具体如何修改我目前还没试过,如果以后试了我会再更新的。
阅读更多…

分类:FreeBSD, Network 标签:, ,

FreeBSD 挂载镜像文件和 USB 存储设备

4月 22, 2011 1条评论

挂载 ISO 镜像文件

[ 参考: The FreeBSD Diary: mounting an ISO image

在 FreeBSD 下挂载 ISO 镜像文件与 GNU/Linux 还是存在较大差别,我刚使用 FreeBSD 时也是无从下手,感觉明显没有 GNU/Linux 容易使用。其实 FreeBSD 下挂载镜像也是很方便的,虽然需要先手动配置一下,卸载后又要运行一条命令。

# mount commands
mdconfig -a -t vnode -f /path/to/image.iso -u 1
mount -t cd9660 /dev/md1 /mnt/cdrom
# umount commands
mount -u /mnt/cdrom
mdconfig -d -u 1

如果想挂载一个 .iso 镜像文件,首先使用 mdconfig 命令创建一个与镜像文件对应的虚拟设备,选项 -a 表示“连接内存磁盘( attach a memory disk )”,-t vnode 表示将后面由 -f 指定的文件作为 memory disk。最后的 -u 1 表示为将要创建的 md(4) 设备指定一个特定的单元值,而不使用自动分配的值,这里指定 1 ,则将创建设备 /dev/md1

使用完后卸载也与挂载类似,卸载后还需使用 mdconfig -d 将刚创建的 md(4) 设备“断开( detach )”。
阅读更多…

分类:FreeBSD 标签:, ,

FreeBSD 下使用 ataidle 配置硬盘

4月 19, 2011 留下评论

现在的硬盘一般都有 S.M.A.R.T 支持,另外还有电源管理功能。虽然对于笔记本电脑来说,节能并延长续航时间固然重要,但当硬盘工作在节能模式下时,硬盘的磁头会时不时地收回停下,而一但需要读取数据时,磁头又不得不重新载入工作。我觉得这对于省电并没有什么作用,而且磁头时不时重载,不仅会有明显的噪音,也对硬盘寿命有一定影响。

磁头重载次数也称为 LCC ( Load Cycle Count ) 参数,如果硬盘电源管理得比较严,则磁头重载周期较短,LCC 的值也会增长较快。以前也有文章说明过使用 Ubuntu Linux 时 LCC 快速增长,现在应该好多了吧。

虽然硬盘能承受的磁头重载次数都很大,约为 60 万,所以只要不是增长得很快都没问题。但也可以关掉硬盘的高级电源管理( APM )功能。既没有了不时地重载的噪音,也不会使 LCC 快速增长。

首先安装软件 sysutils/ataidle, 然后将以下配置添加到 /etc/rc.conf

# disk
ataidle_enable="YES"
ataidle_devices="ada0"
ataidle_ada0="-I 120 -S 240 -A 127 -P 254"

阅读更多…

分类:FreeBSD 标签:, ,

FreeBSD Intel HD声卡配置

4月 14, 2011 留下评论

去年底切换到 FreeBSD 后,因为刚开始使用,谈不上任何经验,系统安装好之后面对一大堆问题,体验比不上 GNU/Linux 。其中一个主要问题是声卡的配置,首先参照 FreeBSD 手册加载了声卡内核模块,我的 X200 是 Intel HD 声卡,故加载了 snd_hda 模块,并将 snd_hda_load="YES" 添加到 /boot/loader.conf 。(大家请按自己的声卡加载对应的模块,加载后可以使用 cat /dev/sndstat 查看声卡信息,确认模块加载正确)

但声卡模块加载无误后,依然没有声音,后来上网查找,了解到 FreeBSD 下声卡一般都配置有四个“音频通道”,两个输出,分别为内置扬声器和耳机;还有两个输出,分别为内置麦克风和外接麦克风。并且每个输出和输入组成一个声音单元,或声音设备分别为 pcm0 和 pcm1,默认情况在我的 X200 上,声音单元 0 代表耳机,1 代表内置扬声器。所以使用 sysctl hw.snd.default_unit=1 将系统默认的声音单元设为 1,此时扬声器即可正常工作了。(这是我的笔记本配置,台式机没有试过,可能有区别)

但事情到些还没有完,真正难以处理的问题是:内置扬声器工作正常,但接上耳机后,扬声器无声了,但耳机也没声音。为此我也上网找了很多,但却总是不理解如何解决。最后仔细地读 snd_hda(4) ,终于理解 FreeBSD 下声卡的配置方式。下面是我的配置过程:
阅读更多…

分类:Computer Science, FreeBSD 标签:,

FreeBSD 下的牛津词典

4月 13, 2011 1条评论

在 FreeBSD 下的有个简易的词典: zh-oxford, 这个词典是在 CLI 下使用的,可直接通过命令 sudo su root -c "pkg_add -rv zh-oxford" 安装。

但在我的系统上安装好后,命令 oxford newword 的输出却是乱码,即使修改终端的 LANG 也无济于事,猜测是该词典的数据文件编码有问题。

于是用 vim 查看了相关文件,发现词典文件的编码果然不对劲,都是 CP936,于是使用 iconv 将文件编码转换为 UTF-8,乱码问题解决。

我将转换好编码的词典数据,和该软件包的原文件重新打包了,大家可以直接从所附链接下载安装。

该词典的查词程序是用 LISP 编写的,故和传说中的 Emacs 有关系了,程序注释里有如下内容,大家可仿照着与 Emacs 共同使用。

;; Configuration:
;; add following code to your ~/.emacs file
;;   (add-to-list 'load-path "<oxford installation directory>")
;;   (require 'oxford)
;; How to use:
;;  M-x oxford    Searching for a word
;;  M-x oxford-mode   Enable oxford minor mode,
;;                    type C-h f oxford-mode see more help

附: zh-oxford.tbz

FreeBSD 下配置鼠标的灵敏度和速度

4月 11, 2011 留下评论

我使用的是 ThinkPad X200, 平时基本不用外接鼠标,很依赖键盘和“小红点”,在 Windows 下,联想提供 TrackPoint 的驱动程序,里面可以设置“灵敏度”,鼠标移动速度也可以方便调节。另外在 Linux 下,也可以方便地通过改变 /sys/devices/platform/i8024/serio1/ 目录(这是我的 X200 的目录,您的可能会有不同)下的 sensitivity, speed 文件里的值来设置“灵敏度”和“速度”,还可以将 press_to_select 文件里的值设为 “1” 来打开“点击‘小红点’代表单击”功能。

在 Linux 下还可以将下面几行命令添加到 /etc/rc.local 文件中以达到自动设置,大家请修改相应的值以适合自己的使用习惯。

# configure the trackpoint
echo -n 255 > /sys/devices/platform/i8042/serio1/sensitivity
echo -n 200 > /sys/devices/platform/i8042/serio1/speed
echo -n 1 > /sys/devices/platform/i8042/serio1/press_to_select

阅读更多…