@ZohanTSW zarzucał mi w weekend, że nienawidzę Linux Mint. Nie tyle nienawidzę tego systemu, tylko całej rodziny ubuntu, a mint to ubuntu ze zmienioną tapetą.
Pracowałem i prywatnie robiłem soft komercyjny działający na tym systemie. Od 2022 roku jest już całkowite przegięcie pały i rozkręcenie karuzeli spierdolenia. Pokaże Wam parę przykładów które jako zwykły użytkownik też napotykacie, bo jest w każdym systemie bazującym na ubuntu. Które są po prostu głupie i bez sensu.
-
Pakiet linux-firmware - 642 187,0 KiB aktualnie w nadchodzącym wydaniu. Macie wszystkie sterowniki binarne do różnych sprzętów wrzucone w jeden pakiet, który wasz system mieli nawet za każdym razem jak coś podłączycie do usb. Inne dystrybucje mają podzielone na grupy lub producentów. W ubuntu była dyskusja pół roku temu skończyło się na niczym: https://lists.ubuntu.com/archives/ubuntu-devel/2025-June/043358.html
-
Zarządzanie połączeniem sieciowym, w większości graficznych dystrybucji jest network-manager, oczywiście są też różne opcje konfiguracji konsolowego w zależności od dystrybucji. Można też używać wersji konsolowej network-managera, ale nie w ubuntu. Tam jest to nakładka na ich twór zwany netplan. Nie da się skonfigurować tak jak cała reszta świata działa.
-
Ubuntu LTS od 10 lat używa testowej wersji kompilatora gcc. Wersje testowe wydane pomiędzy wersjami LTS mają tylko stabilne. Fuck logic. Biorąc np. świeże wydanie LTS macie wrzucone jak domyślne wersje stabilną, ale pół systemu chodzi na wersji testowej, np. używając mechanizmu dkms do kompilacji zewnętrznych sterowników używają one wersji testowej i przez mogą nie działać. Dodatkowo opiekun pakietów z kompilatorem który robi to od 30 lat zostawia opcje debugowania kompilatora, zamiast zajmować 250MB zajmuje 760MB. Jak np. używacie steama to się wam to podwaja. Teraz jest dobry przykład w nadchodzącej wersji LTS. Jest:
root@ubuntu2604:~# apt-get install gcc-15Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Solving dependencies... Done
The following additional packages will be installed:
binutils binutils-common binutils-x86-64-linux-gnu cpp-15 cpp-15-x86-64-linux-gnu gcc-15-x86-64-linux-gnu libasan8 libbinutils libc-dev-bin libc6-dev libcc1-0 libcrypt-dev libctf-nobfd0 libctf0 libgcc-15-dev libgomp1 libgprofng0
libhwasan0 libisl23 libitm1 libjansson4 liblsan0 libmpc3 libmpfr6 libquadmath0 libsframe3 libtsan2 libubsan1 linux-libc-dev manpages manpages-dev rpcsvc-proto
Suggested packages:
binutils-doc gprofng-gui binutils-gold gcc-15-locales cpp-15-doc gcc-15-multilib gcc-15-doc libc-devtools glibc-doc man-browser
The following NEW packages will be installed:
binutils binutils-common binutils-x86-64-linux-gnu cpp-15 cpp-15-x86-64-linux-gnu gcc-15 gcc-15-x86-64-linux-gnu libasan8 libbinutils libc-dev-bin libc6-dev libcc1-0 libcrypt-dev libctf-nobfd0 libctf0 libgcc-15-dev libgomp1 libgprofng0
libhwasan0 libisl23 libitm1 libjansson4 liblsan0 libmpc3 libmpfr6 libquadmath0 libsframe3 libtsan2 libubsan1 linux-libc-dev manpages manpages-dev rpcsvc-proto
0 upgraded, 33 newly installed, 0 to remove and 0 not upgraded.
Need to get 64.4 MB of archives.
After this operation, 217 MB of additional disk space will be used.
Do you want to continue? [Y/n]
Będzie:
root@ubuntu2604:~# apt-get install gcc-16 -t resolute-proposedReading package lists... Done
Building dependency tree... Done
Reading state information... Done
Solving dependencies... Done
The following additional packages will be installed:
binutils binutils-common binutils-x86-64-linux-gnu cpp-16 cpp-16-x86-64-linux-gnu gcc-16-base gcc-16-x86-64-linux-gnu libasan8 libatomic1 libbinutils libcc1-0 libctf-nobfd0 libctf0 libgcc-16-dev libgcc-s1 libgomp1 libgprofng0 libhwasan0
libisl23 libitm1 libjansson4 liblsan0 libmpc3 libmpfr6 libquadmath0 libsframe3 libtsan2 libubsan1
Suggested packages:
binutils-doc gprofng-gui binutils-gold gcc-16-locales cpp-16-doc gcc-16-multilib gcc-16-doc
Recommended packages:
libc6-dev
The following NEW packages will be installed:
binutils binutils-common binutils-x86-64-linux-gnu cpp-16 cpp-16-x86-64-linux-gnu gcc-16 gcc-16-base gcc-16-x86-64-linux-gnu libasan8 libbinutils libcc1-0 libctf-nobfd0 libctf0 libgcc-16-dev libgomp1 libgprofng0 libhwasan0 libisl23
libitm1 libjansson4 liblsan0 libmpc3 libmpfr6 libquadmath0 libsframe3 libtsan2 libubsan1
The following packages will be upgraded:
libatomic1 libgcc-s1
2 upgraded, 27 newly installed, 0 to remove and 66 not upgraded.
Need to get 227 MB of archives.
After this operation, 762 MB of additional disk space will be used.
Do you want to continue? [Y/n]
To najbardziej wkurwia przy budowaniu kontenerów, gdzie inne dystrybucje zajmują do 1GB, ubuntu zajmuje 3GB. A jak robimy system wbudowany większość mieści się na 4GB pamięci flash, do ubuntu trzeba 16GB. Oczywiście gcc aktualizują po drodze w wersji LTS jak ma to obecnie miejsce w 22.04 i 24.04. Tylko po co to robić?
W punkcie 1 i 3 chodzi o to, że im mniej rzeczy tym system bezpieczniejszy i stabilniejszy. Jak widać w ubuntu nie. -
Jeśli używanie w wersji LTS innego jądra jak domyślne, czyli tak zwane HWE to wasz system się zapycha starymi wersjami jądra. Od 12 lat nie potrafią tego naprawić, gdzie wystarczy zrobić poprawną konfigurację do apt. Tutaj mam przykład robicie system minimalny gdzie chodzi tylko jedna aplikacja, instalujecie jądro hwe włączacie automatyczne aktualizacje bo nic się nie powinno wydarzyć. Macie np. 20 czy 32 GB przestrzeni na dysku. System na start zajmuje 6GB. Jak nic nie zrobicie po 2 - 3 miesiącach miejsce na dysku się skończy. Mint ma swoją graficzną nakładkę do czyszczenia tego, ale trzeba o tym wiedzieć.
Także, moja nienawiść do tego systemu znikąd się nie wzięła. Po prostu lata używania ukazuje jak bardzo jest zjebany. Przed wydaniem 26.04 pokaże jakie znowu "cudowne" zmiany nadciągają.
#linux #ubuntu #programowanie