|
Description
A separate partition for /home has been proposed for a long time in the forums. It implies some risks, though, so based on disk size Ubiquity should estimate the amount of space that should be left for / or whether a separate partition should be made at all. Then...
-The first time an user installs Ubuntu, he is given the option to set a separate /home. This option is selected by default, with a size for each partition based on a sane guess:
http://img155.imageshack.us/img155/7958/firstinstallaro2.png
-Of course, he can just choose not to set a separate /home. This option will be selected by default if the results of the system test suggest that's the best thing to do.
http://img186.imageshack.us/img186/6498/firstinstallbfs6.png
-Manual install is also possible. Selecting it greys out everything related to separate /home, since it's implied that the user doesn't want to be guided.
http://img177.imageshack.us/img177/7976/firstinstallcvc2.png
-If the user set a separate /home, the next time he installs Ubuntu a new option appears and is selected by default, prompting to use the existing /home partition. All other options are still available, though.
http://img155.imageshack.us/img155/9034/secondinstalliq1.png
This proposal embraces both #314 and #138. Therefore, I think all three should be merged.
Developer comments
I have always used a separate /home as well. Keeping /home after reinstallations is one major reason which has been mitigated by ubiquity preserving /home now (I didn't test that yet, though).
Either way ubiquity (the Live CD installer) should point this out clearly.
The other reason is that I want to use it from multiple Linux installations, but that's mostly a geek use case.
I have no idea what size / and /home should have by default,
I always use 6 GB for / and the rest for /home, but if someone wants to use huge databases, that'll break.
Thus I think we should stick to our current partitioning and rather improve the UI for keeping /home. There is always manual partitioning for people who actually care.
Attachments
Bug #156177 : offer to create a separate /home partition
|
|
Duplicates
Comments
|
shovelhead wrote on the 22 Mar 08 at 11:54
|
This needs to get done! But it's not so much an ubuntu problem; it's part of the debian way of installation, that we don't get a /home partition.
You CAN work around it, when you do the setup of your system, just be shure to leave a huge space on the disk as a logic partition (unused - just in case).
say hd0 is your ubuntu, hd1 is swap (special weapons and partitions) and hd2 to hdn can become whatever you want them to be.
AFTER the setup, you can divide and activate this partition and make it /home or install other unices (for testing etc). This is a very, very bad way of doing things. It is also very "proprietary" of debian; neither RedHat nor SuSE can work and rework a debian made partition system.
But the worst sucker is: you need to know a hell of a lot about GNU/Linux and debian BEFORE coming up with the right way to do it - and this means that in general you already have a system set up the wrong way, when you learn about how to do it right.
I would LOVE to get it solved, but I don't see how! We're debian desciples :o)
|
|
Eldmannen wrote on the 22 Mar 08 at 15:25
| |
Pretty nice mockup there. :)
|
|
popi wrote on the 22 Mar 08 at 20:36
| |
may be a drop down list to select one of the existing home folders (if user had a mandriva home and a gutsy home ad he dont want to merge them, he should ave more than one, so this option could be ambiguous)..
|
|
frandavid100 wrote on the 22 Mar 08 at 21:10
|
I think that user should do it manually, then. This feature intends to make life a bit easier for newcomers, therefore keeping it simple is essential if we want it to be of any use.
I'm sure the kind of user you mention knows how to create and mount a /home partition himself.
|
|
Ubuwu wrote on the 22 Mar 08 at 23:20
| |
I see no reason at all to create a seperate home partition, it only makes things more complicated. The only thing that would be useful is the installer detecting existing home directories and/or partitions and preserving them, but there is no reason that home directory should be on a separate partition.
|
|
frandavid100 wrote on the 23 Mar 08 at 07:58
|
As the screenshots say, it prevents personal data and preferences from being lost if the system has to be installed.
Preserving /home directories on reinstall would be another way to do the same thing alright, but A) we don't have that, and B) having a separate partition gives me the psychological assurance that my data are safe even if the installer goes bogus.
|
|
bigredradio wrote on the 25 Mar 08 at 04:36
|
There is a number of different reasons to have, not only a separate /home, but other filesystems.
1) Less risk of an unbootable system due to filesystem corruption. If everything is on one filesystem, you run that risk. Keep system files (which do not change often) on a separate filesystem than user data (which does change often) limits your risk. Also, it's a lot easier to run fsck on a system that can at least get to a shell, then have to boot from some liveCD and try to do it. Remember the saying, Don't put all your eggs in one basket.
2) Better Performance. Again, separating out stable data with (ever changing data) will cut down on non-contiguous storage. If you have a large disk where everything is in one filesystem, the data blocks are written throughout the entire disk. Since /boot / and /usr do not get many writes, the data will be written contiguous. However, /var constantly is changing removing adding files. This fs is best left on its own in a small segment of the disk so that the read/write head is not skipping all over the disk.
3) You can use different filesystem types for different purposes. ext3 is good for stability, reiserfs is good because you can extend or grow the fs without umounting it. You might use xfs on very large filesystems. Or you might want to mount some read-only or encrypted.
The issue of how much space to use in each filesystem was solved with LVM. It kills me to see systems using LVM, with everything in one LV that takes up all of the space in the volume group. Logical volumes should only be as big as needed at the time (with a little growing room). Then if you run out of space, you just extend the logical volume and filesystem to meet your needs. If you run out of disk space, you can add more disks and extend the filesystems some more. You use the disk space efficiently and the back-end makes sure the data is written efficiently to the disk blocks.
|
|
broomfighter wrote on the 25 Mar 08 at 20:05
| |
Wonderful idea, but there needs to be one key fix for this to be user-friendly. You see, when moving files between partitions, either nautilus or gvfs or ubuntu copies the files instead of moving them. This can be quite a surprise for new users who are used to a unified file system. By changing this behavior wherever it is implemented we can ensure a user-friendly experience so central to the core values of ubuntu linux.
|
|
a3_nm wrote on the 25 Mar 08 at 21:27
|
Offering to create a separate home partition is a good idea, I support.
However, the system should select a sensible default and the user should not be asked about what to do unless he really wants to change the option. New Ubuntu users probably will be frightened if they are asked something like "Do you want to create a separate /home partition or store user data in root partition?"
|
|
frandavid100 wrote on the 25 Mar 08 at 23:37
|
Well, the system DOES (hypothetically) select a sensible default and suggest it to the user. As the related bug reads:
"The recommended options, based on HD size, would be:
1. The default should be to create a separate /home
2A. For the default option, if the hard drive is bigger than 20 GB, and it's a Ubuntu-only installation, 10 GB should go to / and the rest should go to /home
2B. If the hard drive is between 10 GB and 20 GB, and it's a Ubuntu-only installation, 5 GB should go to / and the rest to /home
2C. If the hard drive is less than 10 GB, there should not be a separate /home partition
3A. If the hard drive is bigger than 40 GB and a dual-boot, 10 GB should go to / and the rest to /home
3B. If the hard drive is between 30 GB and 40 GB and a dual-boot, 5 GB should go to / and the rest to /home
3C. If the hard drive is less than 30 GB and a dual-boot, there should be no separate /home partition".
The results are then displayed as recommended options and selected by default, so no user has to make a decision he's not sure about: he KNOWS that a specific option is recommended (the dialogue tells him so), and can go by it unless he really knows what he's doing and wants to decide otherwise. No reason to be scared here.
On the other hand there's no way to know if the user really wants to change the option if you don't ask him first, is there?
|
|
frandavid100 wrote on the 25 Mar 08 at 23:39
| |
Also: Broomfighter, you got me a little lost there. How is moving files between partitions, or copying them instead, related to the topic? I'm afraid I'm not following you.
|
|
mp3phish wrote on the 29 Mar 08 at 00:05
|
Wouldn't it just make more sense for /home to be installed into /usr/home instead, then mount /usr as a seperate partition? Then you wouldn't have to worry about your root partition blowing up with too many applications and the whole "how much space to leave for the system" question is negligable (5GB out to be enough for anyone, hehe;)
Then, when you need to reinstall your system (and preserve home/) then you can just delete the files under /usr/* except for home and format the system partition, and all is good.
Am I missing something here? It would seem to me that the whole reason Ubuntu installs all on one partition is because it is too complicated for the user to come up ahead of time what size he wants for each partition. If you make the /usr partition the extra one, and install home into it, that is probably 99% of any "additional" storage that would not have been predicted ahead of time.
|
|
frandavid100 wrote on the 30 Mar 08 at 09:20
|
"then you can just delete the files under /usr/* except for home"
I see your point, but wouldn't that defeat the purpose of the whole thing? I take it you mean the *user* has to delete everything, save /home? Or the installer does?
As for 5 GB being enough, I've been using a 5 GB root partition for a couple years, having installed everything I would possibly ever need and still have 1.5 GB free. However the installer would recommend leaving 10 GB just to be on the safe side. And well, default sizes can be changed anyway if the devs decide they're not the best. I don't really have a strong position towards *these* figures.
|
|
arzajac wrote on the 31 Mar 08 at 10:26
|
A separate home is a false sense of security. It does not decrease the chances of your disk failing. It does not decrease the chance of deleting your data. It does not improve performance.
It increases the installation complexity and introduces the possibility of the user running out of space somewhere.
The current default (all on one partition) is an elegant solution.
There is no benefit to a separate home. It's easier and safer to just do a proper backup.
|
|
frandavid100 wrote on the 31 Mar 08 at 10:57
|
"A separate home is a false sense of security. It does not decrease the chances of your disk failing. It does not decrease the chance of deleting your data. It does not improve performance".
It never intended to do any of those. It does keep your personal data and preferences if you reinstall the system. That's basically the point.
"It increases the installation complexity"
That's precisely what this idea is trying to solve. Did you even take a look at the mockups?
"It's easier and safer to just do a proper backup".
I agree with the "safer" part, but as I said, this idea's purpose is not to safeguard the user's data against hardware failure or own incompetence, so there's no point to that comparison. As for the "easier" part, please do take a look at the screenshots before saying that kind of things.
|
|
arzajac wrote on the 31 Mar 08 at 12:52
|
1. Your personal preferences cannot reliably be shared between different versions of applications. For example, you cannot guarantee that your dotfiles will apply to earlier versions of an application if you decide to revert to an older version. Not to mention the problems with sharing a home partition between two or more operating systems.
2. I did look at the mockups. It does increase complexity. The end-user should not even have to know the difference between system files and personal files.
Installing the OS is an incredibly large hurdle for non-geeks. The best thing we can do to help overcome this is make the installation as painless as possible. I think the current installer needs seven mouse clicks. Any addition decision/mouse clicks makes the process that much more of a challenge.
3. Easier means less complex. The user should not have to conceptualize how their disk is partitioned. There already is a separation between system and user files in any default installation. You don't need to partition to achieve this.
Maybe the installer could take a look at the target disk to see if there is already an intact filesystem there with a home folder and rename that to "home-backup"? Again, in that case, the installation should not be made more complicated by that.
|
|
frandavid100 wrote on the 31 Mar 08 at 14:02
|
1. True, but I cannot picture many newcomers reverting from a functional ubuntu release to an older one. Most of them will periodically install *newer* releases, though, containing newer application versions which, in most cases, will make use of their old preferences.
As for shared partitions, that is completely out of this idea's scope. This is meant for users who do not know what a partition is. The kind of people who most surely won't install several operating systems on the same machine, and with a shared /home partition.
Really, I can't see how your argumentation applies to this.
2. Please, look at the screens again. The user does not need to know the difference between personal and system files. The installer tells him what will happen in plain English and chooses good default options for him. He does not really have to read or understand anything, or make any -not one- additional mouse clicks. The point of it all is that he *can* change these settings, but does not have to. Separate /home goodness comes to him without doing a thing.
3. Finding your old preferences there when you reinstall is easier -as in less complex- than having to set them all again. It is also less complex than installing a backup tool, backing up your data and placing it back after install. It is also less complex than tracking down a "home-backup" folder that you might have or have not access to, or know that it exists, and for some reason is eating up your disk space, and copying everything -including hidden files- back to your /home.
Starting over again from scratch is probably the easiest, but most users would probably agree with keeping their settings and other stuff. The question here is, should they be able to? And how easy do we want to make it on them?
|
|
arzajac wrote on the 31 Mar 08 at 17:06
|
"I cannot picture many newcomers reverting from a functional ubuntu release to an older one."
It happens all the time. How many times have users (male and female) asked is there was a rollback feature? If your solution doesn't plan for that, it isn't ready for prime-time. And since you would have to get all of upstream to suddenly make their dotfiles backwards-compatible, you are in for a huge task.
"Most of them will periodically install *newer* releases, though, containing newer application versions which, in most cases, will make use of their old preferences. "
That's that a dist-upgrade is for. Not to mention that half of the time a user borks their system, the solution is to jettison the messed-up configurations in their home folder anyway.
"Please, look at the screens again."
I have. The most complicated part of the installer looks even more complicated.
"Starting over again from scratch is probably the easiest, but most users would probably agree with keeping their settings and other stuff. The question here is, should they be able to? And how easy do we want to make it on them?"
Starting from scratch doesn't get any easier than dragging and dropping the files you want to keep onto a backup drive and copying them back once you reinstall.
|
|
Areso wrote on the 2 Apr 08 at 09:24
| |
I believe that encryption is also an issue.
|
|
Grant wrote on the 11 Apr 08 at 06:52
| |
This is an excellent idea. This would help out the general public (non-code writers, like me) who want to move to Ubunutu (or other *nix) from a version they're on but are afraid that they might loose their stuff if they did. +1000
|
|
glibik wrote on the 13 Apr 08 at 08:50
| |
I wasn't aware this was any kind of issue. :-\ I always install a system with a /home on a separate partition. It seems, to me, silly not to do this.
|
|
Endolith wrote on the 15 Apr 08 at 19:26
| |
Why in the world would you create a separate partition for the home directory? This would require you to predict the size in advance and cause you to run out of disk space sooner.
|
|
Gwador wrote on the 18 Apr 08 at 21:54
| |
It's always been a safe and sane practice under "redmond" legacy OSes to make a separate partition for user's data. Today it still minimizes data loss possibility in case of system fatality and consequent reinstallation, even though Win32 platform is too mature for that to happen as often as in its glorious past. Sad but true, Ubuntu hasn't reach even this level of stability yet. Linux is still under heavy development as a desktop platform. Take hardware accelerated rendering situation, for example: proprietary drivers, problems with laptop BIOSes ACPI support, developing Xorg. More of that, XGL and AIGLX are both "too alpha" to work flawless with compiz (the only way to match redmond's eye candy for today). XEGL (the first logically proper and clean solution) is only a sweet dream, while slow graphics and instability is a harsh reality. Considering this example, and overall rapid progress of desktop Linux solutions, it's no wonder that we *have to reinstall* Ubuntu from time to time, but not upgrade. Thus we loose our data from time to time. Separate /home partition policy would be a fine practice, especially in conjunction with proper system-wide settings backup/export/import software.
|
|
Rob Loach wrote on the 20 Apr 08 at 23:51
| |
OpenSUSE 11 gives you this option during installation and it would be nice to have it part of Ubuntu.
|
|
Bassjunkie wrote on the 7 May 08 at 16:15
|
I found this option by accident whilst playing around with the network installer version of Debian. When it came to the disk partitioner it offered to create separate partition for / and /home.
I completed the installation but then went back to Ubuntu (it was on a Tosh Portege I was re-installing via PXE for testing so I wasn't worried about blowing away the Debian install). On re-install I just kept the existing partition scheme and re-formatted each and selected the relevant mount points.
I think this could be an excellent idea but it would need to be explained very clearly to the user during installation as it could easily scare off people coming from a windows background who don't understand how the Linux file system works!
|
|
JimmyBEng wrote on the 11 May 08 at 02:37
|
Using a separate /home partition is a good practice (as others have indicated). This provides an easy way for new users to start using that good practice.
|
|
daengbo wrote on the 13 May 08 at 12:50
|
This discussion fails to recognize the #1 reason to install to a separate /home partition: security. The partition can be set noexec so that malware won't be able to reside in the user area -- the only place it has ready access to.
Mounting /home and /tmp noexec are basic security procedures that Ubuntu isn't following ... and it should be. Some day, the Ubuntu community will be large enough to attract malware. Let's get ready for that time before it happens, eh?
|
|
frandavid100 wrote on the 13 May 08 at 19:59
|
Ubuwu: I have tried that twice, but both times it resulted in my /home data being destroyed. I hope some developer can shed some light on how exactly it works.
Daengbo: Would that mean that you couldn't run any executable files inside your /home? That would bring some usability problems wouldn't it?
|
|
boga wrote on the 1 Jun 08 at 13:43
|
Yes, it should be done since a separate home partition is the most convenient layout in most of the cases.
Also this would help to offer a new user a case sensitive (ext3) or case insensitive (jfs with -O option) partition. It seems that quite a lot new users encounter file system case sensitivity problem and the solution is very obscure and may come too late when the user has to backup and re-partition his system.
|
|
natureflow wrote on the 1 Jun 08 at 20:06
| |
You need NO separate partition for this. :-)
|
|
glibik wrote on the 5 Jun 08 at 01:39
|
natureflow, I agree that you don't NEED a separate partition.
However, I believe that you SHOULD have it, and, it is so easy to implement that it would be silly not to implement it.
|
|
Auzy wrote on the 5 Jun 08 at 02:03
| |
Why? If I have a 20GB HDD, splitting my HDD into 2 partitions means I may easily run out of space on one?
|
|
boga wrote on the 6 Jun 08 at 20:24
|
Auzy, first it is suggested as an option and second, you may have say 6Gb partition for / and the rest for /home and in an unlikely case you run out of / space you can always bind say /usr/local to a directory on your /home partition.
|
|
Craig73 wrote on the 25 Jun 08 at 23:45
|
Wow... bind /usr/local to /home... doesn't that go against purpose of the arguments for either side?
Personally I have run quite tight on data many times... and if I know there is 5GB sitting there unused I'm annoyed.
I always found it curious how people would increase the complexity of their system management by partitioning into 4 or more partitions (in DOS/Windows)
And while I can appreciate the 'simplicity or re-install' argument, I don't really see why deleting all but the /usr directory is more difficult to implement.
And with journaling file systems the corruption factor seems considerably less.
|
|
zephyrcat wrote on the 30 Jun 08 at 00:37
| |
In response to the developer comment pointing out that figuring out a default size would be hard, there could simply be a screen asking the user to move a slider to determine what percentage of their harddrive they wanted to use for data.
|
|
chipbennett wrote on the 30 Jun 08 at 22:32
|
In lieu of making a separate /home partition the default behavior, why not at least offer the option (using whatever recommendations deemed appropriate)?
I can understand why the decision might be made not to make a separate /home partition the default behavior; however, I cannot understand why the *option* cannot be given. This idea is obviously one of the more popular ones on Brainstorm.
Giving default recommendations seems to be a viable solution. I think the 5GB/10GB root partition defaults, based upon overall HDD size, are perfect. Those who want a finer degree of control still have the option of manual partition configuration.
Oh, and those who are arguing that having separate root and home partitions presents more risk of running out of disk space: how many HDDs today are smaller than 60GB (or perhaps 40GB)? Anything smaller is either on a baseline laptop or else a ULCPC - neither of which is designed to be used for disk-space intensive activities (like media storage).
Desktop HDDs are measured in the hundreds of GBs - more than ample space to provide for separate root/home partitions without sacrificing meaningful disk space.
(And I am writing this on a mostly baseline dell*buntu Inspiron with a 60GB HDD.)
|
|
jorgevan007 wrote on the 3 Jul 08 at 19:11
|
It seems to me that the developers are taking the easy way out on idea #5390. This idea has almost 3200 votes and the comment made by the developer was..."I don't know what the user wants..so we'll do nothing"..here is the actual quote:
"I have no idea what size / and /home should have by default,
I always use 6 GB for / and the rest for /home, but if someone wants to use huge databases, that'll break.
Thus I think we should stick to our current partitioning and rather improve the UI for keeping /home. There is always manual partitioning for people who actually care."
If the user selects "I care" ...then ask!!
Without changing the defaults on the installer, an option could be added which allows the user to select whether they are interested in making the a /home partition. If that option is selected the easiest way to do this is would probably be to offer a few options:
1. Setup "A" - default + /home of rest of hard disk
2. Setup "B" - Default + /home of X (user defined)
3. Setup "C" - I want to manually define my partitions (advanced)
I don't think the lack of information should be a show stopper for this popular idea!
Let me know what you guys think.
Thanks,
Jorgevan007
|
Post your comment
|