从 macOS 切换到 Linux/安装
要安装 Ubuntu,首先从Ubuntu 的下载页面获取它。您可以在桌面和服务器版本之间进行选择。如果您熟悉命令行并打算将 Ubuntu 作为服务器运行,请先下载服务器版本。如果您不熟悉命令行,可以在学习它时安装 GUI。有关如何执行此操作的说明将在后面出现。
Ubuntu 一年发布两次,一次在 4 月,一次在 10 月。这些版本支持 9 个月。每两年,Ubuntu 会发布一个“长期支持”(LTS) 版本,该版本支持 5 年。
该版本与年份、月份和日期匹配。Ubuntu 16.04.03 表示它是在 2016 年 4 月 3 日发布的。Ubuntu 17.10.1 是在 2017 年 10 月 1 日发布的。
VirtualBox 是免费的,因此您可以立即开始使用它。有许多在线说明讨论了如何做到这一点。步骤基本上如下。
- 创建一个新的 VM
- 附加下载的 iso
- 启动 VM
- 运行安装程序
VMware Fusion 更容易。只需选择“从磁盘或映像安装”,并将 iso 拖放到其上。
Ubuntu 的桌面教程。Ubuntu 的服务器教程。Ubuntu 的服务器安装指南。
如果您忘记密码,则必须重新启动并进入恢复模式。如果您在登录屏幕上,可以通过按 control-alt-delete (control-option-delete) 重新启动。在计算机重新启动后立即按住 shift 键。您几乎会立即进入 GNU GRUB 菜单。如果计算机甚至无法引导到 GRUB 菜单,则必须引导到 CD 的 GRUB 菜单。
引导到 GRUB 菜单后,选择“Ubuntu 的高级选项”,然后选择“恢复模式”,然后选择“进入根 Shell 提示符”。键入这些命令使磁盘可写。
mount -o remount,rw / mount --all
然后,您可以使用 passwd 更改密码。用户信息存储在 /etc/passwd 中,密码存储在 /etc/shadow 中。/etc/passwd 需要具有 644 权限,而 /etc/shadow 必须具有 640 权限。主文件夹位于 /home/ 中。组信息存储在 /etc/groups 中。
您可以使用此命令找出您操作系统的当前版本。
cat /etc/lsb-release
这是它打印的内容。
DISTRIB_ID=Ubuntu DISTRIB_RELEASE=16.04 DISTRIB_CODENAME=xenial DISTRIB_DESCRIPTION="Ubuntu 16.04.3 LTS"
您还可以通过运行此命令查看 Linux 内核的版本。
uname -a
这是它打印的内容。
Linux ubuntu 4.4.0-87-generic #110-Ubuntu SMP Tue Jul 18 12:55:35 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
根据Linux 内核档案,截至撰写本文时,最新版本为 4.15。
在安装后(假设您的网络正常)您要做的第一件事就是更新。要更新,请运行以下命令。
sudo apt-get update
此命令会更新您本地可安装软件的副本。定期运行此命令以确保您的源列表是最新的。
当我第一次安装 16.04 并运行 apt-get update 时,出现了一条错误消息,内容如下。
The repository 'cdrom://Ubuntu 16.04.3 LTS _Xenial Xerus_ - Release amd64 (20170801) xenial Release' does not have a Release file.
在开箱即用时出现错误非常烦人,但不要让它阻止您。我通过在互联网上搜索错误来解决它,我找到了这个页面,它说要编辑 /etc/apt/sources.list 并注释掉以“deb cdrom”开头的行。这为我解决了问题。
如果您不知道如何编辑 /etc/apt/sources.list 并注释掉以“deb cdrom”开头的行,则需要了解有关 Unix 的更多信息,最好在继续本书之前学习。提示,我使用了 nano。 |
接下来,运行此命令以升级已安装在您计算机上的软件包。
sudo apt-get upgrade
Ubuntu 服务器指南建议运行此命令以升级 Ubuntu 服务器。
sudo do-release-upgrade
在其他 Linux 版本上,您将运行此命令。
sudo apt-get dist-upgrade
apt list --installed
这将打印您计算机上安装的所有软件的冗长列表。
我首先设置 SSH,因为我对 Mac 最熟悉,所以更喜欢在 Mac 上工作,因此更喜欢使用 Mac 的 Terminal.app 登录 Linux。
SSH 默认情况下未安装。您可以使用以下命令安装它。
sudo apt-get install openssh-server
您也可以使用 tasksel 命令安装它(见下文)。
要检查其状态,请运行此命令。
service ssh status
运行后,您可以通过首先运行此命令获取 Linux 计算机的 IP 来 ssh 到您的 Linux 盒子上。
ip addr show
然后在另一台计算机(例如您的 Mac)上,您可以通过运行此命令 ssh 登录。
ssh name@yourip
如果您使用的是虚拟机,现在是创建快照的好时机。
Virtualmin GPL 是 Webmin Web 控制台的扩展,用于使用 Web 浏览器配置基于 Unix 的服务器。我打算使用 Web 控制台作为辅助工具,以便我尽快启动和运行。我打算学习如何使用命令行配置所有内容,但运行生产服务器将让我有理由学习命令行。
我选择 Virtualmin 是因为它安全地备份了 MySQL 数据库。我没有看到任何其他免费的 Web 控制台。我没有自己的脚本来执行此操作,因此我依赖此产品来完成此操作。Virtualmin 还安装 Webmin 和 LAMP,我也计划安装它们。所以这只是为我完成所有操作。
要查找最新说明,请参阅Virtualmin 说明。
在撰写本文时,说明是运行以下命令。
wget http://software.virtualmin.com/gpl/scripts/install.sh
sudo /bin/sh install.sh
Virtualmin 将安装 Webmin。如果您不想要 Virtualmin,但想要 Webmin,您可以使用以下命令安装它。
添加 webmin 源。
sudo nano /etc/apt/sources.list.d/webmin.list
添加此行。
deb http://download.webmin.com/download/repository sarge contrib
然后运行这些命令
sudo wget http://www.webmin.com/jcameron-key.asc
sudo apt-key add jcameron-key.asc
sudo rm jcameron-key.asc
sudo apt-get update
sudo apt-get install webmin
然后您可以使用 Web 浏览器登录并配置您的服务器,地址为 https://yourip:10000。
此命令是基于任务安装许多事物的快捷方式。不带任何参数运行它以获取列表。
sudo tasksel
在我的情况下,我选择了“Samba 文件服务器”。
要查看任务实际安装的内容,请查看 /usr/share/tasksel/descs/ubuntu-tasks.desc。
我也可以通过命名来安装特定任务。
sudo tasksel install lamp-server
我可以使用 remove 命令将其删除。
sudo tasksel remove lamp-server
安装 LAMP 后,建议您进行安全设置。
如果您真的想在 Ubuntu Server 上安装 GUI,请键入以下命令之一。
仅安装桌面,不安装其他内容。
sudo apt-get install --no-install-recommends ubuntu-desktop
sudo reboot
要删除
sudo apt-get remove ubuntu-desktop
sudo reboot
要安装桌面和所有其他内容(Firefox、LibreOffice、mp3 播放器)。
sudo tasksel install ubuntu-desktop
sudo reboot
要删除
sudo tasksel remove ubuntu-desktop
sudo reboot
本书的其余部分将假设您没有安装桌面。
要获取您可以安装的软件的绝对庞大列表,请运行此命令。
apt-cache search .
您也可以替换关键字以查找包含该关键字的软件。
apt-cache search lamp
具有讽刺意味的是,这不会列出 Apache、MySQL 或 PHP。更具有讽刺意味的是,网络搜索导致了无法正常工作的旧文档。我不得不转到官方 Ubuntu 文档,找到最新的服务器文档 (16.04 LTS),并在其中查找“LAMP”。该页面说要使用 tasksel。