您可以在2020年将FreeBSD用于开发人员机器吗?

FreeBSD是服务器上的可靠选择,在基础架构领域无处不在,但是它如何作为台式机使用呢? 作为开发人员工作站? 我发现。

我一直在考虑将博客移回FreeBSD Web服务器。 我以这种方式托管了多年,最近又将其切换到Linux机器,这样我就可以使Octopress正常工作。 它使用了一些旧的,过时的Ruby宝石,而且看起来更容易。

但是随着新的重新设计和新的Hugo后端,我将把我的托管计算机带回到FreeBSD。

我最近读到FreeBSD是一个了不起的操作系统 ,这让我开始思考:

FreeBSD能否在2020年成为开发人员可行的桌面操作系统?

在这篇文章中:

我会说:

  • 是什么导致我进入FreeBSD
  • 2020年的设置方式
  • 什么样的开发人员可以从FreeBSD中受益
  • 您可以做什么开始

让我们深入。

我在FreeBSD上的历史

我大约在1998年首次试用FreeBSD。Linux对Windows95感到沮丧,这使我很感兴趣,并且我已经使用了两年。 一个朋友建议使用FreeBSD,所以我跑到了Portland的Egghead软件那里,买了一个副本。

一开始我觉得很沮丧。 但是我有一本巨大的手册可供参考(1998年没有太多的Google),所以我挖了一下。我立刻注意到的一件事是,文档似乎清晰准确。 它告诉我如何做某事,如果我遵循它,我将获得预期的结果。 我被迷住了。

我首先在运行于车库中的运行FreeBSD 4的旧奔腾机器上托管JeremyMorgan.com 。 我的第一项真正的技术工作是与FreeBSD一起工作,而我首先致力于学习和使用它。 这是我多年来的日常驱动程序,并且我在FreeBSD上运行了一个虚拟主机服务。 我们没有灾难性的失败。 在这里,我将尽量避免让我的评论产生偏差。

最终,我开始从事开发工作,每天都使用Linux。 为了使家里的工作环境与工作相适应,我开始远离FreeBSD。 很快,除了托管我的网站之外,我根本没有使用它。

跳回

所以最近,在阅读了有关FreeBSD并在线研究之后,我再次安装了它。 我启动了一个虚拟机,它出现了一些古怪的错误,自从我将其用作台式机以来的15年中,情况发生了一些变化。

我很快将其放在实际硬件上。 我有一台用于运行虚拟服务器的i7机器,周围有一个旧的SSD,因此我在上面扔了FreeBSD 12(稳定)。 几乎没有进行任何修补,并且已启动并运行。 如您所料,较旧的硬件更易于设置BSD。

经过实验后,我将其放在全新的笔记本电脑上。 某些硬件无法使用,特别是我的无线网卡。 因此,我最终将FreeBSD 13(当前)放到了它上。

我在实验室机器和主要工作机器上安装了FreeBSD 12(Stable)。 我使用LXDE桌面环境是因为我很老,我喜欢它。

现在在FreeBSD中进行开发的感觉

我对FreeBSD中有多少事情运行良好感到惊讶。 我设置了开发机器,使其尽可能与Arch Linux机器匹配。 这是我在那台机器上所做的:

  • 浏览/电子邮件/新闻
  • Web开发(前端和后端)
  • 高朗发展
  • Python开发
  • 容器/虚拟化
  • 写作(像这样的文章!)

那么,我可以设置一个FreeBSD机器来完成所有这些事情吗? 通常我可以。 在离开FreeBSD一段时间后,它让我可以用一行这样的代码安装的东西让我感到惊讶:

pkg install vscode

例如,我安装了一些脚本,例如Gist

这是完全符合预期的工作:

  • VS Code(谢天谢地)
  • 节点
  • 码头工人
  • 虚拟盒子
  • 从源代码构建的各种软件包

以下是无法使用或无法使用的内容:

  • 反应CLI
  • 崇高文字
  • VMware工作站
  • 流浪汉

因此我无法镜像我的Arch Linux环境,但是我取得了很多成功。 在使用了两周之后,我确定了开发人员如何将FreeBSD用作桌面,然后我将解释您为什么要这么做。

谁可以将FreeBSD用于其开发机器?

FreeBSD遍布服务器世界,并拥有庞大的社区。 在FreeBSD本身或其软件包上进行开发或维护的任何人不仅可以而且应该将FreeBSD用作工作站。 那不用说了。

而且,对于CC ++Python开发人员,由于可用的工具和软件包数量众多,FreeBSD可能是您最好的选择 。 长期以来一直如此。

但是,我将介绍我的受众群体(此博客的读者)及其需求。

前端Web开发人员

Node似乎运行良好,我可以启动一个React App,并对其进行一些修改。 我无法使React CLI正常工作,主要是由于nodegit的原因,这在除了主流平台/操作系统之外的任何其他版本上安装React CLI时似乎都是致命弱点。

Angular的效果很好,我做了一些尝试,SASS和其他依赖项运行完美。

Vue CLI运行得很好,尽管我没有做很多事情来推动它。

总体而言:在进行前端操作时,我没有遇到任何重大障碍。 我相信前端开发人员可以将FreeBSD用作他们的开发机器,这与使用Linux相似。

后端Web开发人员

这是一个棘手的问题,因为有很多选项可供选择。 我可以做很多事情,并且我知道在后端使用的其他组件在FreeBSD中都没有问题。 这包括:

  • 高朗
  • 蟒蛇
  • 节点
  • 爪哇
  • SQLite的
  • PostgreSQL的
  • 的MySQL

如果您使用这些技术中的任何一种,它们应该就可以在FreeBSD工作站上正常工作并且可以正常工作。

如果您是.NET Core开发人员,那么FreeBSD可能不适合您。 有几种安装方法,但它似乎只能在Linux兼容性下运行,并且它是一个古老的版本。 我认为FreeBSD顽固派对于在其平台上开发Microsoft产品并不感到兴奋。 但是,只要有足够的工作,我肯定3.0是可能的。

因此,系统开发人员,前端和后端开发人员可以将FreeBSD用作其开发工作站,但是为什么要这么做? 继续阅读。

为什么开发人员要使用FreeBSD?

如果您正在阅读本文,则很可能使用Windows,Mac或Linux进行开发。 您可能会想:我为什么要更改? 重点是什么?

同样,我将尽量避免让我的个人偏见进入本文,但是您最喜欢OSXLinux的大多数原因可能是更喜欢FreeBSD的原因。 我会解释。

FreeBSD非常接近OSX和Linux。 这是有原因的,因为OSX最初基于BSD Unix,并且与Linux并行运行了很多年。 它们相似,但是不相同。

这就是您可能要运行FreeBSD的原因:

Linux是带回购协议的内核,FreeBSD是系统 -好的,我会收到一些有关此的电子邮件,但是Linux相当分散。 FreeBSD不是。 FreeBSD在其文档和软件包中都有一个真实的来源。 这引出我的下一个观点。

这是一个精心设计的生态系统 -它没有围墙花园,但是在生态系统中有很好的领导才能确保事情不会过于分散。 这可能会使最前沿的人感到不安,但是FreeBSD维护人员对添加的内容和时间非常严格。 他们努力凝聚力,这表明。

通常,FreeBSD的性能要比Linux好 -不要期望指数差异,但是许多测试表明 FreeBSD的性能要比Linux好,尤其是在CPU较高的情况下。

这些文档令人难以置信 -FreeBSD维护者引以为傲的一件事就是文档。 如果您像我很多次一样被困住,那么文档将使您获得救助。

FreeBSD通常有“做某事的一种方式” -这既有好处,也有缺点。 但是通常根据设计者/维护者有一种做事的方法。 这可以使事情变得容易,但是有人说它扼杀了创新。 但是,如果在大多数情况下需要软件包,则可以使用pkg进行安装或从端口进行构建。 简单,容易。

Ports系统很棒 -因此,如果您担心从Linux中的源代码进行编译,那么FreeBSD中的情况就不同了。 如果您需要从源代码(甚至整个系统)进行编译,那么在FreeBSD中就可以轻松完成。 您将花费很长时间进行编译(这是不可避免的),但是您将不会拥有与Linux一样多的错误和怪异事件。

为什么不使用FreeBSD?

在某些情况下,您不想使用FreeBSD作为开发人员。

如果没有可用的软件包-有时没有可用的软件包,则Linux仿真不是一个很好的解决方案,并且没有合理的前景。 如果您处于这种情况,FreeBSD可能不是最佳选择。 例如,如果您是.NET Core开发人员,则可能不是最佳选择。

如果您需要Docker / Kubernetes-因此, 根据文档, Docker已损坏。 我能够使用一些基本的容器,而且一切似乎都很好,但是Docker在FreeBSD中似乎并不适合。 FreeBSD用户更喜欢使用jail,因此他们并没有在Docker上投入太多精力。 如果您在日常工作中使用Docker,这可能是一个危险信号。

设置可能具有挑战性 -FreeBSD用户会通过说值得这样做来反驳这一点,但是FreeBSD设置起来可能会困难且令人沮丧。 有很多东西要学习,您可能会花很多时间进行修补。 如果您想快速起步并运行,可能不适合您。

那么我如何开始使用FreeBSD?

如果您想尝试FreeBSD,我建议您下载VirtualBox并创建一个虚拟机来安装FreeBSD。 这是最简单的尝试方法,无需对机器做任何麻烦的事情。

您将需要:

下载FreeBSD   为您的CPU。 您可以为此获得虚拟机映像,这使事情变得容易一些。 您将需要在RELEASE和STABLE之间进行选择,下面将解释差异。 如果可以的话,我建议使用STABLE。

阅读有关安装FreeBSD的文档 -内容非常详尽,它将帮助您渡过难关。

选择一个桌面环境 -如果您是Linux用户,那么您已经知道这是什么意思。 安装FreeBSD时,系统会提示您,因此,如果需要GUI,则必须安装某种环境。

FreeBSD论坛上添加书签-在这里可以获取帮助并分享您所学的知识。

完成此操作后,您将可以尽情享受FreeBSD的乐趣,并且可能会发现它是您要坚持使用的操作系统。 你会相处得很好。

当前与发布

因此,对于FreeBSD,您有两个不同的版本:STABLE和CURRENT。 听起来就是这样。 “稳定”是经过FreeBSD贡献者全面测试的版本。 它被认为可以稳定地用于生产环境,并得到FreeBSD Foundation的支持。

当前是FreeBSD的最新版本。 它包含所有最新和最棒的内容,但可能无法正常工作。 里面还进行了调试和监视,因此情况复杂。 由于我的选择很少,因此将Current放在笔记本电脑上。

我的笔记本电脑装有EFI系统。 为了与Windows 10双重引导,我必须安装RefIT并进行一些引导菜单项。 没什么可怕的,但是对于初学者来说却没那么有趣。 您已被警告。

那么,我们能否在2020年将FreeBSD用作开发人员机器?

要回答一个大问题: 是的 。 它可以。 您可以在FreeBSD中进行大量的现代化开发,其优点是拥有快速,稳定的系统。 一旦对其进行配置,它就可以在完成实际工作的同时“远离您”。 它带有各种可用于协助开发的工具。 首先,FreeBSD是为开发而构建的。

如果您想了解FreeBSD的发展趋势以及未来的前景,请查看FreeBSD Foundation执行董事Deb Goodkin的访谈

如果您最终自己尝试了FreeBSD,请在HackerNoon论坛中告诉我! 我很想听听您对使用它的反馈。

From: https://hackernoon.com/can-you-use-freebsd-for-a-developer-machine-in-2020-fc653bk5

  • 0
    点赞
  • 0
    评论
  • 2
    收藏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
第一部分 综述 第1章 BSD系统的历史和目标 1.1 UNIX系统的历史 1.1.1 UNIX系统的起源 1.1.2 Research小组的UNIX系统 1.1.3 AT&T UNIX System III和System V 1.1.4 伯克利软件发布(BSD) 1.1.5 UNIX无处不在 1.2 BSD和其他系统 1.3 BSD向开放源代码的转变 1.3.1 Networking Release 2 1.3.2 法律诉讼 1.3.3 4.4BSD 1.3.4 4.4BSD-Lite Release 2 1.4 FreeBSD开发模式 1.5 参考文献 第2章 FreeBSD设计概述 2.1 FreeBSD的功能和内核 2.2 内核结构 2.3 内核服务 2.4 进程管理 2.4.1 信号 2.4.2 进程组和会话 2.5 内存管理 2.5.1 BSD内存管理设计要点 2.5.2 内核中的内存管理 2.6 I/O系统 2.6.1 描述符与I/O 2.6.2 描述符管理 2.6.3 设备 2.6.4 套接口IPC 2.6.5 分散/聚集I/O 2.6.6 多文件系统支持 2.7 设备 2.8 文件系统 2.9 网络文件系统 2.10 终端 2.11 进程间通信 2.12 网络通信 2.13 网络实现 2.14 系统运行 2.15 复习题 2.16 参考文献 第3章 内核服务 3.1 内核结构 3.1.1 系统进程 3.1.2 系统入口 3.1.3 运行时刻的内核结构 3.1.4 内核的入口 3.1.5 从内核返回 3.2 系统调用 3.2.1 调用结果的处理 3.2.2 从系统调用返回 3.3 陷阱和中断 3.3.1 陷阱 3.3.2 I/O设备中断 3.3.3 软件中断 3.4 时钟中断 3.4.1 统计和进程调度 3.4.2 超时 3.5 内存管理服务 3.6 时间服务 3.6.1 真实时间 3.6.2 外部表示 3.6.3 调整时间 3.6.4 时间间隔 3.7 用户、用户组和其他身份标识 3.7.1 主机标识符 3.7.2 进程组和会话 3.8 资源服务 3.8.1 进程优先级 3.8.2 资源利用 3.8.3 资源限制 3.8.4 文件系统配额 3.9 系统运行服务 3.10 复习题 3.11 参考文献 第二部分 进程 第4章 进程管理 4.1 进程管理概述 4.1.1 多程序机制 4.1.2 调度 4.2 进程状态 4.2.1 进程结构 4.2.2 线程结构 4.3 上下文切换 4.3.1 线程状态 4.3.2 底层上下文切换 4.3.3 主动上下文切换 4.3.4 同步 4.3.5 互斥同步 4.3.6 锁管理器的锁 4.3.7 其他同步 4.4 线程调度 4.4.1 4.4BSD的调度程序 4.4.2 线程调度 4.4.3 线程优先级的计算 4.4.4 线程优先级例程 4.4.5 线程运行队列和上下文切换 4.4.6 ULE调度程序 4.5 创建进程 4.6 终止进程 4.7 信号 4.7.1 信号的历史 4.7.2 发送信号 4.7.3 接收信号 4.8 进程组和会话 4.8.1 会话 4.8.2 作业控制 4.9 监管环境 4.9.1 监管环境的语义 4.9.2 监管环境的实现 4.9.3 监管环境的限制 4.10 进程的调试 4.11 复习题 4.12 参考文献 第5章 存储管理 5.1 术语 5.1.1 进程与内存 5.1.2 调页机制 5.1.3 替换算法 5.1.4 工作集模型 5.1.5 交换机制 5.1.6 虚拟内存的优点 5.1.7 虚拟内存的硬件要求 5.2 FreeBSD虚拟内存系统概述 5.3 内核的存储管理 5.3.1 内核映射和子映射 5.3.2 内核地址空间的分配 5.3.3 内核的存储分配程序 5.3.4 内核的区域存储分配程序 5.4 进程独立拥有的资源 5.4.1 FreeBSD的进程虚拟地址空间 5.4.2 缺页处理 5.4.3 映射到对象 5.4.4 对象 5.4.5 对象到页面 5.5 共享存储 5.5.1 mmap模型 5.5.2 共享映射 5.5.3 私有映射 5.5.4 压缩影子链 5.5.5 私有快照 5.6 创建新进程 5.6.1 保留内核资源 5.6.2 复制用户地址空间 5.6.3 不通过复制创建新进程 5.7 执行一个文件 5.8 进程地址空间的操作 5.8.1 改变进程大小 5.8.2 文件映射 5.8.3 改变保护权限 5.9 终止进程 5.10 调页器接口 5.10.1 vnode调页器 5.10.2 设备调页器 5.10.3 物理内存调页器 5.10.4 交换调页器 5.11 调页机制 5.11.1 硬件高速缓存的设计 5.11.2 页面填色 5.12 页面替换 5.12.1 调页参数 5.12.2 pageout守护进程 5.12.3 交换机制 5.12.4 换入进程 5.13 可移植性 5.13.1 pmap模块的作用 5.13.2 初始化和启动 5.13.3 分配和释放映射 5.13.4 改变映射的访问和固定属性 5.13.5 管理页表的使用信息 5.13.6 初始化物理页面 5.13.7 管理内部数据结构 5.14 复习题 5.15 参考文献 第三部分 I/O系统 第6章 I/O系统概述 6.1 从用户到设备的I/O映射 6.1.1 设备驱动程序 6.1.2 I/O队列 6.1.3 中断处理 6.2 字符设备 6.2.1 原始设备和物理I/O 6.2.2 面向字符的设备 6.2.3 字符设备驱动程序的入口点 6.3 磁盘设备 6.3.1 块设备驱动程序的入口点 6.3.2 磁盘I/O请求的排序 6.3.3 磁盘标签 6.4 描述符的管理和服务 6.4.1 打开文件项 6.4.2 管理描述符 6.4.3 异步I/O 6.4.4 文件描述符的上锁机制 6.4.5 描述符上的多路I/O操作 6.4.6 select调用的实现 6.4.7 数据在内核中的转移 6.5 虚拟文件系统的接口 6.5.1 vnode的内容 6.5.2 对vnode的操作 6.5.3 路径名转换 6.5.4 文件系统的导出服务 6.6 与文件系统无关的服务 6.6.1 名字缓存 6.6.2 缓冲区管理 6.6.3 缓冲区管理的实现 6.7 可叠加的文件系统 6.7.1 简单的文件系统层 6.7.2 联合安装的文件系统 6.7.3 其他文件系统 6.8 复习题 6.9 参考文献 第7章 设备 7.1 设备概述 7.1.1 PC的I/O体系结构 7.1.2 FreeBSD海量存储I/O子系统的结构 7.1.3 设备的命名和访问 7.2 GEOM层 7.2.1 术语和拓扑规则 7.2.2 改变拓扑 7.2.3 运行 7.2.4 拓扑的灵活性 7.3 CAM层 7.3.1 SCSI子系统 7.3.2 I/O请求通过CAM子系统的路径 7.4 ATA层 7.5 配置设备 7.5.1 识别设备 7.5.2 自动配置数据结构 7.5.3 资源管理 7.6 复习题 7.7 参考文献 第8章 本地文件系统 8.1 文件系统的分层管理 8.2 inode的结构 8.2.1 inode格式的变化 8.2.2 扩展属性 8.2.3 文件系统的新功能 8.2.4 文件标志 8.2.5 动态的inode 8.2.6 管理inode 8.3 命名 8.3.1 目录 8.3.2 在目录中查找名字 8.3.3 路径名转换 8.3.4 链接 8.4 配额 8.5 文件上锁 8.6 软更新 8.6.1 文件系统中的更新依赖 8.6.2 依赖关系的数据结构 8.6.3 跟踪位映射表的依赖关系 8.6.4 跟踪inode的依赖关系 8.6.5 跟踪直接块的依赖关系 8.6.6 跟踪间接块的依赖关系 8.6.7 跟踪新间接块的依赖关系 8.6.8 跟踪新目录项的依赖关系 8.6.9 跟踪新目录的依赖关系 8.6.10 跟踪删除目录项时的依赖关系 8.6.11 截短文件 8.6.12 回收文件和目录的inode节点 8.6.13 跟踪目录项重命名时的依赖关系 8.6.14 跟踪删除文件时的依赖关系 8.6.15 fsync对软更新的要求 8.6.16 删除文件时对软更新的要求 8.6.17 fsck对软更新的要求 8.6.18 软更新的性能 8.7 文件系统的快照 8.7.1 创建文件系统快照 8.7.2 维护文件系统快照 8.7.3 大型文件系统的快照 8.7.4 快照性能 8.7.5 后台fsck 8.7.6 用户可见的快照 8.7.7 动态的转储 8.8 本地文件库 8.8.1 文件库概述 8.8.2 用户的文件I/O 8.9 伯克利快速文件系统 8.9.1 伯克利快速文件系统的组成 8.9.2 引导块 8.9.3 优化存储空间利用率 8.9.4 读写文件 8.9.5 布局策略 8.9.6 分配机制 8.9.7 将块组成簇 8.9.8 基于扩展的分配 8.10 复习题 8.11 参考文献 第9章 网络文件系统 9.1 历史和概述 9.2 NFS的结构和操作 9.2.1 NFS协议 9.2.2 FreeBSD的NFS实现 9.2.3 客户机/服务器的交互操作 9.2.4 RPC的传输问题 9.2.5 安全问题 9.3 提高性能的技术 9.3.1 租约 9.3.2 崩溃恢复 9.4 复习题 9.5 参考文献 第10章 终端处理 10.1 终端处理模式 10.2 行规程 10.3 用户接口 10.4 tty结构 10.5 进程组、会话和终端控制 10.6 C-list 10.7 RS-232和调制解调器控制 10.8 终端操作 10.8.1 打开终端 10.8.2 输出到行规程 10.8.3 终端的输出 10.8.4 终端的输入 10.8.5 ioctl例程 10.8.6 调制解调器转换 10.8.7 关闭终端设备 10.9 其他行规程 10.10 复习题 10.11 参考文献 第四部分 进程间通信 第11章 进程间通信 11.1 进程间通信的模型 11.2 实现的结构和概述 11.3 内存管理 11.3.1 mbuf 11.3.2 存储管理算法 11.3.3 mbuf工具例程 11.4 数据结构 11.4.1 通信域 11.4.2 套接口 11.4.3 套接口地址 11.4.4 锁 11.5 建立连接 11.6 传送数据 11.6.1 发送数据 11.6.2 接收数据 11.7 关闭套接口 11.8 本地进程间通信 11.8.1 信号量 11.8.2 消息队列 11.8.3 共享内存 11.9 复习题 11.10 参考文献 第12章 网络通信 12.1 内部结构 12.1.1 数据流 12.1.2 通信协议 12.1.3 网络接口 12.2 套接口到协议的接口 12.2.1 协议的用户请求例程 12.2.2 协议的控制输出例程 12.3 协议到协议的接口 12.3.1 pr_output 12.3.2 pr_input 12.3.3 pr_ctlinput 12.4 协议和网络的接口 12.4.1 发送数据包 12.4.2 接收数据包 12.5 路由选择 12.5.1 内核路由选择表 12.5.2 路由选择查找 12.5.3 路由选择重定向 12.5.4 路由选择表接口 12.5.5 用户级的路由选择策略 12.5.6 用户级路由选择接口:路由选择套接口 12.6 缓冲和拥塞控制 12.6.1 协议缓冲策略 12.6.2 队列限制 12.7 原始套接口 12.7.1 控制块 12.7.2 输入处理 12.7.3 输出处理 12.8 网络子系统的其他主题 12.8.1 带外数据 12.8.2 地址解析协议 12.9 复习题 12.10 参考文献 第13章 网络协议 13.1 IPv4网络协议 13.1.1 IPv4地址 13.1.2 广播地址 13.1.3 组播 13.1.4 端口与关联 13.1.5 协议控制块 13.2 UDP协议 13.2.1 初始化 13.2.2 输出 13.2.3 输入 13.2.4 控制操作 13.3 Internet协议(IP) 13.3.1 输出 13.3.2 输入 13.3.3 转发 13.4 TCP协议 13.4.1 TCP连接状态 13.4.2 序号变量 13.5 TCP算法 13.5.1 定时器 13.5.2 往返时间的估计 13.5.3 建立连接 13.5.4 SYN缓存 13.5.5 关闭连接 13.6 TCP输入处理 13.7 TCP输出处理 13.7.1 发送数据 13.7.2 避免糊涂窗口综合症 13.7.3 避免小数据包 13.7.4 确认延迟和窗口更新 13.7.5 重发状态 13.7.6 慢启动 13.7.7 源拥塞的处理 13.7.8 缓冲与窗口大小分配 13.7.9 使用慢启动避免拥塞 13.7.10 快速重发 13.8 ICMP协议 13.9 IPv6 13.9.1 IPv6地址 13.9.2 IPv6数据包格式 13.9.3 套接口API的调整 13.9.4 自动配置 13.10 安全 13.10.1 IPSec概述 13.10.2 安全协议 13.10.3 密钥管理 13.10.4 IPSec实现 13.10.5 密码子系统 13.11 复习题 13.12 参考文献 第五部分 系统运行 第14章 启动和关机 14.1 概述 14.2 引导 14.3 初始化内核 14.4 初始化内核模块 14.4.1 基本服务 14.4.2 初始化内核线程 14.4.3 初始化设备模块 14.4.4 内核的可加载模块 14.4.5 启动进程间通信 14.4.6 启动内核线程 14.5 用户级初始化 14.5.1 /sbin/init 14.5.2 系统的启动脚本 14.5.3 /usr/libexec/getty 14.5.4 /usr/bin/login 14.6 系统运行 14.6.1 内核的配置 14.6.2 系统关机与自动重启 14.6.3 系统调试 14.6.4 同内核传递信息 14.7 复习题 14.8 参考文献 术语表
第1章 引言 FreeBSD的起源 Unix的历史发展 FreeBSD的起源和发展 当前FreeBSD的版本 FreeBSD的功能特点 FreeBSD的特点和应用范围 使用FreeBSD的实例 其他相关系统和组织 GNU’s Not Unix GNU/Linux 其他BSD系统 FreeBSD的相关资源 联机文档 出版物 Internet资源 商业服务和支持 第2章 安装与配置 安装之前的准备 硬件设备 安装介质 准备硬盘和软盘 安装FreeBSD 启动安装程序 安装系统 基本系统配置 设置网络 其他安装问题 第3章 系统管理和维护 系统的启动与关闭 系统启动过程 系统启动脚本 系统登录与退出 关闭系统 用户管理 增加用户 超级用户root 登录类别 shell设置 文件系统与磁盘操作 文件的属性 设备文件 安装文件系统 软盘操作 维护文件系统 检查硬盘 调整文件系统的目录结构 建立文件系统 管理交换设备 调整系统设置 调整控制台设置 配置系统时间 进程管理 查看系统状态 定时执行程序 进程的权限 安装应用软件 应用软件的类别 Packages Collection 打印机配置 系统结构 配置打印机 系统日志与备份 系统日志 系统备份 第4章 网络配置与使用 DOD参考模型 基本网络设置 手工配置网络 拨号网络 串口和modem PPP协议 DNS服务 DNS的体系结构 配置缓冲或转发方式的named 定义自己的名字服务 电子邮件 邮件服务器 在FreeBSD上查看邮件 网络文件系统(NFS) NFS客户支持 NFS服务器 第5章 设置和使用X Window 安装和设置X服务器 X Free86的硬件要求 安装XFree86 使用XF86Setup配置X服务器 使用xf86config配置X服务器 使用和配置X Window X Window的基本概念 进入X Window 定制X Window的基本方法 X Window下的中文环境 中文X应用软件 外挂式中文显示与输入软件 中文X服务器 配置文件XF86Config 第6章 定制应用软件与系统内核 编译应用软件 Ports Collection 手工编译安装程序 可执行程序格式 配置FreeBSD内核 为编译内核准备源代码 编译安装新内核 缺省内核配置选项 其他内核设置选项 升级系统 第7章 与Windows系统集成 集成Unix和Windows的方式 NetBIOS与SMB/CIFS协议 NetBIOS名字解析 SMB/CIFS协议 配置和使用Samba 安装samba 配置samba 根据Windows网络设置Samba 访问Windows系统资源 使用smbclient访问Windows资源 使用SharityLight安装SMB文件系统 设置DHCP DHCP的工作过程 设置和使用DHCP 第8章 系统与网络安全 网络安全概念 认证与加密 安全问题 防火墙技术 增强安全设置 设置基本系统 安全工具 设置防火墙功能 设置和使用ipfw/natd 设置和使用ipfilter 构建防火墙 第9章 设置WWW服务 基本概念 超文本传输协议HTTP 数据处理方式 安装和设置Apache 基本安装 配置Apache服务器 服务器的安全控制 对IP地址和域名的控制 基于用户的访问控制 安全连接方式SSL CGI和SSI的安全性 调整服务器性能 单服务器性能调整 提升静态网页服务能力的综合方式 负载均衡技术 基于DNS的负载均衡 反向代理负载均衡 基于NAT的负载均衡技术
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值