Hi, I am searching a new Linux distribution for two years now. My short list is Sabotage, Void and Crux. I also taught about Badrock and some docker based ones, but I don't think Badrock has enough power, and docker isn't simple (I always fight with it). I've also tried Alpine, sta.li, plan9. I'm using Debian (15 years), ArchLinux (2) and Ubuntu (occasionally). I've seen Fedora and Slack a long time ago. There are very few simple Linux distributions. And by simple I mean how fast can I fix something in case of a problem: (a) app not working as I want, (b) app is missing. The frequency of the last one decreases with time, the first one increases. Every time I do a recheck of my list I pick Crux first, then I see some disadvantages, I search for alternatives, I find better ones, check deeper, find disadvantages, review the list, see Crux again, and I start the loop again. The best thing about Crux is the simplicity. And I cannot emphasis this strongly enough. The main disadvantage is the upgrade. What do you do when you update an app that needs an updated library, which triggers a rebuild of other apps? This could take a couple of days: build times, build failures, big number of apps rebuilds... Do you rebuild all and install only if all succeeded? What if you find a problem during install? Do you use chroot/vm first? Do you build some apps statically linked? What if you find a problem after the upgrade? How do you rollback with all those dependencies? What do you do when you make some changes to a port (disable-x) but you want to survive official upgrades? Isn't maintaining another ports location just for the local machine too much? How do you go back in time? Do you upgrade the the official ports from git for that? I am thinking to pick a distro that doesn't stay in my way, with the minimal list of apps installed that can be updated easily and use an external package manager for those apps that may need rollback during upgrades. I've tried pkgsrc (doesn't have a good dependencies list; failed with the first package - notmuch - because bc was missing), linuxbrew (good, but crippled by the cli-only apps policy) and nixpkg (might be perfect because of its pure nature of its packages - doesn't depend on outside apps beside compiler and shell). How do you do to avoid/solve these problems?
On 16Dec03:0941+0000, B B wrote:
How do you do to avoid/solve these problems?
You make the hard choices--this is a case of wanting to have your cake and eat it, too. If simple updates/rollbacks are your prime consideration, you'll like a flavor of Mint but swallow its dependence on systemd. There is source, they just make it hard to work with. But they make it easy for everyone to just USE Linux for whatever they're trying to do with their computers; i.e., why they're using the computers in the first place. -- <not cent from sell> May the LORD God bless you exceedingly abundantly! Dave_Craig______________________________________________ "So the universe is not quite as you thought it was. You'd better rearrange your beliefs, then. Because you certainly can't rearrange the universe." __--from_Nightfall_by_Asimov/Silverberg_________________
On Sat, Dec 3, 2016, 14:06 David L. Craig <dlc.usa@gmail.com> wrote:
If simple updates/rollbacks are your prime consideration, you'll like a flavor of Mint but swallow its dependence on systemd.
I guess I'll need rollbacks with any source based distro because the builds might fail or crash after install. Right? I would like to have rollback support even with a binary based distro. I've regreted every upgrade of libreoffice for example. Most new versions make programs behave different, and in many cases this means worst. The rollback is a tool to workaround these problems. Another one is docker/containers/kvm. I don't care which one I use as long as it doesn't come with a bigger problem. Also, I would like to avoid upgrades. When I can choose from two apps I consider the CVE history and the dependencies list. systemd is too much. I've like it until I've start fighting with it. But they make it easy for
everyone to just USE Linux
I will try Mint on one of my machines because I'm curious. Now it has Ubuntu 16.10. I've tried to start one of my script which starts some program in the background. I couldn't from nautilus (or whatever). I had to launch it from Terminal. And when I've closed the Terminal my program was killed too. Not funny. Thanks.
On 16Dec03:1349+0000, B B wrote:
I guess I'll need rollbacks with any source based distro because the builds might fail or crash after install. Right?
CRUX rollbacks are trivial--pkgrm the new and pkgadd the old, it's just a matter of deleting new files and tar x | cp -p the previous version.
Most new versions make programs behave different, and in many cases this means worst. The rollback is a tool to workaround these problems. Another one is docker/containers/kvm. I don't care which one I use as long as it doesn't come with a bigger problem.
Most new versions add security patches. Most of us think that's very important. If you avoid the bleeding edge, and do not track and install security fixes for your installed packages, you are asking for serious trouble.
Also, I would like to avoid upgrades. When I can choose from two apps I consider the CVE history and the dependencies list.
The Debian Unstable (Sid) distro is a rolling distro, but it breaks occassionally. Upgrade distros are generally much more tested than their rolling counterparts.
I will try Mint on one of my machines because I'm curious. Now it has Ubuntu 16.10. I've tried to start one of my script which starts some program in the background. I couldn't from nautilus (or whatever). I had to launch it from Terminal. And when I've closed the Terminal my program was killed too. Not funny.
It's safer to shut down X and do system maintenance from a virtual console (or a remote shell if you're sure the network will not become the notwork). -- <not cent from sell> May the LORD God bless you exceedingly abundantly! Dave_Craig______________________________________________ "So the universe is not quite as you thought it was. You'd better rearrange your beliefs, then. Because you certainly can't rearrange the universe." __--from_Nightfall_by_Asimov/Silverberg_________________
On 16Dec03:1418+0000, David L. Craig wrote:
CRUX rollbacks are trivial--pkgrm the new and pkgadd the old, it's just a matter of deleting new files and tar x | cp -p the previous version.
Oh, and invoke rejmerge to recover any configuration changes. -- <not cent from sell> May the LORD God bless you exceedingly abundantly! Dave_Craig______________________________________________ "So the universe is not quite as you thought it was. You'd better rearrange your beliefs, then. Because you certainly can't rearrange the universe." __--from_Nightfall_by_Asimov/Silverberg_________________
On Sat, Dec 3, 2016, 16:18 David L. Craig <dlc.usa@gmail.com> wrote:
On 16Dec03:1349+0000, B B wrote:
Most new versions make programs behave different, and in many cases this means worst.
Most new versions add security patches. Most of us think that's very important. If you avoid the bleeding edge...
LOL. Don't get me wrong. I find security patches important too. I'll religiously update some programs, but mostly I will not, and I remove them when I can. On Ubuntu I've found rpcbind listening on my network card. I couldn't remove it because it was "required". I stopped/disabled the service instead, but that will not free me from rpcbind updates. Another example is this: I prefer to install and update qmail instead of postfix. The Debian Unstable (Sid) distro is a rolling distro, but it
breaks occassionally.
In the last 15 years I've tried all kind of combinations between Debian branches. The bureaucracy and the fact that Debian Technical Commettee considered two init systems (upstart and systemd) that doesn't always boot (read http://marc.merlins.org/linux/talks/ProdNG-LCA2014/ProdNG.pdf) and picked one of that as default, destroyed any trust I had in them to follow quality and stability. Upgrade distros are generally much more
tested than their rolling counterparts.
What kind of distro do you consider Crux is?
On 16Dec03:1616+0000, B B wrote:
On Sat, Dec 3, 2016, 16:18 David L. Craig <dlc.usa@gmail.com> wrote:
Upgrade distros are generally much more tested than their rolling counterparts.
What kind of distro do you consider Crux is?
Upgrade. Each release of CRUX, accompanied by a new installation ISO, provides a new build toolchain, and can be update-installed on existing systems. The kernel on the ISO is primarily for new installations, as CRUX expects all sites to upgrade the kernel completely separate from CRUX proper--the kernel files are not even tracked by the package maintenance infrastructure. -- <not cent from sell> May the LORD God bless you exceedingly abundantly! Dave_Craig______________________________________________ "So the universe is not quite as you thought it was. You'd better rearrange your beliefs, then. Because you certainly can't rearrange the universe." __--from_Nightfall_by_Asimov/Silverberg_________________
On Sun, Dec 4, 2016, 05:25 David L. Craig <dlc.usa@gmail.com> wrote:
On 16Dec03:1616+0000, B B wrote:
What kind of distro do you consider Crux is?
Upgrade. Each release of CRUX, accompanied by a new installation ISO, provides a new build toolchain, and can be update-installed on existing systems.
So, by upgrading regularly, any problem will be on my own? No surprises on official packages not matching between each other? Is there an easy way to install packages in another directory, like Kwort has? I see that Crux based distros are not mentioned on wiki. Do you know more than those mentioned on distrowatch? - Kwort, Thinstation and Nutyx
On 16Dec04:0713+0000, B B wrote:
So, by upgrading regularly, any problem will be on my own? No surprises on official packages not matching between each other?
Is there an easy way to install packages in another directory, like Kwort has?
I see that Crux based distros are not mentioned on wiki. Do you know more than those mentioned on distrowatch? - Kwort, Thinstation and Nutyx
These are questions I'm not sufficiently experienced to answer, so perhaps others will chime in. While I am unfamiliar with Kwort, I can say the CRUX approach to applying the FOSS package recipe (usually:` download upstream tarball, expand in workdir, configure, make, make install) is encapsulated in the pkgmk utility that always installs everything using a branch of the workdir as the target rootdir for the install (often done using fakeroot), then creates a "package file", another tarball that features that rootdir branch. The pkgadd utility is then run on the target CRUX system by the root user to (conceptually--it's a bit more complicated) expand the package file into a tempdir and cp -a the rootdir branch into / (and maintaining a list of all pkgmk-installed files on that system called /var/lib/pkg/db). The pkgrm utility undoes what pkgadd did for a particular package save any files that preexisted the pkgadd are not recovered. The rejmerge utility assists in merging package file components that experience conflicts during pkgadd, such as customized config files. On a CRUX system, it is considered at best bad form to be root for the make install phase of the standard recipe. The proper approach is to "port" the package into a CRUX "port" yourself and then using pkgmk/add on your creation to invoke the standard recipe. -- <not cent from sell> May the LORD God bless you exceedingly abundantly! Dave_Craig______________________________________________ "So the universe is not quite as you thought it was. You'd better rearrange your beliefs, then. Because you certainly can't rearrange the universe." __--from_Nightfall_by_Asimov/Silverberg_________________
B B wrote:
What kind of distro do you consider Crux is?
Upgrade. Each release of CRUX, accompanied by a new installation ISO, provides a new build toolchain, and can be update-installed on existing systems.
New releases are not that common (approx. 1/year), so I tend to consider crux more a rolling-release than an upgrade distro. "Upgrading" crux can be as easy as sed -i 's/<old-version>/<new-version>/' /etc/ports/* ports -u prt-get sysup So you're only adding one step (updating remote folder) to your typical system updates.
So, by upgrading regularly, any problem will be on my own? No surprises on official packages not matching between each other?
That's what I tend to believe. I had a bunch of issues with my fresh install, but the more you use it, the less likely it will break.
From time to time, you'll need to use `revdep(1)` in order to rebuild incorrectly linked softwares, but regarding official packages, you shouldn't have any bad surprise.
Is there an easy way to install packages in another directory, like Kwort has?
None that I'm aware of. I use another package manager for that.
I see that Crux based distros are not mentioned on wiki. Do you know more than those mentioned on distrowatch? - Kwort, Thinstation and Nutyx
There is archlinux! Not based, but inspired by crux. For the others, I've never tried them, but I discussed with the Nutyx team some times ago. Their package manager is based off crux's, but has been greatly changed along the way (binary packages support for example). They also had a different concept regarding package management, to allow finer selection, ala Alpine where you have all the -dev, -doc packages. But with much much more granularity. I don't know if they managed to do it in the end. ~z3bra
On Mon, Dec 5, 2016, 09:51 z3bra <willy@mailoo.org> wrote:
B B wrote:
Is there an easy way to install packages in another directory, like Kwort has?
None that I'm aware of. I use another package manager for that.
What package manager?
My own: http://z3bra.org/pm. I package programs myself and install them under /usr/local. I never tried, but I'm pretty sure it could handle crux packages by default, as all it does is uncompress the package under $ROOT, and keep track of what's installed in $ROOT/var/pm/<pkg>/files. pkgadd probably already handle this though.
participants (4)
-
B B
-
David L. Craig
-
willy
-
z3bra