Hey everyone, I'm new to Artix and have been *somewhat* successfully installing it on several systems. The number one issue that I'm running into, on every system, is that system accounts aren't created for the programs that require them during installation - this has happened for avahi, lightdm (if I recall correctly), colord, mlocate, and gdm, and I suspect it happens for many other packages. Having to diagnose problems for many of the packages I'm installing is excruciating; I can't believe this has gone unnoticed by the entire community for so long, it has to be an issue with something that I'm doing.
I think the number one thing that could be screwing me up is missing something in the install process (though it would make no sense to affect account creation, it's the only thing that I've actually done to the system). To be frank, I don't like using the installers packaged by Artix; I prefer installing an Arch system using the Arch ISO and following the Artix migration guide (https://wiki.artixlinux.org/Main/Migration) to keep the system as minimal as possible (a virtue that isn't followed very well by Artix, which seems ironic that they'd add more stuff when they were trying to remove systemd bloat, but I digress). I don't strictly follow the migration guide either - here's what I skip out on, for complete context/reproducability:
- "Download the Artix packages" / "Install OpenRC" - I omit runit-system and runit-world from this (which would replace openrc-system and openrc-world in the provided command) because I don't need 90% of those scripts.
- "Install init scripts" / "Enable services" - Once again, I opt out.
- "Configure networking" - Not applicable to me because I have runit; I use dhcpcd for desktop wired devices or NetworkManager for mobile/wireless ones (and their init scripts). Typically manual dhcpcd works just fine during installation/setup process.
- "Tweak /etc/rc/rc.conf" - Once again, not applicable to runit.
- "Prepare a desktop environment" - Omitted because I don't generally do that until later; I'm completely comfortable setting up a system on the terminal.
At this point I reboot and begin installing more things. The system boots fine; I don't need to install or enable any special init scripts except the ones packaged with runit (elogind and dbus if I recall correctly) and agetty to access the terminal. However, when I begin installing other programs, I run into the issue I described above. This leads to two questions:
1. Is this what Artix is supposed to do?
2. If not, what is going wrong?
I hope someone else can help me find the answers. Thanks so much for your time.
~tokumei
I don't understand why you are keeping runit but also installing openrc, or is it a typo?
Then you say you do not install X or a dm, just minimal console system, but then complain about lightdm user not added to groups.
Did you use the latest runit iso for the installation? With basestrap you can install your minimal (prescribed as minimal) artix, openrc or runit.
Why do you want to run dhcpd manually? Are there situations where you boot up and want no networking? Is it an exercise in extreme minimalism or running a specific server out of it?
I've never noticed what you say about system users, I know when I install sddm an sddm user and group are created.
Apologies for the misunderstandings.
I do not also install openrc. As I have said, I was following the migration guide, as I have linked, which has instructions only specifically for OpenRC. I would be *replacing* those commands with appropriate runit ones.
I did not say that I never *ever* install a dm, I just say that I defer that process - I am noting that the guide wants me to do it *now*, and I do it *later*. After first reboot, I did eventually install lightdm, and it had issues with the lightdm user missing. I also tried gdm with similar (but more vague) errors that I believe were caused by the lack of a gdm user.
No. I'll be honest and say I haven't tried every installer ISO, but they generally don't work on cloud servers, which was one of the ones I was having trouble with. I'm most familiar with Arch installation -> Artix migration strategy because Linode has Arch Linux base images available. I may give the official installers another try to see if the problem disappears, then maybe compare packages with a base install from my own strategy to see what's different.
I don't know what to say, honestly, it may be better to install and use NetworkManager right out of the box. I just don't feel like I need to run a full-featured network manager if I don't need to manage anything more than a single ethernet port. Part of it may be minimalism, like you suggest, as I am here to get rid of unnecessary extra software packages ;)
And a small update - Pacman does *eventually* properly handle user creation - I've been installing software to my fresh Artix workstation today, and somewhere along the line, it began working. So I definitely think there's something that I'm missing from my installation process, but I'm not sure what it is.
Aahh Ok, now I understand what I misunderstood. If you make the image locally and upload it to cloud, would it work? I have no cloud experience. I don't use networkmanager either, ever since I figured out how runit works dhcp is sufficient.
I think it is worth your time to try the iso. Something doesn't sound right with what you say about users/groups. I use to have the reverse problem of using simple -R and having users and groups left around as ghosts. Just actually looked and found lxdm (user/group) and it must be more than 6 months I tried lxdm.
The procedure for migration is old, so be careful. Did you install artix-sysvcompat?
Unrelated to artix: Have you tried alpine for what you want to do?
Its likely, our wiki entry is a bit outdated.
basestrap -cGM base openrc
or
basestrap -cGM base runit
will install a base cli system.
Speaking of "a bit oudated" I know that this post is most likely the wrong place for my question, but ... In my opinion, the last ISOs are not so up-to-date any more. Can we expect updated lxqt ISOs in the near future? I love Artix but reinstalling is getting harder and harder for me. It may be because I'm not an expert, but it would be nice to get up-to-date IOSs.
It's just a polite question :-[
Even if the ISOs are outdated, bringing the system to bleeding edge is just a 'pacman -Syu' away, once you've set it up. Reading your message I got the impression you reinstall every now and then, which is a waste of time in rolling release distros like Artix.
I do not install my system every now and then but it is about testing to install a virtual machine, for for example, to try a different Desktop.
I only notice that I have to manually adjust both the mirrorlist and the pacman.conf, because the mirros and the repos are outdated. The keys are no longer up-to-date and must also be updated manually.
I asked the cautious question because I hoped that the manual work would be eliminated with new ISOs.
Apart from that, I still receive the following error message during many installation attempts:
Installation Failed Boost.Python error in job 'machineid'.
<class 'subprocess.CalledProcessError'>
Command 'dbus-uuidgen --ensure' returned non-zero exit status 127
File "/usr/lib/calamares/modules/machineid/main.py:. line 64, in run check_target_env_call(["dbus-uuidgen", --ensure"])
File "<strings>", line 2, in <module>
Here I had the hope that this is over with new ISOs.
Last but not least, I'm a little scared that I will get installation problems if my system crashes beyond repair.
It was as I said only a careful request.
The base iso (the one with runit) should have correct mirrors and everything out of the box. The lxqt is old, but you could indeed (as you said) manually fix the mirrors, keys, etc. if you so desired. I would recommend just using the base iso for installation purposes though.
Patience is key.
There hasn't simply been time yet to do a new lxqt iso. We have had a move to our self hosted git this weekend, lot of stuff had to be done, and still needs tuning. Normal packaging restarted last night after the Friday freeze.
As it is with open source projects, we all have another life with families, jobs, or simply free time not on the computer, time is never enough.
Please do not get me wrong, the least of what I wanted is jostling.
It was just a curious question and ... patience is my middle name 8)
I had already tried to install the base iso, but my Linux knowledge just too bad.
So I'm just going to keep my patience because Artix Linux is worth it.
Thanks to all!
Machine id generation is in the wiki "Troubleshooting". you might like to add your user to the wheel group so sudo works.
Also add a local.conf to etc to make the languages work. Be careful if you use efi as the guides don't always include commands for this only bios.
I have spent several nights trying to successfully complete a fresh Artix installation, no chance.
Although patience is the key, I do not want a system that is so complicated for me to install.
I learned painfully that my level of knowledge is not sufficient for a distri like Artix. But I understood it!
I wish all users a lot of fun and above all success with Artix.
Goodbye ...
It's sad to see you go. Take care.
The paradox is that I still consider Artix to be the best systemd free distribution and I do not really want to use any other.
Now that I've slept on it for 2 days, I've come to the conclusion that I don't want to give up so quickly.
So you will have to keep fighting with me :P
The Artix base install isn't really that different from installing Arch. The main thing is really just remembering that it's basestrap and not pacstrap and then setting up/enabling your services with runit or openrc instead of systemd.
Wow, it's been a while since I checked this thread. I have some additional information which may be of use.
I have two different Artix installations. One is a desktop which I've been using for a while with plenty of packages (including some graphical/desktop environment); the other is a VPS which I haven't touched much since I first posted about my problem. On the desktop, packages requiring system accounts are installed properly, but the server still doesn't work.
I've figured out that the problem is somehow related to Pacman's post-transaction hooks. If I run one of the offending installations on the desktop, I get the line "Updating system users and groups" indicating that the hook ran, but the server doesn't have that same line in the install output. Maybe there's some missing dependency that Pacman requires for that hook?
Please, do a diff of the two installations: /etc/pacman.conf, /etc/pacman.d/mirrorlist. If they are the same, give us an example of a package skipping the post-installation hooks.
The "opensysusers" package is my guess, given that message to search:
$ cd /
$ sudo ag -u "system users and groups"
(some time later after a load of sys and proc nonexistent file errors, there's probably an ag arg to skip those dirs...)
usr/share/libalpm/hooks/opensysusers.hook
10:Description = Updating system users and groups
usr/bin/sysusers
12: printf "sysusers creates system users and groups, based on the file\n"
$ pacman -Qo /usr/share/libalpm/hooks/opensysusers.hook
/usr/share/libalpm/hooks/opensysusers.hook is owned by opensysusers 0.4.8-1
$ pacman -Qo /usr/bin/sysusers
/usr/bin/sysusers is owned by opensysusers 0.4.8-1