I would show you an image of my neofetch but lemmy won't let me place it due to file size so ¯_(ツ)_/¯.
I would have installed it sooner but due to poor decisions I made when making this PC I had to wait for a Linux compatible WiFi card to arrived.
My experience with Fedora KDE:
I've been using Fedora for about 2 days now and, to a degree, it's working just fine, KDE is slick and is easy to customize. Fedora itself works just fine and it's discover store works well enough. That said I need some extra help before I fully dedicate myself to daily driving Fedora.
I'd just like to clarify that I love Linux, I love owing my computer, and I love having so much control over it, and I am completely ready to get my hands dirty in order to make it work, to an extent, as more that anything I want a working computer. I'd also like to clarify that I'm sticking to Fedora KDE 39 and am not looking for suggestions.
Questions:
Can I partition /home directory in a different drive and still fuction?
I own one 500GiB nvme ssd, which is where I want to place my root, boot, var, etc, and I have one 1000GiB(1TiB) sata ssd which is where I would like to place my /home directory. I was originally going to do this but I decided to ignore my 1000GiB drive for now just to test Fedora. Would there be any unforseen complications with this set up?
Transferring /home directory without reinstalling Linux?
After running low on storage space on Windows 10 I have considered upgrading to a larger drive, 2-4 TiB. With my switch to Linux I'd like to know if there is an easy way to take all my files from my previous drive into the new one with all the correct paths configured, without reinstalling Linux?
Best way to partition my / and /home directories?
I'm not asking about btrfs or anything like that, I simply want to know, how to best partition my system. I've read and seen multiple tutorials about partitioning systems but many of them add other stuff like partitioning /var and /boot, and adding some unformatted space. I simply want to seperate my / and /home without anything extra. How would I best go about that?
Fedora KDE refresh rate seems broken?
I've been running Wayland with my NVIDIA GTX 1660 with the Nouveau drivers, I have a 1440p 165hz monitor. Whenever I try to raise my refresh rate in settings above 75hz a giant black box appears at the top of the screen. This problem seems to persist on X11(or maybe I didn't switch correctly). To me this is a very big issue as I'd like to take full advantage of my hardware, and it also simply makes the system as a whole feel sluggish. Is this a problem I can solve or am I just doomed?
Downloading NVIDIA drivers on Fedora KDE?
I asked this question before in a previous post but it seems that all the answers that were given were for Fedora Workstation(GNOME). Considering the rumors that GNOME might completely remove the X11 session I'd very much like to avoid switching(I want to have plenty of options).How would I go about downloading, installing, and potentially managing the proprietary NVIDIA drivers on Fedora KDE? I've searched for an answer to this question but never found a concrete answer.
Here's an overview of how Linux reads its filesystems on boot:
You press the power button on your PC.
Your motherboard receives power and begins a process called Power-On Self-Test, or POST. This is essentially the motherboard "feeling out" on all of its ports to see what's connected. It senses all of your hard drive(s).
The motherboard picks one of the partitions on one of the connected drives and tries to run it as an operating system. For a linux system, you want this to be /boot.
/boot finds your actual system partition and tries to spin up the OS using it. This partition becomes the "main" one you'll see by default when it's fully up and running.
At some point in the boot process, Linux checks the contents of the file at /etc/fstab. "fstab" here is short for "file system table". It's basically a list of other partitions plugged into your PC, and a mapping of where it should be mounted in your filesystem. If your system partition was Partition A, for example, and you had another Partition B that you want to be accessed at the path /B, you'd add a line to your fstab file that says something to the effect of, "hey, reach out to the connected partition with ID , and if it's there, create the folder /B, and make the files inside of the partition show up there." This is called "mounting" the filesystem. You can do it manually at any time with the mount command. The fstab file is just a way to get Linux to auto-mount permanent partitions on startup. You can mount any drive to any path, including /home.
What you need to do is:
Format your new drive, and create a new partition there.
Mount the new partition with the mount command. Park it anywhere you want. /media/new_home or whatever you like. This will just be a temporary place.
Copy everything from your /home directory to the newly mounted one.
Move the existing /home folder to literally anyplace else than where it currently is. \home_old would do. It just needs to be out of the way. You almost certainly want to do this only when logged in as the root user, or from another OS running off a USB. You will not be able to log in as any user after you do this until you finish the following steps.
Edit your /etc/fstab file to point your new home partition to the path /home. This will "hook up" the new partition.
Reboot to make Linux mount the new partition.
Verify everything works.
Delete the backup home directory.
Answering some of your questions:
Can /home live on a separate drive from the system partition?
Yes. Linux does not care in the slightest where any mounted drives are. A drive is a drive is a drive. If it mounts, it mounts. Just make sure it's in your fstab file.
How should I organize my partitions?
There is no right answer. It depends entirely on what you need and how you intend to use your PC. But since that answer is unhelpful, I'll tell you how I've done mine. I currently have a single 2TiB SSD split up like this:
Boot comes first and is tiny. System is probably an order of magnitude bigger than it ought to be, but whatever. 2 GB of deliberately unallocated space is there for the exceedingly rare situation where a dumb bug chews up all the storage on the system partition rendering it un-runnable; it's emergency expansion space I can tack on to get it running just long enough to resolve the problem. Home gets the lion's share. And swap goes at the end, where home can cannibalize it if some day I decide I don't need so much swap space.
You would probably organize your drives in a similar way, except one drive would be entirely dedicated to /home and nothing else, and system taking up the bulk of the other drive. That would be the easy and naive solution. Some users may be inclined to create other partitions for organizational purposes. I personally don't care for that organizational pattern, so, w/e.
OK so I tried the steps you detailed and now I cant login, I'm currently typing this from a Live Environment
old home partition = partition A (nvme0n1p3)
new drive/home partition = drive B (sda1)
I formatted drive B following this tutorial link 1. I formatted it with the GPT table
I then partitioned drive B using this tutorial link 2. Made it one large partition with ext4
I then made 2 new directories /media/home_new and /media/home_old
I mounted drive B to /media/home_new/
I mounted partition A to /media/home_old/ (I think this was the problem)
I then edited fstab to mount drive B as new home( I am absolutely sure I used the correct UUID)
I typed in terminal "reboot"
I arrived at the login screen, when I typed my password it accepted the password, the screen played an animation, it would then kick me back to the login screen. Any time I inputted my password correctly it would kick me back to the login screen after the animation.
I'm kind of lost on how to salvage this. I understand I did something wrong but how do I fix this?
*Update: I was able to log back in after changing the fstab back to the old partition
But I'd still like to swap my home directories so where do I go from here
I can't give you precise directions on how to troubleshoot this, hoping someone else can chime in with some wisdom.
What I can tell you is that being able to log in and then failing to launch a session is definitely evidence that your system either cannot find or cannot access the /home directory. I ran into the same thing not too long ago, but I guarantee you that we don't have the same problem. Mine was file permission related due to installing a new OS. You have the same OS.
When you installed your OS, did you create a root user account? Not an account that can use sudo, I mean theroot user. That user has a special home directory, /root, which is entirely separate from /home. If you can find a guide that tells you how you can boot your OS as the root user, try that.
Put your system back into the broken state with the new partition in the fstab file, reboot, log in as root, and check the filesystem. If you did things correctly, a /home directory should be there, and there should be files in it. If you don't see it, it means for whatever reason it failed to mount on startup. Try using the mount command manually to force it to mount, and see if it gives an error. If it works with the command, it means your fstab is not correct.
Best of luck! Welcome to the Linux experience... lmao
This is a great explanation! I have struggled so much (and feared messing the fstab up) now I will be able to change my clunky HD where my home lives 😊 thanks!
You can have /home on a separate drive without any problem, it can even be a network drive versus physically attached.
Format the drive, copy the contents of the current /home, mount the new drive as /home.
/boot and /var are usually separate for good reason. The short version is: you don’t want to mess up /boot and you don’t want /var to fill up and use up all the space in / if it isn’t separate. Most of the everyday growing/changing data on your machine lives in /var.
When you copy /home make sure you get the “hidden” files. They start with a “.” and some programs ignore them by default. That’s also where most configuration files are.
The -z option enables compression. Don't use that for local transfers, it will just slow things down. It's intended for use over a slow internet connection.
For the OP : By careful with rsync. A trailing slash in a path name of a rsync command can make a huge difference with rsync. rsync is a fantastic tool for local and remote copying but mind your steps :)
Here, as root, I would prefer option 2 to be sure to not mess up permissions :
To answer your disk question, you first must understand how Fedora sets up the disk.
Fedora uses the btrfs filesystem with 2 subvolumes (virtual volumes) called root and home. As you can imagine, root is your os and home is your home directory.
To move those volumes you can use btrfs send and btrfs received. You need to do more research into how those commands work but long story short they are just fancy file copies. You also will want the new disk formated as btrfs
Once you have moved your data you will need to update the boot so that it can mount your disks. If you don't you will end up in either a grub recovery shell or initramfs.
Another option is to use dd to copy your data to another drive. dd is a simple program that reads raw data and then writes it. It doesn't have any safe guards so it will happily wipe out important data if you mess up the syntax. Use at your own risk.
Or the destination can be any format and you can the files (with permissions) and update the fstab. Best from a live environment or root user account so nothing is open.
Your filesystem mountpoints are in /etc/fstab. Moving your home is a matter of adding a line there, with your other disk, and /home as mountpoint and rebooting or running "mount -a". (You will probably want to ask around about the details when you decide to do it.)
Also, as soon as you mount it, whatever is on /home will be masked. Don't despair, it's still there, but it's better to rename it beforehand ("mv /home /home-old") and create a new directory for it ("mkdir /home").
Running your system with a / and /home partitions only is perfectly fine. Don't fall for the people that claim there's a single right way to partition your disks.
NVidia GPUs are notorious troublemakers. Expect to always have something about it in need of fixing.
Can I partition /home directory in a different drive and still fuction?
Yes, that is the recommended thing to do.
Transferring /home directory without reinstalling Linux?
Not a problem, just format your other partition and add/change an entry on /etc/fstab, next time you reboot the home will be in the new partition. For how to write this line check out how the other lines are written, it's essentially the UUID of the partition (or sometimes it's name, but that's discouraged since the name depends on the order the drives are plugged), some options and the location to mount the partition. Should be straightforward to copy the one for / to write a /home one.
Best way to partition my / and /home directories?
Just format your partition and add it to fstab. The other things are for doing the same with other folders.
Fedora KDE refresh rate seems broken?
Nouveau is not great, NVIDIA is a shitshow and hamper open source development actively, but their proprietary drivers mostly "work", so I would just install those.
Downloading NVIDIA drivers on Fedora KDE?
No idea, they should be in the package manager though.
Linux is usually very flexible. /home is just the standard, but you could configure for example your user A to use /home/a/ as home and configure your user B to use /home2/b/ which you have saved on a USB drive that you normally will not connect. You can check this for yourself by looking at the /etc/passwd file with a text editor. Your user C can e.g. have its home in /var/lib/my-fancy-home/c/
Years ago some Linux howtos or Linux distributions during their installation recommended to have several different partitions (I believe some of the BDSs like OpenBSD still offer such an option during installation). One advantage of that for /home is that you can have different mount options like noexec for preventing the execution of files inside your home directory which can be a good security measure. But I am not sure what the impact is for KDE and GNOME desktop files as launchers. These need to be executable files.
Years ago some Linux howtos or Linux distributions during their installation recommended to have several different partitions (I believe some of the BDSs like OpenBSD still offer such an option during installation)
There are advantages of having multiple partitions for multiple mount points.
OpenBSD can do partitioning for you, and it is not recommended to use a huge single root partition. If you can't do partitioning, use the default layout.
One advantage of that for /home is that you can have different mount options like noexec for preventing the execution of files inside your home directory which can be a good security measure.
If you never do development.
Anyone just having / and /home in separate partition are actually windows users, or not sysadmin.
You can definitely move your home wherever you want. Mount your new home wherver you want and copy files using rsync -a /home/$USER /mnt/newhome/ or cp -ar …. The a param (in both) is for also copying permission modes/owners. Do it as root.
After having that done, setup mountpoint in your fstab.
Having / and /home on separate partitons is something you can do, and something some people recommend (it allows you to reinstall your OS or try a new one without moving your personal files around).
It's not that hard to set up, but it's easier with the terminal. Are you comfortable with using the terminal and command line?
With the card thing, just as a shot in the dark, are you using HDMI or Displayport? I know that older versions of the HDMI spec had trouble with high resolution and refresh rate monitors. But I think the propriety driver is just recommended nowadays for Nvidia in general.
KDE and Gnome both use the same drivers, so if it's the same underlying distro (I'm not that sure about the Fedora side), the same instructions should just hopefully work.
With the black box, you should do a report, the advantage of this is if you do it, and a developer actually addresses it, it'll be solved for everyone, meaning your only troubleshooting step will be waiting for an update:
For the home directory question, you actually don’t have to reboot at all. You’ll do most of this as the root user. Just create a new user and put its home directory somewhere like /tmp. Logout, log back in as your temp user, format the new drive, move your home directory (rsync is your friend), edit the fstab (I personally prefer labeling all my partitions and using the labels in fstab). After that, to test your settings, create a new, empty, /home matching the permissions of the old directory. Then type “mount -a”. This goes back through fstab and mounts everything listed if it’s not already mounted. Look for your home directory in /home. If it’s there, you should be able to “su - yourusername” and if you are in your home directory with all your files, you’re all good. No need to reboot. Log out of the temp user account, log back in as you and delete the temp user.
Thank you @[email protected] for asking these questions, and for everyone giving answers. I was trying to plan out my proxmox installation, and you've all pointed me in the right direction.
Transferring /home directory without reinstalling Linux?
After running low on storage space on Windows 10 I have considered upgrading to a larger drive, 2-4 TiB. With my switch to Linux I’d like to know if there is an easy way to take all my files from my previous drive into the new one with all the correct paths configured, without reinstalling Linux?
I can see this meaning a number of different things:
you want to move your home directory to a separate partition:
You can just create a new partition and move your stuff there. People have suggested rsync, and that's fine. Personally, I'd use mc (midnight commander) for that because it's easier.
you want to know how to transfer your future home partition to a future bigger drive:
You could do as above, or you could use clonezilla for that.
you want to transfer files from your old Windows setup to your new Linux system:
You can just mount an NTFS partition and do as described under point 1. I'd be wary to write to an NTFS partition, but reading from it works just fine.
Oh, also, I have my /home on a separate partition.
I rsync-ed the old /home folder onto the new partition, then modified the fstab to mount the new /home on the new drive. I found it easier to do it in a live Linux environment. It's honestly all I ever use my Ubuntu install USB for anymore. Having basic functionality on a thumb drive is a neat party trick, and gets me mucho brownie points rescuing docs off of unbootable windows systems too.
I've got a Fedora KDE system that I originally used the Nvidia direct install for, and after a couple of upgrades (35-37, somewhere in there) it all went to heck. I would recommend using the rpmfusion repo method. It's working on that same system across 37,38 and 39, no issues.
My hardware is pretty old though, GTX970.
Yes you can do that. You can boot to a live CD, format your new drive, move everything from your home directory to it (should just be your home folder), then add the entry to your /etc/fstab file on your root drive.
Can I partition /home directory in a different drive and still fuction?
Only windows can't. Partitioning is recommended.
Best way to partition my / and /home directories?
You should also partition /usr, /var, /opt (if you use) and /usr/local (this hierarchy is not much used on Linux, keep it small). This gain you security and stability (do your own research if you are going to complain here).
On BSD the kernel is located on / so / should be at most 1G. On Linux the kernel is located on /boot and /boot is usually 500M, but there isn't a reason to have a huge / partition when you have partitioned /usr, /var, and /home
I simply want to seperate my / and /home without anything extra. How would I best go about that?
This is ambiguous.
The guy who use a huge single root partition (with a /home) are actually windows' user. / is C: and /home is D:
Can I partition /home directory in a different drive and still fuction?
Transferring /home directory without reinstalling Linux?
I would say yes and yes.
Best way to partition my / and /home directories?
While I didn't do it on Fedora with KDE, I did it on Ubuntu GNOME. I can't imagine the process being much different. You basically just need to set up a partition, mount it on /home and copy the files, after all /home directory is nothing special, it just contains files.
Now my setup involved setting up an encrypted partition and then mapping it via LVM. Your milage may wary, but the process should be rather straigthforward with some google'ing and messing around.
The answers here are all well and good, but show how using Linux isn't as user friendly. Regular folks could care less about what filesystem they have. Heck even having a specific window manager vs another can seem farfetched.
I mean technical problems require technical knowledge. I don't see how this is that much different from adding a drive to a Windows system and then having to format it so that it works properly.
Heck even having a specific window manager vs another can seem farfetched.
That's unfortunate, because people can be turned off by GNOME and decide that "Linux sucks" without being aware that GNOME isn't Linux, and they can have a different (better) experience using KDE.
From the standpoint of getting video working correctly, I'd suggest switching to Nobara. It's Fedora 39 with KDE, but it's highly optimized for editing and games, so it's about as good as you can get for managing the video drivers correctly. It also enables the non-free repos out of the box so you don't have to try to convince Fedora to let you use half the useful stuff in Linux.
And nobody uses the nouveau drivers anymore, they're unmaintained and pretty much unusable for anything above running a terminal emulator.