读书人

[zz]Linux用户的FreeBSD快速入门引导

发布时间: 2012-06-27 14:20:09 作者: rapoo

[zz]Linux用户的FreeBSD快速入门向导

http://club.topsage.com/thread-331980-1-1.html

?

1. 简介

  本文档将突出介绍 FreeBSD 与 Linux 的差别,以使得那些 Linux 高级用户能自己快速熟悉 FreeBSD 的基础内容。这只是份技术上的快速入门,并非是试图描绘这两种操作系统之间的"哲学"上的差异。


2. Shell程序:没有Bash吗?

  那些从 Linux? 转过来的用户经常会惊讶于 Bash 不是 FreeBSD 的默认 Shell。 事实上,Bash 甚至没有包括在 FreeBSD 的默认安装中。代替的是,FreeBSD 使用 tcsh(1) 作为自己的默认 Shell,尽管如此,Bash 和其他你喜爱的 Shell 程序在 FreeBSD 的 Packages 和 Ports 套件 里都可以找到。

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

3. Packages和Ports:在 FreeBSD 中添加软件

  除了经典的 UNIX?安装软件的方法(下载源码包,解压,编辑源码,编译)外,FreeBSD 还提供了另外两种方法来安装应用程序:packages 和 ports。 你可以在 这里 到一份完整可用的 ports 和 packages 的软件清单。

3.1 Packages
  Packages 是预编译好的应用程序,在 FreeBSD 中等价于基于 Debian/Ubuntu 的系统中的 .deb 软件包以及基于 Red Hat/Fedora 的系统中的 .rpm 软件包。 Packages使用 pkg_add(1) 来进行安装。 例如,下面的命令将用来安装 Apache 2.2:

# pkg_add /tmp/apache-2.2.6_2.tbz

  使用 -r 操作将告诉 pkg_add(1) 来自动获取并安装一个软件包,以及解决所有的依赖关系:


3.3 Ports还是packages,我应该使用哪个?

  Packages 就是预编译好的 ports, 所以从源码(ports)安装与从二进制 packages 安装这两者间确实有很大关联。每种方法各有自己的优点:

Packages(二进制)

更快速的安装 (比较大的应用程序编译起来会花很长时间)。
你不需要知道如何编译软件。
不需要在操作系统上安装编译器。


Ports(源码)

能够定制安装选项。 (Packages通常都是使用标准选项构建的。使用 ports 你能够定义各种各样的选项, 比如类似构建附加的模块或是更改安装路径之类的。)
如果你喜欢的话还可以使用自己的补丁。


  如果你没有一些特别的需求, packages 可能刚好最适合你的情况。如果你需要进一步定制, ports 是最适合的方法了。(请记得, 如果你需要定制而自己又更倾向于使用 packages,你可以使用 make package 从 ports 构建一个定制的 package,然后复制到其他的服务器。)

4. 系统启动:运行级别在哪里?

  Linux 使用 Sysv init 初始化系统,而 FreeBSD 使用的是传统的 BSD 风格的 init(8)。在 BSD 风格的 init(8) 中没有运行级别和 /etc/inittab, 代替控制启动的是 rc(8) 实用程序。 /etc/rc 脚本读取 /etc/defaults/rc.conf 和 /etc/rc.conf 文件来决定哪个服务将被启动。 特殊服务在此后由处于 /etc/rc.d/ 和 /usr/local/etc/rc.d/ 下的相应服务初始化脚本文件所启动。 这些脚本类似于位于 Linux 系统中的 /etc/init.d/ 目录下的脚本。


  下面的一小段内容用来在 /etc/rc.conf 中启用 sshd(8) 和 Apache 2.2。 还指定了 Apache 应该通过 SSL 方式启动。

Linux® 命令 (Red Hat/Debian)FreeBSD 等价命令目的yum install package / apt-get install packagepkg_add -r package从远程仓库安装 packagerpm -ivh package / dpkg -i packagepkg_add -v package安装 packagerpm -qa / dpkg -lpkg_info列出已安装的软件包



9.2 系统管理


Linux 命令FreeBSD 等价命令目的lspcipciconf列出 PCI 设备lsmodkldstat列出已载入的内核模块modprobekldload / kldunload载入/卸载内核模块stracetruss跟踪系统调用

读书人网 >UNIXLINUX

热点推荐