this post was submitted on 10 May 2024
111 points (77.1% liked)

Linux

48212 readers
807 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] bamboo@lemm.ee 9 points 6 months ago (2 children)

This is the kind of crap that makes me glad flatpak and such exist. I don’t want a maintainer making arbitrary decisions like this, it adds unpredictability and platform inconsistency.

A similar issue I face is that on Debian the python stdlib well.. isn’t all standard. In particular they split off the venv package, and it’s an extra step that adds unnecessary complication. No other Linux distros or other OS do this, it’s so frustrating. I guess someone is super happy they saved a few hundreds kilobytes of disk space though.

[–] moonpiedumplings@programming.dev 7 points 6 months ago (3 children)

I guess someone is super happy they saved a few hundreds kilobytes of disk space though.

Yes. All the people basing docker images off if debian, and trying to get them as small as possible. The splitting up of packages, allows people to only pull in what they need.

[–] bamboo@lemm.ee 15 points 6 months ago (1 children)

Sorry I was way off in my assumption that the venv package is a few hundreds kilobytes. apt is reporting 6144 bytes. 6 kilobytes. Installing python on the base bookworm image is 38.3MB. If you’re already installing python, it’s a rounding error. Also they have a separate python3-minimal package (which saves a laughable 200kb), why are they de-featuring the regular python version when they also have a separate minimal version? It makes zero sense. The python3 package should contain the entire python standard library. If it were supposed to be an addon, it wouldn’t be part of the standard library.

[–] moonpiedumplings@programming.dev 4 points 6 months ago (2 children)

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.

[–] Morphit@feddit.uk 2 points 6 months ago

I find it odd, because venv is a "Suggested package", actually. It isn't in the list of new packages that will be installed with python3 by default.

I think the next major release of apt is supposed to be easier to read. Unless Debian neuter it.

[–] bamboo@lemm.ee 1 points 6 months ago

I do this stuff for work, unfortunately I don’t have the flexibility to choose here.

[–] Takios@discuss.tchncs.de 5 points 6 months ago

I don't think many docker images out there will have keepassxc installed though.

[–] Dirk@lemmy.ml 1 points 6 months ago (2 children)

If you base your Docker images on a full distribution then that is entirely your fault. People usually use specialized distributions for that.

You could even bootstrap your needed tooling from Busybox.

[–] lemmyvore@feddit.nl 1 points 6 months ago

Specialized distributions like minideb still use the Debian packages, they just use fewer by default.

[–] bamboo@lemm.ee 1 points 6 months ago

Debian or Ubuntu are usually the best choice if you depend on glibc. Alpine is definitely more compact but musl isn’t always an option.

[–] Dirk@lemmy.ml 5 points 6 months ago (1 children)

This is the kind of crap that makes me …

… not use Debian.

[–] bamboo@lemm.ee 4 points 6 months ago

It’s work, I don’t get much of a choice here. I do get paid for the hassle though.