Tob*_*ler 6 linux ssh reinstall system-installation
我打算用 Arch Linux 替换 NAS 的自定义 Linux(底部的详细信息),当然希望保留所有用户数据,并且(由于仅 SSH 无头访问)尝试万无一失,因为可能需要固件重新安装(甚至使设备变砖)。因此,与其在没有适当准备的情况下运行安装(下载适当的Arch Linux ARM 版本并可能使用chroot 进入 LiveCD 方法),我必须记住什么?(请随意回答,不限于 Arch Linux)更准确地说:
具体情况是,我想用Arch Linux ARM替换Buffalo LinkStation Pro Duo(armv5tel 架构,nas-central 描述在这里更有帮助,还提供有关如何获得 SSH 根访问权限的说明)中的自定义Linux。但更一般的答案也可能对其他人更有帮助。
凭借所需的技能,尤其是有关已安装 linux 的知识,不再值得更换它。不管你做什么,你可能永远不想替换已经安装的内核。但是,您可以让您的 arch linux 相对简单且万无一失!
概念:将 arch linux 安装到 NAS 上的某个目录中,然后将 chroot ( man chroot) 安装到其中。这样你就不需要更换 nas linux。您安装和配置您的 arch linux 并逐步通过 arch linux 服务替换本机 linux 的服务。您的 arch linux 安装越完整和强大,您就会自动执行 chrooting 程序,一一关闭本地 linux 提供的服务,同时自动启动 chrooted arch linux 内的服务。完成后,NAS 的启动过程如下所示:exec /sbin/init在 chrooted 环境中加载内核并挂载硬盘,将 chroot chroot 到 arch linux中。
您需要自己计算出精确的 doibg,b/ci 既不知道 arch linux,也不知道您的 NAS 及其操作系统。您需要创建要安装arch linux的目标目录;它需要位于具有足够可用可写空间 ( mkdir /suitable/path/archlinux) 的设备上,然后您需要引导您的 arch linux
cd /suitable/path/archlinux
wget http://tokland.googlecode.com/svn/trunk/archlinux/arch-bootstrap.sh
bash arch-bootstrap.sh yournassarchitecture
Run Code Online (Sandbox Code Playgroud)
现在您在该路径中有一个基本的 arch linux。您可以按照以下方式 chroot
cp /etc/resolv.conf etc/resolv.conf
cp -a /lib/modules/$(uname -r) lib/modules
mount -t proc archproc proc
mount -t sysfs archsys sys
mount -o bind /dev dev
mount -t devpts archdevpts dev/pts
chroot . bin/bash
Run Code Online (Sandbox Code Playgroud)
那么你应该source /etc/profile。现在您的当前 shell 在您的 arch linux 中,您可以使用它,就好像您已经替换了您的本机 linux 一样……您在当前进程的范围内拥有它。显然你想安装东西并配置你的arch linux。当您使用当前的 shell 执行时,/etc/init.d/ssh start您实际上是在启动 arch linux 安装的 ssh 守护进程。
当你完成并且你真的想用 arch linux 完全替换你的原生 linux(服务)时,你的 NAS 的原生 linux 不再启动任何服务,而是执行上面的 chroot 过程,区别在于最后一行是exec chroot . sbin/init.
这并不像真正的替代品那样完整,而是尽可能地万无一失。正如最初所述,凭借此所需的知识和技能,恕我直言(!),完全更换是没有必要的,也值得。
| 归档时间: |
|
| 查看次数: |
2600 次 |
| 最近记录: |