Posts tagged: linux

All posts with the tag "linux"

127 posts latest post 2026-04-18
Publishing rhythm
Mar 2026 | 1 posts
How to fix ZFS pool not importing at boot You have probably tried Stack Exchange and reddit at this point, so what do you have to lose? ./techtipsy Ā· ounapuu.ee [1] Hacky solution to get zpool import tank to work on boot right away. This has been an issue that has plagued my system for months and no matter what dependencies I add in it never works, but adding a sleep as ExecStartPre did the trick. Note This post is a thought [2]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: https://ounapuu.ee/posts/2021/02/01/how-to-fix-zfs-pool-not-importing-at-boot/ [2]: /thoughts/
Deleting Specific Lines in a File with sed or yq — Nick Janetakis We Nick Janetakis Ā· nickjanetakis.com [1] sed can be a tricky beast, I often stumble when trying to pipe into it. Next time I need to use sed, I should reference this article by Nick Janetakis. He makes it looks much easier than my experience has been, and it appears to behave like a vim :%s/ substitution does, or a g/ g command. Note This post is a thought [2]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: https://nickjanetakis.com/blog/deleting-specific-lines-in-a-file-with-sed-or-yq [2]: /thoughts/
gistfile1.txt [1] text On void linux. Under `/etc/containers/` there is a file called `registries.conf`. It is complemented by `man 5 containers-registries.conf`. Change (for me lines 11-12) which say [registries.search] registries = [] to [registries.search] registries = ['docker.io'] (drawn from https://www.projectatomic.io/blog/2018/05/podman-tls/) --- Without the above you won’t be able to use basic podman functions. You might get errors like: - Error: unable to pull fedora:28: image name provided is a short name and no search registries are defined in the registries config file. - Error: unable to pull stripe/stripe-cli: image name provided is a short name and no search registries are defined in the registries config file. --- Various documentation (redhat blog entries, man podman pages) say that dockerhub is a default, but without this step it’s clearly not. Good luck. Feel free to use the comment box below if you have a github account. By default podman will not pull images from docker.io and will need setup. This guide worked for me. Note This post is a thought [2]. It’s a short note that I make about someone else’s content online #thoughts References:...
šŸ› ļø Installation | LazyVim You can find a starter template for LazyVim here lazyvim.org [1] Lately in 2023 I have been leaning on lazyvim for my new setups where I am not necessarily ready to drop my full config. It’s been pretty solid, and comes with a very nice setup out of the box, the docs are pretty fantastic as well. Note This post is a thought [2]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: https://www.lazyvim.org/installation [2]: /thoughts/
AUR [1].">paru is an aur helper that allows you to use a package manager to install packages from the aur. What’s the Aur # [2] The Aur is a set of community managed packages that can be installed on arch based distros. Why a helper? # [3] paru just makes it easy, no clone and run makepkg. You can do everything paru can do using the built in pacman installer. Manual Install from the Aur # [4] You will need to manually instal pacman from the aur in order to get started. sudo pacman -S --needed base-devel git clone https://aur.archlinux.org/paru.git cd paru makepkg -si Installing packages with paru # [5] Once setup you are ready to install packages from the AUR just like the core repos. # you can update your system using paru paru -Syu # you can install packages from the AUR paru -S tailscale paru -S prismlauncher # even core repo packages can be installed paru -S docker Paru in Docker # [6] Here is a snippet from my devtainer dockerfile [7]. Where I use paru to install packages from the AUR inside of a dockerfile. FROM archlinux RUN echo '[multilib]' >> /etc/pacman.conf && \ echo 'Include = /etc/pacman.d/mirrorlist' >> /etc/pacman.conf && \ pacman --noconfirm -Sy...

useful btrfs tools

disk usage # [1] Looking at disk usage on any of these must be done using a tool built for it if you want an accurate measurement. General purpose tools like du will be inaccurate as they do not count things like duplicate copies in snapshots. āÆ sudo btrfs fi usage -T / [sudo] password for waylon: Overall: Device size: 465.26GiB Device allocated: 251.06GiB Device unallocated: 214.20GiB Device missing: 0.00B Device slack: 0.00B Used: 234.44GiB Free (estimated): 227.37GiB (min: 120.27GiB) Free (statfs, df): 227.37GiB Data ratio: 1.00 Metadata ratio: 2.00 Global reserve: 478.88MiB (used: 0.00B) Multiple profiles: no Data Metadata System Id Path single DUP DUP Unallocated Total Slack -- -------------- --------- -------- -------- ----------- --------- ----- 1 /dev/nvme1n1p2 239.00GiB 12.00GiB 64.00MiB 214.20GiB 465.26GiB - -- -------------- --------- -------- -------- ----------- --------- ----- Total 239.00GiB 6.00GiB 32.00MiB 214.20GiB 465.26GiB 0.00B Used 225.82GiB ...
1 min read
Fix Arch Linux randomly rejecting passwords with one command. Try ā€˜faillock –user $USER’ to reset login counter and regain access. Quick solution for a smooth computing" [1] If you’re an Arch Linux user, you may have experienced a frustrating issue where your password is randomly not being accepted by the system. This can be a major inconvenience and can cause a lot of frustration, especially if it happens frequently. The good news is that there is a simple fix for this issue. The following bash code can be used to fix the problem: bash faillock --user $USER This command is used to reset the failed login count for the current user. By running this command, you will be able to reset the system’s login counter and regain access to your account. It’s important to note that this command should only be used as a temporary solution. If you find yourself frequently having to run this command, it’s likely that there is a deeper issue with your system that needs to be addressed. In any case, if you’re experiencing problems with your Arch Linux system not accepting your password, give the above command a try and see if it resolves the issue for you. References: [1]: https://stabl...
I recently setup some vm’s on my main machine and got sick of signing in with passwords. ssh-keygen ssh-copy-id -i ~/.ssh/id_rsa.pub virt
I just shared some ssh keys with myself and ran into this error telling me that I did not set the correct permissions on my key. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0750 for '/home/waylon/.ssh/id_*******' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored. Load key "/home/waylon/.ssh/id_*******": bad Permissions repo: Permission denied (publickey,gssapi-keyex,gssapi-with-mic). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. I changed them with the following commands. chmod 644 ~/.ssh/id_*******.pub chmod 600 ~/.ssh/id_*******
For far too long I have had to fidget with v4l2oloopback after reboot. I’ve had this happen on ubuntu 18.04, 22.04, and arch. After a reboot the start virtual camera button won’t work, It appears and is clickable, but never turns on. Until I run this command. sudo modprobe v4l2loopback video_nr=10 card_label="OBS Video Source" exclusive_caps=1 [1] Today I learned that you can turn on kernel modules through some files in /etc/modules... This is what I did to my arch system to get it to work right after boot. echo "v4l2loopback" | sudo tee /etc/modules-load.d/v4l2loopback.conf echo "options v4l2loopback video_nr=10 card_label=\"OBS Video Source\" exclusive_caps=1" | sudo tee /etc/modprobe.d/v4l2loopback.conf References: [1]: https://stable-diffusion.waylonwalker.com/000378.373882614.webp

Setting up snapper on Arch

https://www.youtube.com/watch?v=_97JOyC1o2o snapper snap-pac grub-btrfs Note # [1] These are mostly my notes to remind myself, I’d Highly reccomend watching this-video [2] or reading this arch wiki page [3] /.snapshots already exists error # [4] When I started running sudo snapper -c root create-config / I ran into the following error. [5] Creating config failed (creating btrfs subvolume .snapshots failed since it already exists). remove existing snapshots # [6] sudo umount /.snapshots sudo rm -r /.snapshots configure snapper # [7] sudo snapper -c root create-config / sudo snapper -c home create-config /home btrfs subvolumes # [8] sudo btrfs subvolume list / [9] sudo btrfs subvolume delete /.snapshots sudo mkdir /.snapshots # [10] # you might not see snapshots mounted yet lsblk # if you check fstab you will see an entry for it cat /etc/fstab # mount it sudo mount -a # now you should see /.snapshots mounted lsblk You should now see .snapshots in mountpoints. [11...
1 min read

The one reason I switched to arch

The community, that’s it, end of post, roll the credits. I’m a tinkerer # [1] I am a tinkerer, I am not going to run a stock desktop manager, mostly becuase that’s just not how my brain works. I need to tweak everything to fit my needs. Grantid I have not spent much time in many full fledged linux desktop environments. They are far more customizable than windows ever will be, I absolutely love that about them. Inevitibly I end up in a situation where I hit a wall, it just won’t do what I want it to do, or my lack of understanding what came wtih it holds me back. minimal # [2] I love minimal installs. I love just building up my system from the bottom up with things that I like, I understand, and that I can script. I’m a noob # [3] I spend a lot of my time in the terminal. I’d like to think I know how to use a linux command line for software development really well, but there are a lot of things that I still dont know all that well, mostly because I don’t need to. The AUR # [5]...
https://gist.github.com/YoEight/d19112db56cd8f93835bf2d009d617f7
[1] xrandr is a great cli to manage your windows in a linux distro using x11, which is most of them. The issue is that I can never remember all the flags to the command, and if you are using it with something like a laptop using a dock the names of all the displays tend to change every time you redock. This makes it really hard to make scripts that work right every time. Homepage # [2] Check out the deresmos/xrandr-manager [3] for more details on it. installation # [4] xrander-manager is a python cli application that is simply a nice interface into xrandr. So you must have xrandr already installed, which is generally just there on any x11 window manager, I’ve never had to install it. As with any python cli that is indended to be used as a global/system level cli application I always install them with pipx. This automates the process of creating a virtual environment [5] for xrandr-manager for me, and does not clutter up my system packages with its dependencies that may eventually clash with another that I want to use. # prereqs (xrandr, pipx) pipx install xrandr-manager set main monitor # [6] First if your main display is not set to the correct monitor set your main dis...
I really like the super clean look of no status menus, no url bar, no bookmarks bar, nothing. Don’t get me wrong these things are useful, but honestly they take up screen real estate and I RARELY look at them. What I really want is a toggle hotkey. I found this one from one of DT’s youtube video’s. I can now tap xx and both the status bar at the botton and the address bar at the top disappear. # ~/.config/qutebrowser/config.py config.bind("xb", "config-cycle statusbar.show always never") config.bind("xt", "config-cycle tabs.show always never") config.bind( "xx", "config-cycle statusbar.show always never;; config-cycle tabs.show always never", )
I recently was unable to boot into my home Linux Desktop, it got stuck at diskcheck fsck. I found that I was able to get in to a tty through a hotkey. https://twitter.com/_WaylonWalker/status/1512281106120384519 What’s a TTY? # [1] There’s probably more to it, but to me its a full screen terminal with zero gui, not even your gui fonts. It does log into your default shell so if you have a comfy command line setup it will be here for you even though it looks much different without fonts and full colorspace. Normal setup # [2] Normally you have 6 TTY’s running, the first is dedicated to your desktop manager, which is your login screen it might be something like gdm or lightdm. - ctrl+alt+F1: login screen - ctrl+alt+F2: Desktop - ctrl+alt+F3: TTY 3 - ctrl+alt+F4: TTY 4 - ctrl+alt+F5: TTY 5 - ctrl+alt+F6: TTY 6 In my case the desktop manager neverstarted, so ctrl+alt+F1 brought me into a tty. What happened?? # [3] Well after getting back in and having some time to reflect, I think my Desktop manager was installed or just broken, possibly during a update I ran a few days prior. I tried a bunch of things like switching to lightdm, and manually running startx. Getting ba...
Dunk [1] is a beautiful git [2] diff tool built on top of rich [3]. Browsing through twitter the other day I discovered it through this tweet by _darrenburns [4]. https://twitter.com/_darrenburns/status/1510350016623394817 Dunk is beta # [5] Before I dive in deep, I do want to mention that Dunk is super new and beta at this point. I am making it my default pager, because I know what I am doing and can quickly shift back if I need to, no sweat. If you are a little less comfortable with the command line, terminal, or reading any issues that might come up, it might be best if you just pipe into Dunk when you want to use it. The author really cautions the use of it as your default pager this early, I’m just showing that it’s possible, and I’m trying it. He notes that it might have some issues especially with partially staged files. try it # [6] You can try it with pipx. git diff | pipx run dunk install it # [7] If you like it, you can install it with pip or pipx, I prefer pipx for cli applications like this. pipx install dunk set it as your default pager # [8] You can configure dunk as your default pager with the command line, or by editing your .gitconfig file. git con...
This morning I was trying to install a modpack on my minecraft server after getting a zip file, and its quite painful when I unzip everything in the current directory rather than the directory it belongs in. I had the files on a Windows Machine # [1] So I’ve been struggling to get mods installed on linux lately and the easiest way to download the entire pack rather than each mod one by one seems to be to use the overwolf application on windows. Once I have the modpack I can start myself a small mod-server by zipping it, putting it in a mod-server directory and running a python http.server python -m http.server Downoading on the server # [2] Then I go back to my server and download the modpack with wget. wget 10.0.0.171:8000/One%2BBlock%2BServer%2BPack-1.4.zip Unzip to the minecraft-data directory # [3] Now I can unzip my mods into the minecraft-data directory. unzip One+Block+Server+Pack-1.4.zip -d minecraft-data Running the server with docker # [4] I run the minecraft server with docker, which is setup to mount the minecraft-data directory. Running a Minecraft Server in Docker [5] A bit more on that in the other post, but when I download the whole modpack like this I ...
If you ever end up on a linux machine that just does not have enough ram to suffice what you are doing and you just need to get the job done you can give it some more swap. You can look up reccomendations for how much swap you should have this is more about just trying to get your job done when you are almost there, but running out of memory on the hardware you have. make the /swap file # [1] You can put this where you wish, for this example I am going to pop it into /swap sudo fallocate -l 4G /swap sudo chmod 600 /swap sudo mkswap /swap sudo swapon /swap make sure that your swap is on # [2] You can make sure that your swap is working by using the free command, I like using the -h flag to get human readable numbers. āÆ free -h total used free shared buff/cache available Mem: 15Gi 5.5Gi 4.9Gi 458Mi 5.2Gi 9.3Gi Swap: 4.0Gi 0B 4.0Gi Reclaim memory usage in Jupyter [3] I also used this trick in this article to give my python process a bit more oompf and get it on home. References: [1]: #make-the-swap-file [2]: #make-sure-that-your-swap-is-on [3]: /reset-ipython/
yq is a command line utility for parsing and querying yaml, like jq does for json. This is for me # [1] I love that all of these modern tools built in go and rust, just give you a zipped up executable right from GitHub releases, but it’s not necessarily straight forward how to install them. yq does one of the best jobs I have seen, giving you instructions on how to get a specific version and install it. I use a bunch of these tools, and for what its worth I trust the devs behind them to make sure they don’t break. This so far has worked out well for me, but if it ever doesn’t I can always pick an older version. Just give me the latest # [2] Since I am all trusting of them I just want the latest version. I do not want to update a shell script with new versions, or even care about what then next version is, I just want it. Luckily you can script the release page for the latest version on all that I have came accross. What is the latest # [3] I wrote or stole, I think I wrote it, this line of bash quite awhile ago, and it has served me well for finding the latest release for any GitHub project using releases. Just update it with the name of the tool, org, and repo and it wor...