我买了一台新电脑,并将 Ubuntu 安装在我的 60gb ssd 上。现在,我有另一个磁盘(1 Tb hdd)。我的问题是如何将程序安装到我的 HDD 而不是 SSD 上。我可以更改 UBUNTU SOFTWARE CENTER 的安装目录吗?否则,我如何将其他程序安装到我的 HDD 上?请帮帮我。
答案1
许多程序存储在/usr/bin
或/usr/sbin
中/bin
。因此我有两个解决方案:
首先,你可以将整个/usr
文件夹复制到硬盘上,然后将旧文件夹重命名为/usr_old
或其他名称。然后,你可以创建一个新usr
目录。
mkdir /usr
现在您可以从旧的挂载点卸载您的硬盘并将其挂载为新/usr
目录。
mount <device> /bin
不要忘记编辑fstab
以使更改永久生效。使用/bin
目录,您可以按照相同的方式进行操作。重要的是,整个文件夹现在都在您的硬盘上,因此程序也属于操作系统。因此,如果您注意到某些程序的性能下降,我会将其复制回 SSD,并将此方法与第二种方法结合使用。
如果您不想更改当前挂载点等,另一个解决方案是为上述目录创建符号链接。将它们复制到您的 HDD 上,并在旧位置创建符号链接。反之亦然,您可以继续处理想要保留在 SSD 上的程序。
答案2
您需要将文件夹放到/usr
另一个硬盘上。根据您是已经安装了 Ubuntu 还是即将安装它,步骤会有所不同。我会帮助您完成这两个操作,只需在此答案下留言即可。
但是,我想告诉你,你可能更愿意将程序放在 SSD 上,而不是将主文件夹放在 HDD 上。你的程序在启动和运行时需要从那里读取信息。我猜你希望你的应用程序能够快速启动和运行。
现在,您的硬盘上已经有了 ext4 分区。现在启动实时系统。
我建议将整个 SSD 备份到外部 HDD。为此(在实时会话中),请确保未安装任何 SSD 分区:打开 GParted 并确保没有任何锁定符号。如果有交换分区,只需右键单击它并选择“关闭交换”。对于其他所有内容:右键单击它并选择“卸载”。
然后打开 Nautilus 并导航到硬盘上的目的地。到达目的地后,按 Ctrl+L 并复制路径。然后sudo su
在终端中输入并执行以下命令:
dd if=/dev/sda bs=8M | gzip -9 > "[the path you copied]/image.gz"
假设/dev/sda
是您的 SSD,否则请更改它。GParted 将帮助您确定它是哪一个。
由于需要复制整个 SSD,因此这将需要一些时间。如果您的 CPU 较慢,请更改-9
为-3
。
此命令运行时,请勿在 SSD 上安装任何分区。这会使您的备份变得毫无用处。
完成后,如果输入和输出的数字匹配,则表示您已成功创建备份。现在您可以继续实际工作了。
确保 GParted 现在已经关闭。打开 Nautilus 并转到 SSD 上的系统分区,按 Ctrl + L,复制路径,我将其命名为[systemPath]
。对 HDD 上的分区执行相同操作,我将其命名为[targetPath]
。确保 HDD 上的分区上除了文件夹“lost+found”之外没有任何内容(按 Ctrl + H 显示隐藏文件)。打开终端并输入此命令:
sudo cp -p -R "[systemPath]/usr/*" "[targetPath]"
如果此命令显示任何错误,请不要继续。如果失败,也不会造成任何损失,您可以像以前一样使用系统。(另外,您进行了可靠的备份,这总是一件好事。)如果有任何错误,请在此处发布。否则继续。
再次打开 GParted,然后右键单击 HDD 的分区。选择“信息”。有一个名为“UUID”的字段。您需要此字符串。将其复制到 GEdit,然后关闭 GParted,这样您就可以使用 Nautilus 挂载分区。
打开 Nautilus 并转到 SSD 上的系统分区,按 Ctrl + L,复制路径。然后打开终端并输入以下内容:
sudo gedit "[systemPath]/etc/fstab"
GEdit 将打开并显示一个文件。在/
UUID 后面的行(此行显示的位置/usr
)后立即输入此行(UUID 必须不同。如果它们相同,则说明您复制了错误的 UUID):
UUID=c368e545-6d5d-3cc3-b9da-8e3fe347930d /usr ext4 errors=remount-ro 0 1
其中,您使用从 GParted 复制的 UUID 替换 UUID。