我是一名系统管理员,拥有十年的 Windows 经验(大型和小型网络上的服务器、Exchange、SQL 等),我正在寻找建立我的 Linux 系统管理员技能集。
似乎大多数教程都是针对计算新手或经验丰富的 Linux 系统管理员的。我不需要任何人来解释 OSI 模型或文件系统的作用。我不需要将安装介质刻录到 CD 的说明,因此我可以使用它启动。
我已经在 Virtualbox 上运行了 Ubuntu,我正在寻找一个可以引导我完成 CLI 的教程。我想知道如何控制服务、如何安装/配置应用程序等。我想知道在没有 GUI 的精益盒子上安全地启动和运行 LAMP 堆栈需要什么。
有任何想法吗?
我认为 *nix 非常注重基础知识,而不是面向任务的。其中一些可能会延续,但例如权限是完全不同的,很多事情你可能认为是理所当然的。
在您了解基础知识之前,我不会担心如何安装 LAMP 或执行特定操作,这是我的意思(当然不是全部)许多 Windows 管理员的思维方式转变。Unix 环境中高级编程的介绍很好(尽管本书的其余部分比你想要的要多)。我还推荐Classic Shell Scripting,因为 shell 是 *nix 的关键,而脚本会教你 shell。 Essential System Administration,虽然它可能有一些你想避免的冗余,但它有一个 *nix 倾斜,这将使它有用。最后,Eric Raymond 的The Art of Unix Programming可能真的能帮助你unix,虽然它不会特别指导您如何做事(我至少会阅读这一章)。
Unix 基础知识确实非常重要,最终它会节省您不要跳过它们的时间。您还需要熟悉 emacs 或 vi,因为 *nix 都是关于文本文件的。一旦你了解了 *nix 的思想和基础知识,教程就会有更多的意义和价值。
不要再猜测你的电话,但 Ubunto 主要针对桌面市场。服务器通常是 RHEL 衍生产品或 SUSE。我个人建议给自己买一个 CentOS5 磁盘,然后使用它。基本的 Linux 东西显然是基本的,但您不妨学习在大多数公司中都能找到的工具。
我不会给出具体的教程,而是列出一些你应该研究的领域。如果您还不知道
man
,请记下它。它比 Window 的帮助文件有用得多,是每个 Linux SysAdmin 最好的朋友。(man <command>
输入我在这里提到的所有内容)谷歌也可以提供很多帮助。我意识到这不是您要求的教程,但我认为它可以帮助奠定 Windows->Linux 基础,这将使任何 LAMP 教程更易于使用。服务通过 /etc/init.d/ 中的脚本进行控制。在 RHEL 中,
chkconfig
在此之上添加了一个管理层。否则你需要使用/etc/init.d/<scriptname> start|stop|restart|status
. 您将需要使用ps
和top
管理正在运行的进程,例如 Windows 的任务管理器。(用 . 杀死进程kill
。)df
帮助确定挂载的内容,du
并可用于确定目录的大小。iostat
并且sysstat
可以帮助诊断 IO 问题。free
可以帮助您确定内存使用情况。(请注意,Linux 处理内存的方式不同)程序更新是通过
up2date
或yum
在 RHEL 上或aptitude
/apt-get
在 Ubunto 上完成的。重要的配置文件位于 /etc/ 目录中。这些控制服务配置就像 Windows 的注册表项/GUI 一样。大多数服务都有一个类似命名的 .conf 文件或目录。(我通常会做一个
ls -ld /etc/*service*
来找到它) /etc/fstab 定义了在启动时安装的内容。您将要用于vi
编辑文本文件。忽略任何提及emacs
. ;-)也许 Ubuntu 服务器指南是您正在寻找的方向的东西?
https://help.ubuntu.com/9.10/serverguide/C/
O'Reilly 上发布的“Linux in a Nutshell”和 Linux 文档项目一样是一个好的开始。
我第二个'Linux in a Nutshell'...它更多的是参考手册而不是教程。我还推荐 O'Riely 出版的“Unix Power Tools”。
我会尝试的另一件事是安装 Slackware……如果你愿意,可以使用 Ubuntu,但要学习 Slackware。Slackware 不会向用户隐藏任何东西……它都是暴露在外的杠杆和滑轮。这使得学习基础知识变得更加容易。
[不知道如何评论我的原始帖子] 感谢您的建议——我认为到目前为止我们走在正确的轨道上。我是基础知识的粉丝,我同意教程不一定是最好的起点。我已经拿起了一份 Linux in a Nutshell 的副本,我认为这就是我将大部分时间花费的地方。
(但即使这本书也有类似“网络连接计算机,以便不同的系统可以共享信息。”等等——让我强调一下,这样我就不会忘记它。)
这本书看起来很完美,但它自 2002 年以来就没有更新过。
我也要看看 slackware。有人告诉我,一个好的入门方法是手动安装 Linux(我认为他说的是 Gentoo),无需安装程序。这会有用吗?那么,从哪里开始呢?
免责声明:很抱歉破坏了所有链接,本网站不会让我在没有发布 10 个帖子的情况下发布超过 1 个帖子。
至于书:
如果您纯粹对基于网络的材料更感兴趣: