我最近刚刚安装了 Ubuntu 14.04,对 Linux/Ubuntu 还很陌生。我有一台笔记本电脑,里面安装了 120GB SSD 和 750GB HDD。
fstab
目前,我已在 SSD 上安装了 Ubuntu,并通过挂载了 HDD /mnt/var
。现在我想在 HDD 上安装程序,并保持 SSD 清洁以用于 Ubuntu。
据我所知,程序安装在/var
目录中,因此我一直尝试将当前数据从复制/var
到/mnt/var
,然后编辑fstab
以将 HDD 安装到/var
。
但每次我重启,都会遇到很多不同的问题:首先,系统提示无法找到某些驱动程序。然后,我又尝试了其他方法,但还是找不到/var
。
我的问题是,如果这个问题之前已经问过,我很抱歉,但是我遵循了许多不同的指南,但没有一个对我有用,我该如何按照我想要的方式正确设置它?
答案1
这是个坏主意。如果你把安装的应用程序放在 SSD 上,你将获得更稳定的操作系统和更好的性能。你有一个 120GB 的 SSD,所以你应该毫不犹豫地将它用于安装的应用程序。
您的 750GB 硬盘当然不是白白浪费的。以下是我对如何最佳利用 750GB 硬盘的建议。在您的 SSD 上安装 Ubuntu,包括您的/home
目录,一切存储在您的 SSD 上。然后使用 750GB 硬盘作为数据驱动器来存储您的个人文件。无论您的操作系统发生什么情况,您的个人文件都将在 750GB 硬盘上受到保护并可访问。即使您的操作系统完全无法使用,或者您全新安装了 Ubuntu,您的所有个人文件仍将完整地保存在 750GB 硬盘上。
您无需担心 120GB SSD 太小。120GB SSD 有足够的空间以这种方式安装 Ubuntu。事实上,即使是 60GB 分区也有足够的空间容纳 Ubuntu 和许多已安装的应用程序。
在我的 Ubuntu 上有一些我经常使用的文件。为了提高性能并快速打开这些文件,我也将这些文件保存在我的 SSD/home
目录中。我没有很多这样的文件,所以我的/home
目录很小。
答案2
好的,首先,我看到的答案并没有解决最重要的两个问题。
首先,虽然我赞赏您深入尝试,但您遇到问题的原因是对 Linux 目录结构的理解不完整。在盲目听从我的建议之前,请确认以下内容,因为我不是 *buntu 版本的 Linux 的常规用户,但是...
根据我的经验,应用程序通常不会在 /var 中找到(也有例外),大多数应用程序都位于 /usr 目录下,/var(在 ubuntu 中)用于存储与服务器相关的文件、日志和缓存。此外,如果存储在 /tmp 中,重启后这些内容也会丢失。
需要做出权衡。快速驱动器(例如 SSD)上的 /var 将提高系统性能,但由于 SSD 驱动器的特殊性,可能会因更频繁的写入而(在一定程度上)缩短驱动器的寿命。
简而言之,性能更快,SSD 上的 /var,驱动器寿命更长,750GB 驱动器上的 /var。
作为参考,我的所有系统文件(openSUSE 13.1)和整个系统目录结构(包括 /var)都存在于单个 64GB 的 SSD 上。
Karel 关于您的数据的信息有点误导(我认为),因为您的数据和 /home 目录紧密相关。我的建议是,将 /home 挂载到 750GB 驱动器上的分区上。从长远来看,这将简化文件管理。
我的数据和网站是唯一不在 SSD 上的东西,我的数据(/home、/srv/http)保存在单独的驱动器上,以方便升级或移动到其他发行版。(我的 /home 目录中有 1998 年创建的文件)
我将在后续文章中回答如何移动 /var
答案3
再次,顺便说一句,我同意 Karel 的观点,将基本安装到 ssd 上是最好的选择。我还建议在按照我的指示操作之前先阅读一些其他教程。
注意:在全新安装时配置系统要容易得多,
现在,如果您确实希望为 /var 创建一个新的挂载点,则需要考虑很多事情。
有些目录将更难移动,因为文件可能正在使用中,/var 就是这些问题子目录之一。只要您的系统处于活动状态,数据就可能被写入 /var
另一个考虑因素是维护正确的文件属性,如果没有适当的标志,复制将无法执行此操作。
这些链接可以帮助你入门,
http://lists.opensuse.org/opensuse/2001-11/msg01343.html
http://dev.digi-corp.com/2009/09/moving-opt-data-to-new-partition-in-linux-due-to-low-disk-space
笔记: 我更喜欢使用 tar 而不是 cp,它更快,而且我知道它会保留我的文件属性,如下所示(一个简单的例子,为了简单起见,省略了一些步骤)
请勿在不了解操作内容的情况下遵循这些指示
- 从实时 USB 启动。
- 使用 fdisk 和 mkfs 在 750GB 驱动器上创建并格式化新分区,50GB 应该足够了。
- 挂载新目录。
像这样
mkdir /mnt/var2
mount -a /dev/sdxx /mnt/var2
(将 sdxx 替换为您为新 /var 创建的 50 GB 分区,例如 /dev/sdb1)
将你的 SSD 挂载为 /mnt/oldroot
mkdir /mnt/oldroot
mount -a /dev/sdxx /mnt/oldroot
(此处 /dev/sdxx 是你的 ssd 上的 / 分区,可能是 /dev/sda1 或类似分区)你现在应该能够浏览你的旧文件系统,从 /mnt/oldroot 开始
现在你将文件从旧的 /var 目录复制到新的目录
cd /mnt/oldroot/var
tar cSpf - . | (cd /mnt/var2 ; tar xvSpf - )
复制完成后,比较两个目录,如果一切正常,则重命名旧的 /var 目录
mv /mnt/oldroot/var /mnt/oldroot/var.0ld
mkdir /mnt/oldroot/var
剩下的就是编辑 /mnt/oldroot/etc/fstab 以将新分区添加为 /var 的挂载点(我将这留给您想象)
然后
umount /mnt/var2
umount /mnt/oldroot
reboot
如果一切顺利,当您重新启动时,新分区应该被挂载为 /var