• 1 Post
  • 14 Comments
Joined 11 months ago
cake
Cake day: August 10th, 2023

help-circle
  • Yeah, I read that manual but it didn’t answer my question.

    The big problem is that the arch wiki describes a setup with nested subvolumes first (in a subvolume below @ or whatever your root subvolume is), but then suggests in a tip to use a subvolume directly below the top level subvolume. The limitations mentioned in that manual don’t seem to apply to either setup, as they would prevent swap from working, which is not the case. I have tested both setups and they work fine — or so it seems. I’m worried there is some hidden gotcha I’m missing.

    in addition to that, some of those limitations simply don’t apply to my setup, as I only have a single device.




  • The python3 package should contain the entire python standard library

    You are free to use a distro which does not split packages, favorite distro, Arch Linux (btw).

    Or, you can install the recommended dependencies of python3. Testing in a container, the python3 package pulls:

    root@a72bd55a3c1a:/# apt install python3
    Reading package lists... Done
    Building dependency tree... Done
    Reading state information... Done
    The following additional packages will be installed:
      ca-certificates krb5-locales libexpat1 libgpm2 libgssapi-krb5-2 libk5crypto3
      libkeyutils1 libkrb5-3 libkrb5support0 libncursesw6 libnsl2
      libpython3-stdlib libpython3.11-minimal libpython3.11-stdlib libreadline8
      libsqlite3-0 libssl3 libtirpc-common libtirpc3 media-types openssl
      python3-minimal python3.11 python3.11-minimal readline-common
    Suggested packages:
      gpm krb5-doc krb5-user python3-doc python3-tk python3-venv python3.11-venv
      python3.11-doc binutils binfmt-support readline-doc
    The following NEW packages will be installed:
      ca-certificates krb5-locales libexpat1 libgpm2 libgssapi-krb5-2 libk5crypto3
      libkeyutils1 libkrb5-3 libkrb5support0 libncursesw6 libnsl2
      libpython3-stdlib libpython3.11-minimal libpython3.11-stdlib libreadline8
      libsqlite3-0 libssl3 libtirpc-common libtirpc3 media-types openssl python3
      python3-minimal python3.11 python3.11-minimal readline-common
    0 upgraded, 26 newly installed, 0 to remove and 18 not upgraded.
    

    python3-venv python3.11-venv

    I find it odd, because debian does this by default, actually. They account for usecases like yours, and instead you have to edit a config file or use a command line flag to get it to not install recommended dependencies.




  • https://forgejo.org/compare-to-gitea/

    I dunno, some of these are a pretty big deal, in particular:

    Gitea repeatedly makes choices that leave Gitea admins exposed to known vulnerabilities during extended periods of time. For instance Gitea spent resources to undergo a SOC2 security audit for its SaaS offering while critical vulnerabilities demanded a new release. Advance notice of security releases is for customers only.

    Gitea is developed on github, whereas forgejo is developed on and by codeberg, who use it as their main forge (also mentioned on that page). Someone dogfooding gives me more confidence in the software.


  • The comparison isn’t quite right because you can use git with any provider (Github, gitlab, etc), including multiple at once.

    On the other hand, snap is hardcoded to only be able to use one store at a time, the snap store. To modify this behaviour, you would have to make changes to the snap client source code.

    It’s a crucial difference.







  • Okay. A little context is needed.

    Qemu is just the emulator used. For the most part, it cannot handle networking.

    Libvirt, is a system daemon, that handles running qemu and whatnot, and also configuring networking. Virt-manager, interacts with this libvirt daemon.

    Now, by default, libvirt creates a bridge for all virtual machines to use, to create a simple one-to-many NAT.

    The above is looking at the bridge on my laptop*. However, each virtual network has to be started.

    Then, when you create a virtual machine, it should automatically select the bridge interface, and no further configuration should be required…

    However, that’s just NAT. But configuring the other virtual networking types should also be doable from the virt-manager as well, and I find it kinda weird that you are going to NetworkManager for this. The default is NAT, but

    By “multiple local ips”, do you mean something like how virtual machines share a physical device (possibly with the host?), and get their own ip address on the same network as the host?

    Macvtap is probably the easier way to do that, just select macvtap and the physical device you want to attatch your virtual machine to, however, there are caveats with host-guest network communication.

    Bridged is more complex, especially when you only have one physical ethernet port. Converting an ethernet interface to a bridge usually also prevents it from being used as a normal ethernet port.

    The easier, more reliable, tested method requires two ethernet interfaces, both plugged in and connect.

    Create a bridge in Networkmanager, and select the non-host interface, as a bridge:

    There is a less reliable way if you only have one ethernet interface: if you have only one port, you can convert it to a usable network interface. Although you can do this by hand in NetworkManage (or whatever network management service you are using), there is a much easier way:

    1. Install Cockpit
    2. Go to the networking section
    3. Create a bridge, and add your main ethernet interface as a port.

    After that, cockpit will automatically configure bridge to be a usable internet interface as well, and then you can select that bridge as your bridge in virt-manager…

    Except I had some issues with nested bridging on kernels older than 6.0, so obviously setup adds extra complexity.

    Anyway, I highly recommend you access cockpit remotely, rather than over RDP, if you are going to do this, so that cockpit can properly test the network connection (it automatically reverts changes within a time period if they break connectivity).

    I also recommend reading: https://jamielinux.com/docs/libvirt-networking-handbook/ for an understanding of libvirt networking, and which

    *okay, maybe inline images are kinda nice. I thought they were annoying at first but they obviously have utility.