this post was submitted on 11 Aug 2023
0 points (NaN% liked)

Linux

48310 readers
985 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
top 2 comments
sorted by: hot top controversial new old
[–] stikonas@lemmy.kde.social 1 points 1 year ago

It really depends on your requirements...

But a few useful points:

  1. Use GPT partition table and not MBR. Everything will be simpler, no need for extended/logical partitions.
  2. If you need to be able to do online (mounted) partition resizing, pick btrfs. Ext4 can only grow them online but not shrink.
  3. Make sure your partition boundaries are 1 MiB aligned.
  4. If you need more advanced setups, consider using LVM.
[–] cizra@lemm.ee 1 points 1 year ago

Not saying my practice is the best one, but here's what I do:

  • EFI system partition is mounted on /boot
    • kernel is held here. In case of distros like NixOS etc that keep around old kernels, a small ESP might run out of space. I make mine at least 1GB.
  • the rest of the disk is one luks2 volume
  • inside the encrypted volume, there's a BTRFS volume
  • there's a subvolume for /home
  • and a subvolume for every distro I have (which is usually 1, but sometimes I tinker or switch)
  • Kernel command line parameters specify the btrfs subvol with the right distro to boot.
  • for NixOS, you need a bootloader (to choose the right kernel). Systemd-boot works well, and its configuration is easily readable. I never figured out how to work with GRUB2, its configuration is just too confusing.
  • or if you like Arch, dispense with bootloaders and just use EFISTUB. You can put kernel cmdline params into EFI bootloader options with efibootmgr.

Simple yet complete. Efficient, and extensible - for example, now that everything is a subvolume, I can easily snapshot it, then create backups with rsync off the snapshot, to avoid inconsistent state between backed-up files.