115
submitted 9 months ago by Doctor_Rex@lemmy.ml to c/linux@lemmy.ml

Hello I'm Doctor_Rex after 2 posts asking multiple questions I have finally installed Fedora KDE 39 on my desktop.

Previous Posts:

I'm ready to install Linux, but I'd like your opinion first

My Windows 10 install broke, but I'm hesitant to switch to Linux.

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.

If you responded to my questions then, Thank You.

you are viewing a single comment's thread
view the rest of the comments
[-] pixelscript@lemmy.ml 44 points 9 months ago

Here's an overview of how Linux reads its filesystems on boot:

  1. You press the power button on your PC.
  2. 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).
  3. 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.
  4. /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.
  5. 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:

  1. Format your new drive, and create a new partition there.
  2. 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.
  3. Copy everything from your /home directory to the newly mounted one.
  4. 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.
  5. Edit your /etc/fstab file to point your new home partition to the path /home. This will "hook up" the new partition.
  6. Reboot to make Linux mount the new partition.
  7. Verify everything works.
  8. 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:

[ 200 MB boot | ~500 GB system | 2 GB free | ~1.5 TiB home | 8 GB swap ]

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.

I cannot help you with your display troubles. :(

[-] Doctor_Rex@lemmy.ml 8 points 9 months ago* (last edited 9 months ago)

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

[-] pixelscript@lemmy.ml 5 points 9 months ago

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 the root 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

[-] Doctor_Rex@lemmy.ml 2 points 9 months ago* (last edited 9 months ago)

Old drive with current home directory = Drive A

New drive I wish to use a home directory = Drive B, I gave it an extra file named confirm.txt

I did have a root user account, I just didn't know how to boot into it

The first time around I forgot to copy my old home folder into my new home folder, but now I know that wasn't the issue.

After a bit of fiddling I decided to reinstall fedora.

I tried to separate my / and /home from the fedora installer; for some reason fedora wouldn't let me. Any time I tried to set my /home on my 1TB drive fedora would place my / into said drive. Just to clarify I want my / and everything in it to stay in my 500GB nvme and my /home to be in my 1TB ssd.

I just cut my loses and let fedora do it's usual install in Drive A. Drive B was left untouched.

For the new install I decided to do some thing different

In / I made two new partitions /new_home and /old_home

I went into fstab and made both drives mount; Drive A mounted into /home and Drive B into /new_home

I rebooted; Logged in as normal and Drive B successfully mounted

From here I reversed it, Drive A into /old_home and Drive B into /home

I rebooted; I entered into the KDE Login screen as usual. I typed my password correctly but after a short animation I was placed back into the login screen.

I logged in as root and checked if everything mounted correctly. It did. From / my /home would place me into Drive B the one with confirm.txt. And Drive A was in /old_home

So now I'm confused. Everything mounted properly but I still can't login with my account. I'm assuming this might be a KDE problem but I'd like your opinion.

[-] pixelscript@lemmy.ml 2 points 9 months ago* (last edited 9 months ago)

I use KDE on Debian and did not encounter this problem when I did the reverse action (migrated /home from a second drive back to the system drive).

This may be an insulting question, but are your files in the new home partition inside a /home directory on that partition? Because if they are, that would definitely mess it up. If you mounted that to /home in your fstab file, then the path to your home dir would be /home/home/user instead of /home/user. Your user directory needs to be at the root of the filesystem on that partition.

I expect you did not make this mistake, but a sanity check never hurts...

Oh, and check the files on the new partition with ls -l as well. See who owns them. If you did the copy with the root account or with sudo, the owner of the files might be root. They should be owned by the user you are trying to log in as.

[-] acockworkorange@mander.xyz 2 points 9 months ago

If you didn't create a root user, try:

$ sudo su

This land you in a root prompt. Set the password:

# passwd

You should now be able to log into a root user account. Shift+Ctrl+F1 will land you in the first virtual text only console. Log in as root using the password you just set. You have just tested it. To go back to the graphical interface, Shift+Ctrl+F7 or F8, depending on your distro.

Each F key there will take you to a different virtual terminal session, with the last one usually meant for X (gui). For some reason that's usually the seventh, but feel free to go in sequence from F2. There might be some blank screens, as most people don't use this feature so distros simply don't start terminals there and leave them blank so X is still on F6/7/8 as most people expect.

[-] NateSwift@beehaw.org 2 points 9 months ago

Going over your steps, it looks like you forgot to copy the contents of your old home directory (partition A) into the new partition on drive B before editing your fstab file. This would cause the system to boot and not find any home directory (because once you change the fstab file it only knows to look for it on drive B) and then fail to log you in.

You also shouldn’t have to remount your home directory (partition A) before copying files over because it’s already mounted when you boot your system.

Hope this helps! Let me know if you have any questions!

[-] acockworkorange@mander.xyz 4 points 9 months ago

I think they remounted because it was was a live ISO instead of doing it on the actual fedora install. But I might be wrong.

[-] Doctor_Rex@lemmy.ml 1 points 9 months ago* (last edited 9 months ago)

Old drive with current home directory = Drive A

New drive I wish to use a home directory = Drive B, I gave it an extra file named confirm.txt

I did have a root user account, I just didn't know how to boot into it

The first time around I forgot to copy my old home folder into my new home folder, but now I know that wasn't the issue.

After a bit of fiddling I decided to reinstall fedora.

I tried to separate my / and /home from the fedora installer; for some reason fedora wouldn't let me. Any time I tried to set my /home on my 1TB drive fedora would place my / into said drive. Just to clarify I want my / and everything in it to stay in my 500GB nvme and my /home to be in my 1TB ssd.

I just cut my loses and let fedora do it's usual install in Drive A. Drive B was left untouched.

For the new install I decided to do some thing different

In / I made two new partitions /new_home and /old_home

I went into fstab and made both drives mount; Drive A mounted into /home and Drive B into /new_home

I rebooted; Logged in as normal and Drive B successfully mounted

From here I reversed it, Drive A into /old_home and Drive B into /home

I rebooted; I entered into the KDE Login screen as usual. I typed my password correctly but after a short animation I was placed back into the login screen.

I logged in as root and checked if everything mounted correctly. It did. From / my /home would place me into Drive B the one with confirm.txt. And Drive A was in /old_home

So now I'm confused. Everything mounted properly but I still can't login with my account. I'm assuming this might be a KDE problem but I'd like your opinion.

[-] NateSwift@beehaw.org 2 points 9 months ago* (last edited 9 months ago)

I’m not sure what’s going on, I can think of a couple things worth checking.

First I would make sure that all the files are being copied over properly. In a terminal window, run ‘ls -la /home’ and ‘ls -la /new_home’ or ‘ls -la /old_home’ and compare the outputs. Both should be the same and have a folder with your username. Check inside the user folder as well by appending ‘/username’ to the command (ex: ‘ls -la /home/Doctor_Rex’ but use your linux username).

The letters on the left (rwxr-xr-x or something similar) are permissions and should be the same. Continuing across the line there’s another number that isn’t important and then it should say your username twice. If it says “root” you need to update the owner of the files. this can be done by running ‘sudo chown -r username:username /home/username’ where “username” is your linux username.

Lots of configuration settings are stored in files or directories that start with a ‘.’ and are hidden by most file managers and ‘ls’ by default. If these are missing it’d cause problems.

If everything looks the same, you could try logging in from a TTY. This won’t start a GUI, but it will allow us to see if you can log in at all. You can switch to another TTY by pressing ctrl+alt+any function key (f1/f2/f3/etc). Most distros use TTY1 or TTY7 for their GUI, so try ctrl+alt+f2. If it doesn’t change to a terminal screen, try another function key. From there it should prompt you to enter a username and password. Try and log in to your account. If you can, it’s probably an issue with KDE, if you can’t there’s still something wrong with how you have the drives mounted, missing files, or incorrect file permissions.

Sorry if the formatting is a little chaotic, I added the part about checking ownership in after writing the rest

[-] png@discuss.tchncs.de 2 points 9 months ago

Are you completly sure you copied all the files correctly, not missing any hidden files and such?

[-] Valmond@lemmy.mindoki.com 1 points 9 months ago

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!

this post was submitted on 24 Feb 2024
115 points (91.4% liked)

Linux

48334 readers
808 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS