外接硬盘上的 GNOME?

外接硬盘上的 GNOME?

我有一台安装了外部硬盘的 GuruPlug 计算机。我想设置 Gnome 并尝试通过远程桌面访问它。我的第一个障碍是安装 Gnome。我尝试运行sudo apt-get install gnome并收到以下消息:

Need to get 681MB of archives.
After this operation, 1758MB of additional disk space will be used.
E: You don't have enough free space in /var/cache/apt/archives/.

是否可以在我的外部硬盘驱动器上安装 Gnome?如果是这样,怎么办?

$ df -h
Filesystem            Size  Used Avail Use% Mounted on
tmpfs                 251M     0  251M   0% /lib/init/rw
udev                   10M  696K  9.4M   7% /dev
tmpfs                 251M  4.0K  251M   1% /dev/shm
rootfs                463M  237M  226M  52% /
tmpfs                 251M   48M  204M  20% /var/cache/apt
//10.0.1.1/Elements   2.8T  1.2T  1.6T  42% /mnt/ExternalHDD

答案1

最好的、完美的方法是修改 apt.conf 文件,这样它sudo apt-get -c myapt.conf install gnome就能满足您的需求。这是可以做到的,但是 apt 文档并不直接用于快速查找。根文件系统上的 Unionmount 也相当乏味,我很乐意让 Gilles 编写有关该操作的指南。 :-)

由于您的计算机名称中包含“Plug”,我认为将 Gnome 安装到您的真实操作系统中并不是一个好主意,因为如果事实证明您不希望在您的计算机上安装 Gnome,我什至不会相信 Debian能够将您的操作系统恢复到现在的状态。

将 Gnome 安装到 chroot 环境中

为了尝试一下,我会在外部 HDD 上设置一个更改根环境来尝试 Gnome。为此,您需要debootstrap在真实的操作系统上安装,但这不是一个大程序:apt-get install debootstrap.然后你设置一个你想要安装 Gnome 的目录,安装一个基本的 debian,使该 debian 成为你当前操作系统的克隆,然后在上面安装 Gnome:

mkdir -p /mnt/ExternalHDD/whereever/you/want/Gnome #create target directoy
debootstrap squeeze /mnt/ExternalHDD/whereever/you/want/Gnome #install basic debian, choose your own distro/suite
mount -t proc fooproc /mnt/ExternalHDD/whereever/you/want/Gnome/proc #set up chroot environment
mount -t sysfs foosysfs /mnt/ExternalHDD/whereever/you/want/Gnome/sys #set up chroot environment
mount -o bind /dev /mnt/ExternalHDD/whereever/you/want/Gnome/dev #set up chroot environment
mount -t devpts foodevpts /mnt/ExternalHDD/whereever/you/want/Gnome/dev/pts #set up chroot environment
cp /etc/resolv.conf /mnt/ExternalHDD/whereever/you/want/Gnome/etc #nice to have
cp /etc/hosts /mnt/ExternalHDD/whereever/you/want/Gnome/etc #nice to have
cp /etc/hostname /mnt/ExternalHDD/whereever/you/want/Gnome/etc #nice to have

现在我们在您的目标目录中已经有了一个基本的 debian 安装,可以使用了。重要的是,您使用 debootstrap 安装与实际操作系统完全相同的 Linux 发行版(包括版本!)。请参阅 debootstrap 的联机帮助页了解可用选项。基本上 debootstrap 可以安装任何 Linux,只要它使用适当的 debian 风格的存储库。对于任何使用 deb-Packages 的发行版来说都应该是这种情况。

现在我们想让它与你真正的操作系统相似,然后安装 Gnome。以下几行可能有点不直观(我的包括语法错误,YMMV)...

dpkg --get-selections | grep -v deinstall | awk '{print $1;}' |\
     xargs chroot /mnt/ExternalHDD/whereever/you/want/Gnome \
           /bin/bash -l -c aptitude -y install
cp -a /etc/* /mnt/ExternalHDD/whereever/you/want/Gnome/etc
chroot /mnt/ExternalHDD/whereever/you/want/Gnome \
       /bin/bash -l -c aptitude install gnome

现在您的外部硬盘上应该已经安装了一个不错的 Gnome。请注意,您必须在每次启动时执行 mount-magic 并复制 /etc/resolv.conf。否则在 chroot 环境中运行的程序将无法始终正常运行。

使 Gnome 易于访问

现在进入使用部分!据我所知,没有任何免费的“远程桌面”Xserver,但 XDMCP 工作得很好,对于更复杂的设置,您可以使用 x2go。将 Gnome 安装到我们的 chroot 环境后,我们现在只需要配置并启动 Gnome 显示管理器。基本步骤是 1. 在 chroot 目录中找到 gdm.conf(可能是 /mnt/externalHDD/.../etc/gdm/gdm.conf),2. 启用 XDMCP,3. 启动 gdm。

我相信您可以自己完成步骤 1。对于第 2 步,您需要添加

[xdmcp]
Enable=true

到 gdm.conf。更多选项请参考文档。对于步骤 3,正确设置 chroot 环境非常重要(上述所有安装)。那么一个简单的方法chroot /path/to/Gnome /bin/bash -l -c /etc/init.d/gdm start就可以解决问题。然而,最近的 Linux 发行版可能使用与脚本不同的东西来etc/init.d控制服务。这是特定于您的发行版的。之后,您可以使用任何 Xserver 连接到计算机上的 gdm。

相关内容