FreeBSD的隐藏function?

为了完整性,类似于Linux的 隐藏特性和Solaris / OpenSolaris的隐藏特性,FreeBSD的隐藏function是什么?

我不小心在cp命令(FreeBSD 7.2)的源头find了; SIGINFO信号处理程序:如果在cp正在复制巨大内容时按下Ctrl + T,则会看到(和其他信息一起)以百分比表示的操作进度!

文档! 手册页介于Linux文档的简洁和模糊之间,以及Solaris手册页的超技术细节。 这本手册帮助刚入门的系统pipe理人员,FreeBSD新手,甚至是Unix新手。

我很惊讶没有人提到监狱呢。 与Solaris中的区域非常相似,jail为隔离应用程序以及创build虚拟主机提供了一种非常方便和安全的方式。

一个旧的( 最近 )是背景fsck和文件系统快照。

我一直非常喜欢各种“统计”命令,并且systat将它们连接在一起。 这是一个伟大的除了顶部 。 Linux似乎没有FreeBSD具有的各种“stat”命令集合。

提供三种不同的数据包filter来满足您的偏好 – ipfwipf和OpenBSD的pf

这里是我的工具包中的几个基本的。 我忽略了多个Unix类似的东西,但是许多Linux的“隐藏特性”技巧也可以在FreeBSD上使用。

我也尽量避免说“ZFS岩石”。 虽然我认为这是事实,但并不是非常隐蔽。 🙂

控制台configuration:

  • 当在香草系统的本地控制台上时,如果键盘很 ,可以使用kbdcontrol -r fast提高键盘延迟和重复速度。
  • 您可以使用/boot.config文件(是的,这是/的根目录中的文件)同时使用串行端口和video/键盘作为控制台。 见man boot(8)
  • Alt-F [1-8]键为您提供虚拟控制台,如果您需要走开一点点, lock -nvp将让您全部locking。
  • 点击滚动locking可让您使用PageUp / PageDown查看已经滚动显示器顶部的之前的屏幕。

系统pipe理:

  • 您可以使用.local后缀(最显着的是/boot/loader.conf.local/etc/rc.conf.local来configuration大量configuration文件的站点范围和特定于框的版本。 例如,在所有系统(如sshd )上启用的东西都可以进入/etc/rc.conf ,而本地覆盖(如接口configuration,主机名,本地守护进程等)可以进入/etc/rc.conf.local 。 这是一个简单的方法,可以让您在不改写框特定的rc内容的情况下推出一系列的更改。 这对Puppet或它的亲族来说并不是一帆风顺的,但它是一种轻量级的分布式configuration方式。
  • 启动时的完整初始dmesg始终可在/var/run/dmesg.boot
  • top -mio显示了顶级的I / O通话者。
  • 您不必使用ZFS来执行文件系统快照,请参阅mksnap_ffs(8) 。 不像ZFS那样function齐全,而是现有UFS文件系统的简单插件。 这些快照可以使用mdconfig挂载。
  • /etc/fstab ,如果将安装types(第四个字段)configuration为xx ,那么将忽略该安装行 – 非常适用于logging休闲分区。
  • man hier在很高层次上解释了文件系统的布局。
  • 使用mdconfig安装ISO。
  • 您可以使用/etc/login.conf通过passwd_format:blf将缺省密码散列函数更改为blowfish。
  • 如果你在自己的内核中运行,你可以通过引用现有的内核configuration来创build你的内核configuration,然后添加差异。 您也可以使用nooptionsnodevicenomakeoptions覆盖inheritance的项目。 例如,下面是如何创build一个包含所有GENERIC的内核,但只是添加一些debugging选项和一些调整(这是整个文件):
 include GENERIC ident DEBUG-GENERIC options KDB options DDB nooptions COMPAT_FREEBSD4 nooptions COMPAT_FREEBSD5 nooptions COMPAT_FREEBSD6 # This is actually the default; just an example. makeoptions DEBUG=-g nodevice atkbdc nodevice atkbd nodevice psm 

港口pipe理和软件:

  • portinstallportupgrade有一个-c选项,在下载和安装开始之前向您询问所有这些端口configuration问题 – 这是一个重要的节省时间。
  • 您可以报告与security/portaudit已知的安全问题的所有端口。 它还将自己的报告添加到日常安全输出中。
  • 如果您必须覆盖安装特定端口的安全性(希望仅用于内部或临时使用!),您可以export DISABLE_VULNERABILITIES=yes
  • portsclean -D删除所有未被任何活动端口引用的portsclean -D文件。
  • ports-mgmt/portdowngrade可以让你降级到一个特定版本的端口 – 如果你发现你的升级破坏了一些重要的东西, 非常方便。 它需要首先导出ANONCVS环境variables,其中包含CVS URL(我经常忘记并且必须查找)。
  • 您可以使用ports-mgmt/pkg_cutleaves没有其他依赖关系的软件包。 使用/usr/local/etc/pkg_leaves.exclude来保存你总是想保留的软件包列表,但是没有其他的软件包依赖它。
  • Linux二进制兼容性 。
  • 如果你正在运行一个服务器,在/etc/make.conf添加WITHOUT_X11=yes ,以便大部分(性能良好)的端口自动跳过X.
  • @Henry Flower关于发送SIGINFO到cp进度信息的注意事项也适用于dd
  • 我的每箱端口列表包括arpingbashcoreutilsdmidecodednstoplsofmcelogmultitail非常强大), portauditportdowngradeportupgradepstreersyncscreensmartmontoolsstracesudovimwget

编辑修复孤立的内核configuration和小语法。

sysctl和你可以用这个机制改变的一切。

DTrace,因为它对系统来说相当新颖

 %grep -A4 JOKE /usr/src/usr.bin/make/job.c
 #ifndef WITHOUT_OLD_JOKE
                                 if(strcmp(gn-> name,“love”)== 0)
                                         (* abortProc)(“不是战争”);
                                其他
 #万一
 %做爱
不是战争。
 2号出口

简单和控制 – 基本的BSD安装比典型的Linux发行版精简得多。 看到这个post的* BSD与其他操作系统的信封比较的背面。

不隐藏(它们很常见),但对于FreeBSD的基本使用非常重要:

  • 一个 – 一个
  • portsnap提取; porstnap提取物