You are not logged in.
I think this is great work! :-)
Does anybody know if there is similar work going on with Xlibre and Qt?
I try to avoid running Tomcat natively even if I can.
For me, it is much better to use a Docker image with Tomcat, eventually modify it, and then run the applications there. Tomcat running natively is subject to all sorts of interferences, version conflicts etc, in principle the runtime behavior may be affected by even small system modifications. And, at least over some years of use, problems are likely to occur. As long as you can build the packages to run (in a pinch, you can setup a Java container for that), there is very little fuzz running Tomcat that way.
It is also a safe way to work if you, like me, build packages to be deployed at production servers running Docker. (Or Podman, or...)
Personally, I got rid of Udisks2 (which also gets rid of GVfs) and have my USB flash drives automatically mount with the help of Udevil's Devmon running on a non-root level, optionally doing this through SpaceFM (for quick and efficient syncing and unmounting functionality baked in). Never had any issues that way, and I use a plugin for trash functionality.
Good to know there are alternatives for less manual use cases than mine. After years of frustrating experiences similar to @Altoid's, only complete removal of such stuff seems to give me less grievances that just putting up with it.
For the Devuan project, there may be a decision to make: Fix upstream first or next? Just adding gvfs-free alternatives and pointing to lots of successful users may be a smoother approach to introducing a change upstream than starting with a more principle-based discussion there.
I had expected problems with Docker on Devuan 6.1.1, but installing from Docker's Debian packages and running has gone very well so far.
One reason for being skeptical, is that I run essentially a live version of 6.1.1, with overlay file system, and that is incompatible with Docker. (Docker is based on overlays, so it needs a 'firm' basis.)
The way I have made this work on Debian, is to create /var/lib/docker as a symlink to a 'firm' basis with enough space, _before_ installing Docker.
So I did, the installation and hello-world test went fine.
Then I went on to something more demanding, rocker/rstudio 4.5.3. It's a full version of R and Rstudio, for use through a browser.
I used the same procedure as for Debian 11.2.0, and it worked fine at first attempt. Pointing to the localhost port I had given, I could use it the way I have done before.
I could even install packages from source, like RPostgreSQL, the R connector for PostgreSQL, and here things become a bit more interesting. The build first crashed because of a lacking Debian (Ubuntu here) package. But I could log into the container, do apt update and apt install (the missing) libpq-dev. In the LTS Ubuntu release Rocker is built upon, that is. Back to the browser, the R install downloaded the sources, compiled and installed.
Not too bad, two quite different Debian derivatives in operation, with no 'native' install whatsoever involved :-)
There is no need, to check again and again, if the directory exists.
Once you've created it (as described in post #4), everything is fine!
And all files /etc/inittab.d/*.tab will be included in INIT-process.
Of course not. But when this is run once per booting, I think I have the computing resources to do that. Putting rests of configuration procedures into /etc/rc.local and editing it as necessary for new installs has saved me a lot of work over the years. Not the least having to remember this kind of details ;-)
Thanks for the replies! :-)
GVfs comes with a set of back-ends, including trash support, SFTP, FTP, WebDAV, SMB, and local data via Udev integration, OBEX, MTP and others.
That's very good for general, especially more occasional, use, but in my particular use cases, it hasn't been so useful. I have ended up doing (lots of) manual mounts for necessary control, for example. I think it has something to do with the 'need to be open'-thing too. Most volumes are unmounted most of the time etc.
I have been running a desktop PC with XFCE with gvfs uninstalled since a long time and I have never noticed any problems apart from the fact that I have to mount removable drives manually.
Good to hear! My intuition is that I should rather make the mounting/unmounting more efficient than rely on gvfs automation. And for me, the default is for services to be turned off when not in use: Boot partition/bootloader/initrd&kernel unmounted, init scripts rested when they have done their thing, media offline when not in use etc. Some of it, I think may be general good practice. The rest mostly related to workflow and reducing the impacts of own user errors.
How is your project going?
I just want to provide my experience re #2. I would have tested Xfce first. I don't have a 4K monitor, but Xfce works quite fine on a Samsung 3840x1440 monitor, kind of "2/3 4K".
Running and testing from a Live USB, maybe one with persistence, to store drivers and X components, sounds smart to me.
I use almost exlusively "Poor Man's Installs", where the live USB content is copied to harddisk partitions. (Essentially 4 files: vmlinuz - kernel, initrd - booting stuff, filesystem.squashfs - the original live system, persistence - loop-mounted persistence file, typically 5-15 GB.) The largest part of a SATA disk is used for a distro-independent volume, e.g. /store, separately mounted on boot.
Maybe one could just add a line to the default /etc/rc.local in the first place?
[ -d /etc/inittab.d ] || mkdir /etc/inittab.dI use this mechanism for other 'non-default' directories that are useful or necessary for me.
Just have to correct myself re Debian 11:
Started correctly, with a fresh persistent store, persistence works under kvm for 11.2.0. I hadn't done the check quite right.
So, with a SATA disk, kvm may be used for running Debian 11,12&13 w/persistent store in a vm under Devuan.
Makes an even stronger case for Devuan for me :-)
How will life be without gvfs?
I'm about to find out for myself. It turned out that I didn't have to remove any userspace package to drop gvfs.
Which was kind of great surprise to me, I had the impression that 'everything' needed gvfs now and then.
In turn, it may indicate that the services gvfs provides, are not necessarily provided in an optimal way.
It's the old swiss army knife principle, which may mean jack of all trades, master of none.
And to some people, a swiss army knife is just what they need. Not to me, even though I happen to use them quite a lot ;-)
I beg to disagree. The "essentials" are food, water and hopefully shelter. All the toys we play with are just the products of churning, deluded minds. And what a mess we make of it!
OK. I promise not to talk about AI use at all.
In return, please don't ask how I got the results that fast.... ;-)
I don't trust any AI, I try to use my Brain 1.0.
Who talked about trusting AI?
I don't really trust any of the equipment I use. It's essential for me nonetheless.
Welcome, and congratulations!!!!
I ran dmesg | grep microcode and it shows: microcode: Updated early from: 0x0000060c. Interestingly, dmesg still reports: MDS: Vulnerable: Clear CPU buffers attempted, no microcode. I suspect the AI saw that 'Vulnerable' warning and we went down a bit of a rabbit hole trying to 'fix' an unfixable hardware limitation of this 2008 chip?
I think using AI is essential, but I have already seen several examples of such rabbit holes. We maybe could think of the current language models as generating advice not out of understanding but as good guesses of what knowledgeable persons could say. Therefore, we have to test at every step, only keeping modifications that make a difference - preferably understandable to us ;-)
Another small update, probably the last one on this case:
Debian 12.12.0 works out of the box with persistence under kvm. So the change has happened somewhere between 11.2 and 12.12.
As for using kvm to set up a new version, I just 'copied' a Devuan install with broken packages by taking the diff on packages lists, cutting the resulting list (ca 960 packages) in 5 smaller lists and using xargs to provide apt with the package names from the lists. That worked, in kvm with 3 GB memory. Apt didn't fix it when all were provided at once.
So it does work using extracted squashfs. The errors seem just warnings. It's there in the overlay. The overlay can be mounted in main system and new initrd copied to where the the relevant bootloader can find it.
But it doesn't work using fromiso/findiso (my preferred use case) without user intervention as noted. I don't see that mentioned in live-boot's manual.
I really appreciate that you take the time to delve into this stuff.
At present, I don't have the time myself, but it seems that clarifications and eventual workarounds may be helpful also to the upstream developers.
If we* means the already overworked / short staffed group of people working as well as they can to keep Devuan systemd free, you may want to stop and think a bit.
Maybe that group of people is not of a fixed, pre-determined size?
Speaking for myself, I tried the first Devuan releases, had to give it up because too much of what I needed didn't work well enough for me then.
Now, I am trying out Devuan 6.X as my main OS version, and the problems I encounter are mostly not related to Devuan at all, but originate upstream.
The current problems I have, mostly come from post-install scripts. I think that doesn't have to take much resources to fix, but I have never been forced to go into that stuff before. I think that may be the first step in a process that may produce alternatives to some of the principle-breaking stuff :-)
Running and maintaining any Linux distro should be as independent on filesystems and organization as possible. To me it seems Debian has moved in the opposite direction. An install may work with an overlay file system for years, through several remakings of a read-only, compressed base, but the current Trixie release proves to be seriously challenged with respect to understanding file systems. Booting and kernel/initramfs administration is much affected.
This influences a lot of functionality, and is typically something that should be easy to unselect when not needed. But they don't want to let you escape in any easy way.
So, I encounter crashes in post-install scripts, often based on this error condition:
/usr/sbin/grub-probe: error: failed to get canonical path of `overlay'Patching them with 'exit 0' kind of breakpoints allows me to get my job done, and this has no relevance for my daily use whatsoever.
But it shouldn't be like that.
Developers of the 'Universal operating system' basic components should follow the most basic Unix principle: Do one thing, and do it well.
In this case, it is about providing a solution for booting and kernel updating. That is necessary, but it is not done well. And forcing the solution to booting is scope creep. That hardware/firmware is an erratically moving target makes the approach all the worse.
Thus, the current setup that is forced upon us IMO breaks both the basic One Thing-principle, and the requirement to do it well.
I might have been more positive if the solution had proven to be strictly necessary to get Debian-based systems up&running. But it isn't. Me writing this is a simple counterexample. And one counterexample is enough.
This should be modularized, and instead of discussing this over and over with the upstream developers, we should try to produce a proof of concept.
I don't think we have to channel Erich Boleyn, but it might help ;-)
Small update:
I see no evidence, so far, of a systemd issue here, Debian's live-boot/live-config support systemd but do not demand it.
Nor did I, when Debian 13.3.0 and Devuan 6.1.1 behaved the same way.
But I couldn't get Debian 11.2.0 to work, it came up with the squashfs image, persistence was ignored running kvm.
This might, though, be an effect of the five remasterings done. So I started out with the squashfs from the ISO and a new persistence store.
Still didn't use the persistence volume, so here I have a clear contrast between new 11.2.0 and 13.3.0 installs. Might still be unrelated to systemd, but scope creep always makes me suspicious when unexplainable errors occur.
For the purpose of running older versions in a vm, the obvious remedy is to squash the overlay file system into a new image. Then it is enough to keep that, a few GBs disk space is saved, too.
BTW, here is the booting stanza for the Devuan instance I am running now:
title Devuan 6.1.1 64 bits Xfce live /dev/nvme0n1p6 v0 persistence/dev/nvme0n1p7
root(hd0,0)
kernel (hd0,1)/boot/dev611/vmlinuz boot=live config quiet splash initrd=(hd0,1)/boot/dev611/initrd.img bootfrom=/dev/nvme0n1p6 live-media-path=dev611/live0 persistence persistence-path=dev611nvme7/pers0 keyboard-layouts=no noautologin
initrd (hd0,1)/boot/dev611/initrd.imgRe bootloaders: Legacy grub was installed on the SATA disk by an OS version long gone. No need for any updating, I just add new directories with kernel&initrd images, and edit menu.lst. As long as I can run a version with legacy grub installed, I can repeat the procedure with new disks, and I do - it works with types of USB media and nvme-disks it had no idea about when first developed.
That's how a GRand Unified Bootloader should behave, in my head. So I wish for a GRUB-reinc (reincarnated legacy GRUB) with knowledge of GPT and loadable modules for UEFI navigations etc when absolutely necessary, kernel-style :-)
btw @tyder: Why do you need to run kvm/qemu as root?
I don't think I have to. But this is something i normally do more intensively every fourth year or so. So I don't think it hurts too much.
Regaring systemd, I think it may have been impllicit in the problems earlier, but clearly not with the latest Debian release. I just gave up using kvm for setup work ca 2016, after encountering new, strange problems. Have used it mostly for checking booting menus, testing ISOs etc the last ten years.
So I was quite surprised to find that it worked so well wirh Devuan 6.1.1. Following your advice with 'new' (mostly freshly cleaned) persistence volumes, it starts to look like a method for me. (As we have learnt, a method is a trick that you use twice.)
I use Qemu-kvm in the simplest way possible for me, and I try to avoid attempts at extending or educating it. Currently, that means it is mostly useful for SATA drives. I did not tell the whole story, for this kind of work I use older HP Probook laptops with both m2 and SATA drives. Normally, I run natively from m2 partitions, right now - my workload instance of Devuan 6.1.1 - from /dev/nvme0n1p6 (squashfs) and /dev/nvme0n1p7 (persistence). The SATA partitions are used for storage (e.g. Docker images), development and testing. And because of Qemu-kvm's good command of MBR SATA volumes, it is possible to proceed in very straightforward ways. For example, copying over to SATA partitions, I can run my older system versions, like Debian 9.1, in kvm under Devuan 6.1.1..
The only thing to accomodate, is what I consider an age-old Linux bug: Caches may be re-used even if the cached content has changed on disk. The most visible effect in my case, is that kvm may not change legacy Grub's boot menu, even if menu.lst is changed. Fixed by dropping caches after syncing, a 'You Should Not'-procedure I only use when I have to.
Small update:
It turns out that the method also works with a fresh Debian 13.3.0 Lxqt-version. I could use the same squashfs image there both for the native basis and the kvm instance, working on an overlay at another partition. So while this may have been systemd-related in the past, it doesn't seem to be now.
And it does of course not have to be the same squashfs image. Running Devuan under Debian or vice versa works just fine when starting with a clean 13.3.0-Debian version.
For administration and development, I can mount other drives read-only in the vm. For example, I have a large ext4 SATA partition usually mounted on /store, and I can mount it read-only and use it for reading. For writing, I have the partition where the persistence volume is mounted. Which can be mounted read-only on the host to provide data traffic both ways in a simple and controlled manner.
I think this may be a useful environment for live development.
And there is no 'basic install' here. At the next boot, 'host' and 'vm' may swap roles. It is basically symmetric ;-)
I used kvm a lot for system setup in Poor Man's Installs (PMI), but it hasn't worked well for the last 8 years - coinciding with the introduction of systemd in Debian.
Therefore, I was eager to try kvm with Devuan 6.1.1 for this purpose. The method is to use the squashfs base image, first version from the ISO, and then setup a new persistent image by running kvm with the same squashfs base image as the running version, but another persistent image, on another partition.
I add a new boot stanza in my good old legacy grub's menu lst, with a new persistence directory, and start this new version with kvm
The boot stanza for the booted, base version is
title Devuan 6.1.1 64 bits Xfce live sdb2 v0 persistence sdb3
root(hd0,0)
kernel (hd0,0)/boot/dev611/vmlinuz boot=live config quiet splash initrd=(hd0,0)/boot/dev611/initrd.img bootfrom=/dev/sdb2 live-media-path=dev611/live0 persistence persistence-path=dev611s/pers0 keyboard-layouts=no noautologin
initrd (hd0,0)/boot/dev611/initrd.img
The boot stanza for the setup version is almost identical, only specifying a different persistence directory
title Devuan 6.1.1 64 bits Xfce live sdb2 v0 persistence sdb5
root(hd0,0)
kernel (hd0,0)/boot/dev611/vmlinuz boot=live config quiet splash initrd=(hd0,0)/boot/dev611/initrd.img bootfrom=/dev/sdb2 live-media-path=dev611/live0 persistence persistence-path=dev611Xs/pers0 keyboard-layouts=no noautologin
initrd (hd0,0)/boot/dev611/initrd.img
Then I simply start the new version by having kvm run the pc's basic boot menu:
sudo kvm -m 2048 /dev/sdb &This may be viewed as kind of 'super-charged chroot', for the same squashfs is run in the pc and the vm, it is just merged with two different overlays.
In PMI, the base image is mounted read-only, so there is no problem with that. And the persistent images are mounted on different partitons, with no interference between them. There are of course lots of reasons for making different versions - for different users, with or without Docker, with or without R, to mention some of my own reasons. And setting them up in a vm is very practical, at least for me. Very primitive version handling as it may be, it works well for me with scripted package install lists.
When trying this with Debian 13.3.0 Lxqt, running under Devuan, I'm not able to make it work. I can start the vm with a base image from the boot menu, but it's not possible to make persistence work in any simple way. The persistence structure is exactly like the Devuan case, and booting natively with it, there are no problems.
Is this a systemd limitation? I suspect so.
When a different username is configured, the Debian default 'user' does not even exist, unless you created it manually.
The noautologin parameter is unavailable after first boot if using persistence because live-config is disabled.
The username=* parameter is unavailable after first boot if using persistence for the same reason.
BTW 'keyboard-layouts' is also unavailable for the same reason.
This does not at all fit with my ca 13 yrs experiences with Debian live with persistence. And before that, a long time with Debian-derivative Knoppix.
Keyboard-layouts and autologin may surely be useful with persistence, so forcing them to be shut off doesn't make much sense to me.
There are lots of very different use cases where persistence is necessary or at least useful. So one size, in the way it is enforced here, does definitely not fit all.
But of course, software freedom is also for being very content with what is offered ;-)
Somewhat larger update. Think we can consider the problem solved. Still with warts and all :-)
I followed dzz's advice, and that worked. Seems that the username parameter must be used for the conversion to proceed correctly.
I'm very gratefui! Tanks!
When that user is in place, the Debian default 'user' is harmless. May be added and removed without problems, it seems. The noautologin directive works.
And it is _not_ necessary to use the username=devuan parameter afterwards, as shown here:
trond@devuan:~$ cat /proc/cmdline
boot=live config quiet splash initrd=(hd0,0)/boot/dev611/initrd.img bootfrom=/dev/sda2 live-media-path=dev611/live0 persistence persistence-path=dev611s/pers0 keyboard-layouts=no noautologin
trond@devuan:~$ whoami
trondThus, a system boot may be set up without the username parameter, it is only necessary to add it to the cmdline at first startup.
Because this may be kind of trap for new users, and it definitely violates the principle of least surprise for many, it may be regarded as kind of bug. Doing it explicitly, with prompt, at first login as devuan would be better IMO.
You have booted with incorrect cmdline parameters (omitting 'username=devuan') while using persistence.
For me, that's a buggy system. Because it violates the 'principle of least surprise'.
Hard-coding a username in a bootloader commandline is bad practice in my opinion. This should work well with only noautologin, and eventual privileges etc should IMO be fixed with a transparent CLI script.
Eventual transitions to persistence running should also be made transparently IMO. What are the advantages of doing this behind the scenes?
Small update:
User 'user' may not be removed safely in the current 6.1.1 release, if it is defined.
I could kill Xfce, which ran as a 'user' process, log in as devuan and delete user 'user'.
But it is clearly noted somewhere. For at next boot, display stayed black - a strong indication that there are remnants of 'user' that block the noautologin directive.
I also tried to modify the configuration scripts, with no luck.
For all the people happy with this state of affairs, you have my empathy. I will not expand on how and why ;-)