環境
-
使用映象Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-91-generic x86_64)
-
使用虛擬機器VMware WorkStation Pro 12
-
系統環境windows 10
出錯時操作
-
初次安裝完成後 立即執行sudo apt update 並正確輸入root密碼
-
回顯資訊如下
Ign:1 cdrom://Ubuntu-Server 16.04.3 LTS _Xenial Xerus_ - Release amd64 (20170801) xenial InRelease Err:2 cdrom://Ubuntu-Server 16.04.3 LTS _Xenial Xerus_ - Release amd64 (20170801) xenial Release Please use apt-cdrom to make this CD-ROM recognized by APT. apt-get update cannot be used to add new CD-ROMs Hit:3 http://security.ubuntu.com/ubuntu xenial-security InRelease Hit:4 http://us.archive.ubuntu.com/ubuntu xenial InRelease Hit:5 http://us.archive.ubuntu.com/ubuntu xenial-updates InRelease Hit:6 http://us.archive.ubuntu.com/ubuntu xenial-backports InRelease Reading package lists... Done E: The repository `cdrom://Ubuntu-Server 16.04.3 LTS _Xenial Xerus_ - Release amd64 (20170801) xenial Release` does not have a Release file. N: Updating from such a repository can`t be done securely, and is therefore disabled by default. N: See apt-secure(8) manpage for repository creation and user configuration details.
問題分析
由上述回顯資訊可以得知,apt update之後,命令首先訪問cdrom,這個cdrom就是安裝映象時的光碟。在apt update命令執行時,命令將首先訪問/etc/apt/sources.list檔案,依次訪問檔案中列出的源,以更新資訊,這時候,既然命令執行後顯示訪問的時cdrom,說明檔案中第一個源項是本地的cdrom,但是其訪問的cdrom實際並不存在(或者是名稱不符,或者是安裝完成後vm自動彈出該cdrom)導致命令無法獲得源資訊,因此報錯
問題解決
-
用sudo許可權和任意文字編輯器開啟/etc/apt/sources.list檔案
這裡我用vim開啟 命令如下sudo vim /etc/apt/sources.list
-
然後使用#註釋掉以 deb cdrom 打頭的所有行(行首已有#的不需要再註釋)
我的檔案中註釋的是如下行# deb cdrom:[Ubuntu-Server 16.04.3 LTS _Xenial Xerus_ - Release amd64 (20170801)]/ xenial main restricted
需要注意,實際情況中後半部分可能不同,但一定是deb cdrom打頭 ,把這打頭的所有行都註釋準沒錯,但不建議直接刪除,避免無法預知的錯誤出現後無法恢復