當(dāng)前位置:首頁(yè) > 公眾號(hào)精選 > 21ic電子網(wǎng)
[導(dǎo)讀]本文將向你展示如何使用UrBackup和LinuxDeploy在一臺(tái)Android舊手機(jī)上搭建一臺(tái)備份服務(wù)器。舊手機(jī)的污染問題眾所周知,我有一臺(tái)舊手機(jī),雖然外殼有裂紋和磨損,但性能還很好,因此我打算廢物再利用一下。你的舊手機(jī)很可能:并沒有那么舊(你會(huì)像換手機(jī)那樣一兩年就換一臺(tái)電腦...

舊手機(jī)別扔,手把手教你DIY一臺(tái)服務(wù)器

本文將向你展示如何使用 UrBackup 和 Linux Deploy在一臺(tái) Android 舊手機(jī)上搭建一臺(tái)備份服務(wù)器。舊手機(jī)的污染問題眾所周知,我有一臺(tái)舊手機(jī),雖然外殼有裂紋和磨損,但性能還很好,因此我打算廢物再利用一下。

舊手機(jī)別扔,手把手教你DIY一臺(tái)服務(wù)器

你的舊手機(jī)很可能:

  • 并沒有那么舊(你會(huì)像換手機(jī)那樣一兩年就換一臺(tái)電腦嗎?)

  • 有 4-8 個(gè)處理器和大約 4GB 的內(nèi)存,以及內(nèi)置 UPS。只需要再加一個(gè)外部硬盤驅(qū)動(dòng),就可以備份整個(gè)家庭的網(wǎng)絡(luò)了!

警告:這只是一個(gè)嘗試可能性的項(xiàng)目。由于我們使用的是 Android,因此必須克服一些困難,而且很多方面都會(huì)受到限制。這可能并不是最簡(jiǎn)單的備份家庭網(wǎng)絡(luò)的方法,也不是使用 UrBackup 的最佳用途。但在設(shè)置完成,服務(wù)器可以正常運(yùn)行后,你就可以輕松地管理多臺(tái)機(jī)器的備份并添加存儲(chǔ)。

下面是一些限制:

  1. 文件系統(tǒng)只能使用 EXT4。這是唯一兼容 UrBackup 和 Android 的文件系統(tǒng)。因此沒有文件系統(tǒng)級(jí)別的壓縮等功能。

  2. 從 chroot 環(huán)境下無(wú)法直接調(diào)用 systemd。我們會(huì)安裝一個(gè)簡(jiǎn)單的啟動(dòng)腳本,啟動(dòng) UrBackup 服務(wù),并使用 pkill 停止服務(wù)。此外,我們還會(huì)添加一個(gè) cronjob,在系統(tǒng)啟動(dòng)時(shí)啟動(dòng)服務(wù)。

  3. UrBackup 主要以 Windows 為主。雖然它提供 Linux 的完整備份功能,但其 Linux 版本的完整鏡像依然是 beta 版狀態(tài)。此處我們會(huì)安裝穩(wěn)定版,所以我們的服務(wù)器無(wú)法支持利用 Linux 客戶端進(jìn)行完整鏡像備份。但是,你可以在客戶端上創(chuàng)建備份鏡像,然后備份含有這些鏡像的目錄。最后,UrBackup 團(tuán)隊(duì)也在開發(fā) Mac 客戶端支持,但同樣是beta 版。對(duì)于我來(lái)說(shuō),我沒有 Windows 服務(wù)器,我也不想備份我的Windows 筆記本電腦,所以我只在 Linux 服務(wù)器上使用 UrBackup。

  4. Linux Deploy 提供的發(fā)行版和版本支持很有限。我試驗(yàn)了 Centos7、Ubuntu 18.04 和 Debian 10,其中只有 Debian 10 能夠毫無(wú)錯(cuò)誤地運(yùn)行。UrBackup 對(duì) Debian 的支持也為最好(其他發(fā)行版都沒有 ARM64 的 .deb 包)。

如果你打算與我一起嘗試一下,則請(qǐng)看下面的行動(dòng)計(jì)劃:

  1. root 手機(jī)。具體做法請(qǐng)參考相關(guān)文檔,不在此贅述。

  2. 安裝 Linux Deploy 并部署 Debian Buster。

  3. 安裝 UrBackup 服務(wù)器。

  4. 連接客戶端。

請(qǐng)記住,本教程采用了非常特殊的配置,,其中大部分是為了適應(yīng)在 chroot 環(huán)境中,在 Android 上使用 Debian。

舊手機(jī)別扔,手把手教你DIY一臺(tái)服務(wù)器


準(zhǔn)備工作

root Android手機(jī)

我的手機(jī)是 Pixel 4a(8核CPU,6GB內(nèi)存)。手機(jī)的特定型號(hào)應(yīng)該沒有太大關(guān)系,但不同的型號(hào)可能會(huì)遇到不同的問題。如果你的手機(jī)是在過(guò)去五年內(nèi)發(fā)布的,那么規(guī)格上應(yīng)該沒問題。我建議至少 4 核 CPU 和 2GB 的內(nèi)存,這對(duì)于大多數(shù)家庭網(wǎng)絡(luò)來(lái)說(shuō)應(yīng)該就夠了,但是你必須想清楚備份要求。此外不要忘記, Android 操作系統(tǒng)本身將占用一些資源。

如果你打算通過(guò) Magisk 來(lái) root 手機(jī),則請(qǐng)注意:

  • 確保你使用的 boot.img 文件與手機(jī)當(dāng)前的引導(dǎo)程序版本相符。

  • 如果你使用的是 Android 11,而且 Magisk 程序無(wú)法正常工作,請(qǐng)降級(jí)到 Android 10再試。我在 Pixel 4a 上擺弄了一整天的 Android 11。

  • 如果你不想使用 Magisk,請(qǐng)非常謹(jǐn)慎地使用其他工具。有很多其他應(yīng)用程序可能含有惡意軟件。CF-Auto-Root 也是一款很好的 root 工具,但請(qǐng)確認(rèn)下載源的安全。

Linux Deploy 應(yīng)用

該應(yīng)用可以在 Debian 服務(wù)器上運(yùn)行 chroot 環(huán)境。

你可以從 GitHub 下載最新版本。應(yīng)用商店中的版本已經(jīng)沒人維護(hù)了。

BusyBox 應(yīng)用

該應(yīng)用可以為 Linux Deploy 提供 Unix 工具程序??捎玫摹癇usy Box”應(yīng)用有好幾個(gè),但只有這個(gè)版本與 Linux Deploy 兼容。

你可以從 GitHub 下載最新版本。應(yīng)用商店中的版本已經(jīng)沒人維護(hù)了。

充電線

手機(jī)的充電線。

從另一臺(tái)機(jī)器上通過(guò) SSH 連接到服務(wù)器

盡管理論上可以在手機(jī)上安裝 Termux 或 SSH 應(yīng)用進(jìn)行操作,但通過(guò)鍵盤進(jìn)行操作肯定更容易。


可選設(shè)備(強(qiáng)烈推薦)

盡管從技術(shù)的角度來(lái)看,你可以將備份存儲(chǔ)在 SD 卡上,但不建議這樣做。SD 卡的速度較慢,可靠性較低,并且無(wú)法長(zhǎng)時(shí)間處理持續(xù)寫入。如果你計(jì)劃備份到SD 卡,那么估計(jì)一年內(nèi)就會(huì)損壞(如果數(shù)據(jù)量大,甚至一個(gè)月內(nèi)就會(huì)出問題)。

帶 USB 線的外置 HDD/SSD

大小和寫入速度取決于你個(gè)人,但我更關(guān)心可靠性,而不是存儲(chǔ)和速度。如果你有大量存儲(chǔ)空間(幾百甚至幾千GB),則速度很重要。在這種情況下,寫入速度很關(guān)鍵,因?yàn)槟憧梢约皶r(shí)完成備份。為了可靠性,我們必須考慮品牌。使用廉價(jià)的驅(qū)動(dòng)器,就要做好心理準(zhǔn)備備份過(guò)程中會(huì)出現(xiàn) I/O 錯(cuò)誤。

USB 擴(kuò)展塢

根據(jù)你的手機(jī),可能需要支持 micro USB 或 USB-C。這個(gè)擴(kuò)展塢應(yīng)該至少有一個(gè) USB 端口,可以連接到外部驅(qū)動(dòng)器,而且還有一個(gè)充電的端口,但我建議選擇一個(gè)帶有以太網(wǎng)適配器的擴(kuò)展塢。你可以通過(guò) WiFi 運(yùn)行該服務(wù)器,但以太網(wǎng)更快、更可靠。

以太網(wǎng)線

如果你在以太網(wǎng)上運(yùn)行服務(wù)器,則需要準(zhǔn)備一個(gè)以太網(wǎng)線。


第一步:安裝 Linux Deploy 并部署 Debian Buster

1-1. 在 root 完手機(jī)后,打開 GitHub,下載 Linux Deploy 和 BusyBox的 .apk 軟件包,安裝這兩個(gè)應(yīng)用。

舊手機(jī)別扔,手把手教你DIY一臺(tái)服務(wù)器

1-2. 安裝完畢后,打開 BusyBox。安裝的過(guò)程中,記錄下 BusyBox 的安裝位置。在下圖中,BusyBox 安裝到了"/system/xbin"。稍后我們會(huì)用到這個(gè)位置。

舊手機(jī)別扔,手把手教你DIY一臺(tái)服務(wù)器


1-3. 打開 Linux Deploy,點(diǎn)擊右下方的設(shè)置圖標(biāo)。

舊手機(jī)別扔,手把手教你DIY一臺(tái)服務(wù)器

完成如下設(shè)置:

舊手機(jī)別扔,手把手教你DIY一臺(tái)服務(wù)器

架構(gòu)

所有安卓手機(jī)都是 AARCH64/ARM64。確保顯示的是 “arm64”(或者是其他發(fā)行版的 “aarch64”)。


安裝路徑

默認(rèn)值是 "${EXTERNAL_STORAGE}/linux.img"。這是你的 SD 卡,你可以留著它(可以在樹莓派上工作)。但是,如果沒有插入 SD 卡或未正確格式化,則安裝將失敗。我建議安裝到你的內(nèi)部存儲(chǔ)中。我假設(shè)你不會(huì)使用手機(jī)干別的事情,因?yàn)樗枰恢辈逯姟?/span>

鏡像大?。∕B)

我建議至少保留 15 GB,但請(qǐng)確保為 Android 留出足夠的存儲(chǔ)空間。這部分空間會(huì)占用內(nèi)部存儲(chǔ),因此最后剩下的空間可能沒有 50 GB 這么多。

初始化系統(tǒng)

如果沒有設(shè)置為 “sysv”,則 cronjobs 將不會(huì)在啟動(dòng)時(shí)運(yùn)行。

掛載

如果你不擔(dān)心將來(lái)的存儲(chǔ)擴(kuò)展,則掛載外部塊設(shè)備時(shí)只需將其路徑直接添加到掛載點(diǎn)。如果以后有擴(kuò)展存儲(chǔ)的打算,則可以考慮邏輯分區(qū)。我們?cè)诖思虞d的設(shè)備,都可以在啟動(dòng)時(shí)直接訪問,但不能用于分區(qū)和格式化。但是,請(qǐng)記住,重新啟動(dòng)手機(jī)時(shí),塊設(shè)備的名稱 (/dev/block/sdX) 可能會(huì)變化,因此可能需要在重新啟動(dòng)時(shí)檢查/更新此配置。如果你掛載的是邏輯卷,則名稱不會(huì)變化,也不需要檢查。

如何找到外部塊設(shè)備的路徑

在 Android 上,你可以通過(guò) “/dev/block/sdX”(而不是 “/dev/sdX”)找到塊設(shè)備。為了確定哪個(gè) sdX 設(shè)備是外部塊設(shè)備,你需要在插入該設(shè)備的服務(wù)器上運(yùn)行“l(fā)sblk”。然后搜索各種設(shè)備,并查看哪一個(gè)與你的設(shè)備一致(就存儲(chǔ)容量/現(xiàn)有分區(qū)而言)。如果你在啟動(dòng)后插入設(shè)備,則可能是最后一個(gè)設(shè)備。

注意:掛載塊設(shè)備后,你必須先解除掛載或關(guān)閉服務(wù)器,然后才能從物理上斷開塊設(shè)備的連接。如果在未解除掛載的情況下斷開塊設(shè)備的連接,則很可能會(huì)丟失所有數(shù)據(jù)。

1-4. 回到首頁(yè),并打開左上角的菜單。選擇 “Settings”(設(shè)置),并一直向下滾動(dòng)到 “PATH variable”(路徑變量)。這就是你安裝 BusyBox 的位置。設(shè)置好 “PATH variable” 后,選擇 “Update ENV”(更新環(huán)境變量)。

舊手機(jī)別扔,手把手教你DIY一臺(tái)服務(wù)器

1-5. 返回首頁(yè),打開右上角的菜單。點(diǎn)擊 “Install”(安裝)。你將看到安裝的實(shí)時(shí)日志。完成后,日志將以 “deploy”結(jié)尾。?選擇屏幕左下角的 “START”(開始)。Android 手機(jī)上就開始運(yùn)行 Debian 服務(wù)器了!


舊手機(jī)別扔,手把手教你DIY一臺(tái)服務(wù)器


第二步:安裝 UrBackup 服務(wù)器


2-1. SSH 到新部署的服務(wù)器。

IP 地址與手機(jī)相同,端口為 22,你可以使用步驟 1-3 中設(shè)置的憑據(jù)登錄。本教程后續(xù)內(nèi)容均假設(shè)你以 root 身份登錄。打開 Linux Deploy 就可以看到你的 IP:

舊手機(jī)別扔,手把手教你DIY一臺(tái)服務(wù)器

2-2. 更新系統(tǒng)。

apt update
21ic電子網(wǎng)

掃描二維碼,關(guān)注更多精彩內(nèi)容

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
關(guān)閉
關(guān)閉