this post was submitted on 11 Jul 2023
170 points (96.7% liked)

Linux

48348 readers
450 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’ll start:

  • Tmux
  • vim
  • ghidra
  • okteta (hex editor)
  • speedcrunch (calculator with bit manipulation)
  • python3 with IPython for nice reply and embed(), pwntools
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 2 points 1 year ago* (last edited 1 year ago) (2 children)

Since I'm not sure where to ask what is probably a basic question, what's a Linux package?

[–] [email protected] 6 points 1 year ago (1 children)

It's just a fancy way of saying program. So Linux programs.

[–] [email protected] 2 points 1 year ago

Correct, the reason they are called packages, is that the package can contain other resources besides usable programs, like libraries used by other programs.

[–] [email protected] 4 points 1 year ago (1 children)

It's a signed archive of deployable files along with meta-data. Usually a cpio archive (which is similar to a tarball) with that extra signature wrapper and meta-data (which, itself, should be a list of files and checksums).

A proper package can validate a project's installation, either from the local database or from remote resources, at any time, which gives positive assurance that what is installed is what should be installed.

As well, proper package info is exported by SNMP to be consolidated centrally and validate what is vs what should be installed at the group level.

TL;DR? Like a tarball with tracking info, signatures, checksums, and top-to-bottom validation. If it's a good package, anyway.

[–] [email protected] 1 points 1 year ago (1 children)

So it's basically like installing a program in windows but, idk how to phrase it, more through and less prone to errors during installation?

[–] [email protected] 2 points 1 year ago

You're really close, yeah .

But because like every layer is checksummed both in delivery AND when it's installed, so you can easily validate a delivered file, and it's all signed with signatures you can easily check, you can at least be assured that

  • what you installed is what that package delivered
  • which is what the authors wanted
  • and the package probably hasn't been tampered with
  • even weeks after install

the chance of problems should be reduced.

Bonus1: with a proper repo config, you can check for updates so fast. It's like the chocolatey windows repo but more formalized and usually vendor-maintained.

Bonus2: bad upgrade? Enterprise packages on Linux (long description; trust me) can be reverse-installed over what's there so you can back-revise or downgrade with almost no pain. It's a good oh-no fix. At every point you can still validate that what is there should be there, according to hard signatures at every stage.

Bonus3: grabbing os version 6.1 and upgrading to 6.5 OR just installing 6.5 fresh gives the same final content - files and services - when you're done. (almost entirely) No cruft, since package installs (because of the locking below) just install over themselves in a way Linux people just accept and windows people may freak over.

Linux bonus: Linux locks file differently; again, long description, so trust me or look it up. You can upgrade many files and services without stopping them, and then bounce a service or a host, so your patch-and-bounce process is fast, it happens after the upgrades, and is like 2 min or with systemd 3min.

Ultimately

  • use packages for wayyyy easier, consistent, reliable, tested, quasi-roll-back-able updates that you can validate all the way down.
  • and still that SNMP connection to check content remotely. It's so great.