this post was submitted on 01 Oct 2024
62 points (88.8% liked)

Linux

47544 readers
482 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
 

I know there choice of distro is really meaningless as you can install almost any program on almost any distro. But I have been playing with kali which is for security people and pen testers. Is there a similar distro for programmers? Like a few ides installed some profiling tools some virtual environment tools etc?

you are viewing a single comment's thread
view the rest of the comments
[–] LeFantome@programming.dev 6 points 2 days ago (7 children)

In my view, you need a distro that has up-to-date packages. It also helps to have repos that have all the obscure tools you are going to want to ensure compatibility with everything.

Those two criteria eliminate a lot of distros. Arch or an Arch derivative like EndeavourOS are my picks for these reasons.

[–] ouch@lemmy.world 6 points 2 days ago (6 children)

Distro packages don't really matter much in my experience. You either use project-specific package management or install stuff with Homebrew or Nix package manager. Sometimes maybe even containers.

One problem with distro packages is that you can only install one version. And in practise a lot of software projects have outdated dependencies. Sometimes you have multiple projects with conflicting version dependencies.

[–] nyan@sh.itjust.works 3 points 1 day ago (3 children)

One problem with distro packages is that you can only install one version.

This isn't technically true for all distros—Gentoo has a mechanism that will allow multiple package versions to be installed in parallel. I have multiple distro-packaged Python and Lua interpreter versions on my system, for instance. But it does require some extra work by the packager, so it isn't done universally for all packages.

[–] ouch@lemmy.world 1 points 1 day ago (1 children)

Are these made similarly to how Debian handles python2 and python3 for instance?

I'm not sure that anything short of a package manager that would compile everything from sources would be able to provide capability to pick and mix specific package versions.

[–] nyan@sh.itjust.works 2 points 1 day ago (1 children)

I don't know how Debian's solution works, so I couldn't say for certain. Gentoo usually installs the different package versions to their own directories, and there are methods for selecting a "system python" (or lua, etc) which is the target of the /usr/bin/python symlink. Other versions have to be called with qualifiers (for instance, python3.10). Python libraries installed through the package manager may install to one or several versions depending on the content of a couple of environment variables, and applications that need python can request a specific version if they need to, or accept the system python if they don't care. (Note that python2 is no longer eligible to be the system python—you need at least one python3, although 2.7.18 remains in the package repository and can be installed as well if you really need it.)

Of course, if you're not a programmer, you can leave the defaults for everything alone, and most of the time it should Just Work.

[–] ouch@lemmy.world 1 points 1 day ago

Sounds pretty close to Debian as far as I remember. In Debian those symlinks are called alternatives, and can be configured with update-alternatives. Not sure about the Python libraries though.

load more comments (1 replies)
load more comments (3 replies)
load more comments (3 replies)