利用Resetter將Ubuntu系發(fā)行版重置為初始狀態(tài)
這個 Resetter 工具可以將 Ubuntu、 Linux Mint (以及其它基于 Ubuntu 的發(fā)行版)返回到其初始配置。
有多少次你投身于 Ubuntu(或 Ubuntu 衍生版本),配置某項內(nèi)容和安裝軟件,卻發(fā)現(xiàn)你的桌面(或服務(wù)器)平臺并不是你想要的結(jié)果。當(dāng)在機(jī)器上產(chǎn)生了大量的用戶文件時,這種情況可能會出現(xiàn)問題。既然這樣,你有一個選擇,你要么可以備份你所有的數(shù)據(jù),重新安裝操作系統(tǒng),然后將您的數(shù)據(jù)復(fù)制回本機(jī),或者也可以利用一種類似于 Resetter 的工具做同樣的事情。
Resetter 是一個新的工具(由名為“gaining”的加拿大開發(fā)者開發(fā)),用 Python 和 PyQt 編寫,它將會重置 Ubuntu、Linux Mint(和一些其他的,基于 Ubuntu 的衍生版)回到初始配置。Resetter 提供了兩種不同的復(fù)位選擇:自動和自定義。利用自動方式,工具就會完成以下內(nèi)容:
- 刪除用戶安裝的應(yīng)用軟件
- 刪除用戶及家目錄
- 創(chuàng)建默認(rèn)備份用戶
- 自動安裝缺失的預(yù)裝應(yīng)用軟件(MPIA)
- 刪除非默認(rèn)用戶
- 刪除 snap 軟件包
自定義方式會:
- 刪除用戶安裝的應(yīng)用程序或者允許你選擇要刪除的應(yīng)用程序
- 刪除舊的內(nèi)核
- 允許你選擇用戶進(jìn)行刪除
- 刪除用戶及家目錄
- 創(chuàng)建默認(rèn)備份用戶
- 允許您創(chuàng)建自定義備份用戶
- 自動安裝缺失的預(yù)裝應(yīng)用軟件(MPIA)或選擇 MPIA 進(jìn)行安裝
- 刪除非默認(rèn)用戶
- 查看所有相關(guān)依賴包
- 刪除 snap 軟件包
我將帶領(lǐng)您完成安裝和使用 Resetter 的過程。但是,我必須告訴你這個工具非常前期的測試版。即便如此, Resetter 絕對值得一試。實(shí)際上,我鼓勵您測試該應(yīng)用程序并提交 bug 報告(您可以通過 GitHub 提交,或者直接發(fā)送給開發(fā)人員的電子郵件地址 gaining7@outlook.com)。
還應(yīng)注意的是,目前僅支持的衍生版有:
- Debian 9.2 (穩(wěn)定)Gnome 版本
- Linux Mint 17.3+(對 Mint 18.3 的支持即將推出)
- Ubuntu 14.04+ (雖然我發(fā)現(xiàn)不支持 17.10)
- Elementary OS 0.4+
- Linux Deepin 15.4+
說到這里,讓我們安裝和使用 Resetter。我將在 Elementary OS Loki 平臺展示。
安裝
有幾種方法可以安裝 Resetter。我選擇的方法是通過 gdebi
輔助應(yīng)用程序,為什么?因為它將獲取安裝所需的所有依賴項。首先,我們必須安裝這個特定的工具。打開終端窗口并發(fā)出命令:
sudo apt install gdebi
一旦安裝完畢,請將瀏覽器指向 Resetter 下載頁面,并下載該軟件的***版本。一旦下載完畢,打開文件管理器,導(dǎo)航到下載的文件,然后單擊(或雙擊,這取決于你如何配置你的桌面) resetter_XXX-stable_all.deb
文件(XXX 是版本號)。gdebi
應(yīng)用程序?qū)蜷_(圖 1)。點(diǎn)擊安裝包按鈕,輸入你的 sudo
密碼,接下來 Resetter 將開始安裝。
圖 1:利用 gdebi 安裝 Resetter
當(dāng)安裝完成,準(zhǔn)備接下來的操作。
使用 Resetter
記住,在這之前,必須備份數(shù)據(jù)。別怪我沒提醒你。
從終端窗口發(fā)出命令 sudo resetter
。您將被提示輸入 sudo
密碼。一旦 Resetter 打開,它將自動檢測您的發(fā)行版(圖 2)。
圖 2:Resetter 主窗口
我們將通過自動重置來測試 Resetter 的流程。從主窗口,點(diǎn)擊 Automatic Reset(自動復(fù)位)。這款應(yīng)用將提供一個明確的警告,它將把你的操作系統(tǒng)(我的實(shí)例,Elementary OS 0.4.1 Loki)重新設(shè)置為出廠默認(rèn)狀態(tài)(圖 3)。
warning
*圖 3:在繼續(xù)之前,Resetter 會警告您。 *
單擊“Yes”,Resetter 會顯示它將刪除的所有包(圖 4)。如果您沒有問題,單擊 OK,重置將開始。
圖 4:所有要刪除的包,以便將 Elementary OS 重置為出廠默認(rèn)值。
在重置過程中,應(yīng)用程序?qū)@示一個進(jìn)度窗口(圖 5)。根據(jù)安裝的數(shù)量,這個過程不應(yīng)該花費(fèi)太長時間。
圖 5:Resetter 進(jìn)度窗口
當(dāng)過程完成時,Resetter 將顯示一個新的用戶名和密碼,以便重新登錄到新重置的發(fā)行版(圖 6)。
圖 6:新用戶及密碼
單擊 OK,然后當(dāng)提示時單擊“Yes”以重新啟動系統(tǒng)。當(dāng)提示登錄時,使用 Resetter 應(yīng)用程序提供給您的新憑證。成功登錄后,您需要重新創(chuàng)建您的原始用戶。該用戶的主目錄仍然是完整的,所以您需要做的就是發(fā)出命令 sudo useradd USERNAME
( USERNAME 是用戶名)。完成之后,發(fā)出命令 sudo passwd USERNAME
(USERNAME 是用戶名)。使用設(shè)置的用戶/密碼,您可以注銷并以舊用戶的身份登錄(使用在重新設(shè)置操作系統(tǒng)之前相同的家目錄)。
我的成果
我必須承認(rèn),在將密碼添加到我的老用戶(并通過使用 su
命令切換到該用戶進(jìn)行測試)之后,我無法使用該用戶登錄到 Elementary OS 桌面。為了解決這個問題,我登錄了 Resetter 所創(chuàng)建的用戶,移動了老用戶的家目錄,刪除了老用戶(使用命令 sudo deluser jack
),并重新創(chuàng)建了老用戶(使用命令 sudo useradd -m jack
)。
這樣做之后,我檢查了原始的家目錄,只發(fā)現(xiàn)了用戶的所有權(quán)從 jack.jack
變成了 1000.1000
。利用命令 sudo chown -R jack.jack /home/jack
,就可以容易的修正這個問題。教訓(xùn)是什么?如果您使用 Resetter 并發(fā)現(xiàn)無法用您的老用戶登錄(在您重新創(chuàng)建用戶并設(shè)置一個新密碼之后),請確保更改用戶的家目錄的所有權(quán)限。
在這個問題之外,Resetter 在將 Elementary OS Loki 恢復(fù)到默認(rèn)狀態(tài)方面做了大量的工作。雖然 Resetter 處在測試中,但它是一個相當(dāng)令人印象深刻的工具。試一試,看看你是否有和我一樣出色的成績。