4 ms·
The third model - rolling release. No need to test against many releases, no outdated dependencies and why so many people want to run latest browser on outdated
by sergeykish 6y ago
The third model - rolling release. No need to test against many releases, no outdated dependencies and why so many people want to run latest browser on outdated system?
The forth model - multiple versions of dependencies live on the same system, environment constructed for each application. Deduplication works.
Bundled model has its values (just like vm) but it really shines with inadequate package management. If you don't like the bundled model switch to Arch Linux or NixOS.
- nyanpasu64 6y agoI don't like the bundled model. I'm running Arch on my main machine currently. The AUR makes getting third-party packages easy. Unfortunately, I need VirtualBox for a class, and Arch's VirtualBox package won't run on the current Linux 5.8 kernel, and downgrading Linux on Arch is not easy. I switched to Windows for VirtualBox, but in retrospect I could've installed linux-lts. Ubuntu is more stable in theory, but I've encountered broken packages (like hex editors with an incorrect hard-coded temp path, causing it to be unable to overwrite files).
- sergeykish 6y agoIt is not super simple but I lived with outdated kernel and Xorg for a couple of years (because of Intel Poulsbo [1]). Process described in wiki [2] and uses virtualbox-host-modules as an example. $ pacman -Qi glibc Depends On : linux-api-headers>=4.10 tzdata filesystem 1. This version is not present in Arch Linux Archive anymore [3], search for package page [4], View Changes, search for corresponding PKGBUILD revision [5], makepkg. It is much easier if package is not that old and can be found in /var/cache/pacman/pkg/ or archive. 2. install with `pacman -U linux-4.15.8-1-x86_64.pkg.tar.xz` 3. skip package from being upgraded with /etc/pacman.conf IgnorePkg [6] I had problems both with Ubuntu and Arch Linux updates. At least I can fix Arch Linux issues, Ubuntu felt broken. [1] http://sergeykish.com/linux-poulsbo-emgd http://sergeykish.com/linux-poulsbo-emgd [2] https://wiki.archlinux.org/index.php/Downgrading_packages https://wiki.archlinux.org/index.php/Downgrading_packages [3] https://archive.archlinux.org/packages/l/linux/ https://archive.archlinux.org/packages/l/linux/ [4] https://www.archlinux.org/packages/core/x86_64/linux/ https://www.archlinux.org/packages/core/x86_64/linux/ [5] https://github.com/archlinux/svntogit-packages/commits/packages/linux/trunk https://github.com/archlinux/svntogit-packages/commits/packa... [6] https://wiki.archlinux.org/index.php/Pacman#Skip_package_from_being_upgraded https://wiki.archlinux.org/index.php/Pacman#Skip_package_fro...
- tracker1 6y agoBut then you can't run leading edge hardware... My motherboard's network interface, wireless interface and my gpu all require a kernel version that's newer than the 19.10 ubuntu (and even 20.04 support for stability), let alone the last LTS release. Ukku worked well for me to get newer kernels without issue, but kvm/virtualbox were totally borked, just as my hardware support was stable.
- sergeykish 6y agoSorry to hear, KVM does not work? I expect problems with virtualbox but KVM, can you share a story please?
- elmolino89 6y agoLatest Manjaro has the latest VirtualBox in the package repository. It is easier imho switch from Arch to Manjaro than going to Win10
- amelius 6y agoI can't believe that in 2020 we're still discussing what is the best way to package and distribute software. Can anyone explain why it is taking the profession so long to get this fixed?
- kevincox 6y agoBecause different solutions have different tradeoffs. It doesn't appear that there is a single solution which is best for all use cases. So different systems switch between different methods as their prieceved value of the different usecases change which upsets people who see the values of the tradeoffs differently. If you have the perfect solution I'm all ears.
- mavhc 6y agofundamental issue between "change everything once in a big step" and "many small changes". First is pre internet, because updates cost money, and because pre internet security issues weren't common. Second is now, change one thing every day, always run the latest code, automated testing to make the latest code always work. Also means don't need a security branch and a feature branch. People hate change, and linux people have the ability to say no and do their own thing.
- jacquesm 6y agoBecause we love re-inventing the wheel instead of repairing the wheel.
- sergeykish 6y agoBecause it is a hard problem? Python has easy_install, pip, anaconda and wheel; virtualenv to isolate packages. Node has npm and yarn (is it resolved?). Ruby gem defines version in code, bundler in Gemfile, Gemfile.lock; vendor/, rvm gemset, BUNDLE_PATH to isolate packages. Even developers can't find right answer. Because it matters? Package management is the main differentiator, I love pacman, I love PKGBUILD and makepkg.
- pdimitar 6y agoOne issue on Linux in particular is the [relatively] tight bond between your kernel version and libc, which makes using software compiled with different version of libc problematic part of the time (a particular libc version still supports multiple kernels though). I experienced this lately when my Rust-compiled binary used too modern a libc version for the aging Docker container environment we used for deployment, which forced me to use another Docker container for local development -- which obviously isn't ideal and removes the 100% reproduceability promise.