monovergent 🛠️

  • 9 Posts
  • 56 Comments
Joined 2 years ago
cake
Cake day: November 27th, 2023

help-circle


  • Doing anything with partitions safely means having a current backup of your disk.

    What you want to do might be possible if your disk was set up with LVM, but I don’t have too much experience with it. If you have a more traditional partitioning scheme, the problem is that you can’t really shave off the front of the next partition if you want to expand /home to the right, and you can’t tack free space to the front of a partition, if say, you shrink the partition to the left of /home.

    If, for example, you want to expand /home into a partition on the right, you’d have to shrink that partition, back it up, delete the original, expand /home to the desired size, and copy the backed-up partition into its new, smaller place. If that other partition is not mounted, you could do the procedure without a live USB, if you insist.



  • Among the people I know in real life, some post (non-tech stuff) to Reddit, some write reviews on Yelp, and some have called customer support hotlines for tech products. But none have ever posted online to ask for tech help, at least not to my awareness. Neither did I back when I used Windows, and not for a couple years even after switching to Linux.

    I suspect most Ubuntu users are among that common crowd. They might look up an issue on the internet, but expect to ask for help from a dedicated support center. Or can’t be bothered to sign up for an account and post to the places that can answer their questions, which are usually very “techy” and possibly even intimidating to beginners.

    As for my setup, the upgrade from Debian 12 to 13 went very smoothly. I had to fix a few obscure config files, but nobody else really touches them, and it didn’t stop it from booting. Replaced a deprecated package with its Flatpak equivalent as well. Only unsolved issue is the xfce4-panel consuming all of one core on occasion for no apparent reason.




  • I got away with a 380 MB /boot during upgrade, though that assumes you aren’t dual booting another distro that also needs some room. Have you tried deleting old kernel versions?

    But if you want to future-proof, the issue is that shrinking a partition from its “top” is not a supported function. For ease of explanation, suppose we want a 1.5 GB /boot partition:

    1. Shrink nvme0n1p3 by 1.5 GB
    2. Create a new partition and format
    3. dd the old boot partition to the new partition
    4. Resize the new /boot partition to the full 1.5 GB
    5. Delete the old boot partition
    6. For good measure, reinstall GRUB to make sure it is aware of the new partition: https://wiki.debian.org/GrubEFIReinstall

    This assumes your fstab file mounts by UUID (default in recent versions of Debian). If not, update /etc/fstab to match the new partition. It’s been a while since I last did this, so definitely have your backup on hand and perhaps double check with other resources in case I left out any steps.

    More precisely, shrinking relies on the presence of empty blocks. A filesystem usually fills from “top” to “bottom”, so there would be no empty blocks to shave off the top of your nvme0n1p3, you can only shave off at the end. If you really don’t want /boot at the end, you’ll have to shrink nvme0n1p3, back it up, delete nvme0n1p3, expand /boot, re-create nvme0n1p3, and dd the backup back into its place.




  • Up until 95, Windows was mostly a desktop environment for DOS. From 95 to ME, Windows was an OS that used DOS as its bootloader and compatibility layer. Not sure how to put it, but it was simplistic and fundamentally different from Linux.

    The thing with NT-based Windows (including modern editions) is that the underlying system is joined at the hip with the GUI. Whereas Linux with your choice of coreutils is a perfectly capable OS without the GUI, many features of Windows are only accessible through the GUI.

    Given enough time and resources, pretty much anything exclusive to Windows could be ported to Linux and vice versa. A lot of the difference just comes down to history and the ensuing conventions, workflows, and file hierarchies.

    Even if we stripped out all the cruft and spaghetti code from Windows, there would be lots of nasty idiosyncrasies in its design, informed by its OS/2 and VMS (see Dave Cutler) heritage, profit maximization, revolving door of devs and interns, and years of bending over backwards to accommodate legacy programs.


  • Despite the major version jump, the update just works. One hour to download and install and one hour of housekeeping, but that’s on me for messing with configs most people wouldn’t ever touch and finding a replacement for a deprecated package. New features for me to check out at my leisure, all well-tested with no disruption to my established workflow.




  • Not really, unless it was previously used to store unencrypted data.

    If you want to destroy old unencrypted data, the fastest way that uses the fewest P/E cycles is to run Secure Erase with hdparm. Many modern SSDs perform hardware encryption, whether you set a password or not. Secure Erase just wipes the encryption key and installs a fresh one. That’s usually good enough for personal use, but it also depends on how well the manufacturer implemented hardware encryption, if at all.

    If you want the data gone and don’t trust the manufacturer, the Debian installer offers an option to overwrite free space when setting up partitions. Disclaimer that this would not touch the ~7% hardware-reserved spare blocks that may have been cycled in and out of service.

    The following are anecdotal:

    • Some SSDs might understand the idea of wiping with zeros and just throw out writes from dd in conjunction with if=/dev/zero, resulting in an apparent, but insecure wipe
    • I run wipefs -a /dev/yourDrive on fresh or reused drives to eliminate any potential issues with the remnants of an old partition table. This only erases partition tables, not data blocks.
    • A SSD in poor health started throwing errors about bad sectors and stalled the boot process. This was a test rig, so I didn’t really care about data longevity. A full overwrite with dd forced the SSD to retire the bad sectors and gave it a couple more years of useful life.

  • I got into the habit of keeping a ~24 GB VM image that I just clone to fresh systems and have yet to find the motivation to hunt down the config files I’ve created or modified over the years. I’d probably want to rip a couple personal in-jokes and spicy comments out, but that would still be very rare.

    Not that it’s a dotfile, but much of my customization revolves around the UI, so any potential public repo would include themes, from which I’d remove some more identifying wallpapers. But my desktop config is unique enough IMO that I’m mildly afraid to post screenshots of it on accounts I don’t want associated with this one.


  • I installed Ventoy on mine and dropped a few live ISO files: Clonezilla, Linux Mint, and Windows PE

    I’ll sometimes use the Windows PE ISO for tools like CrystalDiskInfo. Have Clonezilla to quickly test out random computers without a GUI and Linux Mint when I want a GUI.

    The rest of the space comes in handy for quick and dirty file transfers between Linux/Mac/Windows/printers. Especially with my work computer never touching my primary home network, an airgapped retro gaming setup, and most of my other drives formatted for use with Linux.


  • Some things designed for Windows just don’t work on Linux, Windows LTSC is a great choice for those situations. Some people have had better experiences, but debloating scripts have always been finicky and fragile for me. LTSC comes out of the box without the usual crap and there’s no risk of it all coming back after an update.

    You can grab a copy of LTSC 2021 and activation if needed, which will come with the Windows 10 UI and updates until 2032.


    • Buy second-hand or discounted old stock from a reseller to minimize your contribution to Google.
    • Unless one of the apps you are forced to use requires Google Play Integrity, GrapheneOS will be compatible with any Android app, even providing sandboxed Google Play services if needed.
    • For apps so invasive as to require Play Integrity, you might be better off leaving them on a secondary phone with stock Android and powered off when not in use.
    • The Pixel 5a is the last Pixel device with a headphone jack, but no longer receives GrapheneOS updates. You may want to consider USB-C headsets, which are usually also compatible with computers, and require no extra dongles.
    • If the Google headphones work over Bluetooth, they will also work with GrapheneOS. No experience with Google headphones, but I only missed out on customizable shortcuts and device renaming when I opted not to install the companion app for my earbuds.
    • Everybody warns against using out-of-date GrapheneOS devices, but that’s not very satisfying. Yes, they will have open vulnerabilities. But as long as you install apps from reputable sources, the chance of being attacked via outdated Android is very low, provided you are not being targeted by an agency.
    • That said, grab a more recent Pixel if you can for security updates into the 2030s.
    • All Pixel devices have enclosed batteries, most are quite frustrating to remove, particularly the 9a. There’s a decent chance of breaking the screen if it has to be removed in the battery replacement process. Won’t recommend it, but I have considered buying one with a bloated battery just so the adhesives are already removed for me.
    • Transferring files to and from any Linux distro works just fine, as with any Android device, bearing quirks of the mtp protocol in mind. LocalSend can be used for wireless file transfer. rsync requires a workaround.
    • I’ve used GrapheneOS for the past 4-ish years. I’ll admit I had a head start since my workflow wasn’t too smartphone-dependent in the first place and I had already begun pulling myself out from Apple and Google services back then. Everything just works and I would never look back.