從 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。