我是一个拥有十年 Windows 经验(大型和小型网络上的 Server、Exchange、SQL 等)的系统管理员,并且我希望建立我的 Linux 系统管理技能。
似乎大多数教程要么是针对计算机新手,要么是针对经验丰富的 Linux 系统管理员。我不需要任何人解释 OSI 模型,也不需要有人向我解释文件系统的作用。我不需要有人指导我如何将安装介质刻录到 CD 上,以便我可以用它启动。
我在 Virtualbox 上运行 Ubuntu,正在寻找一个可以指导我使用 CLI 的教程。我想知道如何控制服务、如何安装/配置应用程序等。我想知道在没有 GUI 的精简版机器上安全地启动和运行 LAMP 堆栈需要什么。
有任何想法吗?
答案1
我认为 *nix 非常注重基本原理,不太注重任务。其中一些可能会延续,但例如权限就完全不同,而且很多事情你可能认为是理所当然的。
我不会担心如何安装 LAMP,或者在学习基础知识之前做具体的事情,这是我所说的许多 Windows 管理员(当然不是全部)的思维转变。Unix环境下的高级编程很好(尽管这本书的其余部分比你想要的要多)。我也推荐经典 Shell 脚本,因为 shell 是 *nix 中的关键,而脚本可以教你 shell。 基本系统管理,尽管它可能有一些你想要避免的冗余,但它有一个 *nix 倾向,这将使它变得有用。最后,Eric Raymond 的Unix 编程艺术可能真的会帮助你得到unix,虽然它不会指导你如何做具体的事情(我至少会读本章)。
Unix 基础知识确实非常重要,最终,不跳过它们会节省您的时间。您还需要熟悉 emacs 或 vi,因为 *nix 完全是关于文本文件的。一旦您了解了 *nix 的思想和基础知识,教程将具有更多的意义和价值。
答案2
不是要质疑你的决定,但 Ubunto 主要针对桌面市场。服务器通常是 RHEL 衍生产品或 SUSE。我个人建议自己购买 CentOS5 磁盘并使用它。基本的 Linux 知识显然是基础,但你最好学习在大多数公司中都能找到的工具。
我不会给出具体内容的教程,而是列出一些你应该研究的领域。如果你还不知道man
,记下来。它比 Windows 的帮助文件有用得多,是每个 Linux 系统管理员最好的朋友。(输入man <command>
我在这里提到的所有内容)Google 也可以提供很多帮助。我知道这不是你要求的教程,但我认为它可以帮助奠定 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
/在 Ubunto 上完成apt-get
。
重要的配置文件位于 /etc/ 目录中。这些文件控制服务配置,就像 Windows 的注册表项/GUI 一样。大多数服务都有一个类似名称的 .conf 文件或目录。(我通常使用 来ls -ld /etc/*service*
找到它)/etc/fstab 定义启动时挂载的内容。您需要使用它vi
来编辑文本文件。忽略任何提到 的人emacs
。;-)
答案3
也许 Ubuntu 服务器指南正是您所寻找的内容?
答案4
我赞同《Linux 简明指南》...它更像是一本参考手册,而不是教程。我还推荐《Unix Power Tools》,也是由 O'Riely 出版的。
我要尝试的另一件事是安装 Slackware... 如果你喜欢,可以使用 Ubuntu,但要学习 Slackware。Slackware 不会向用户隐藏任何东西... 都是暴露的杠杆和滑轮。这使得学习基础知识变得容易得多。