Linux
- Darling | run macOS software on Linux
>Darling is a translation layer that lets you run macOS software on Linux
Hat damit schon jemand Erfahrung gemacht? Ich habe heute zum ersten Mal damit rumgespielt (letzte stabile Version March 10, 2023) und finde es ganz lustig. Ist wie Wine aber für Apfel.
Befindet sich aber noch ganz am Anfang, es funktionieren im Moment nur ein paar Konsolentools. Die einzige GUI App die im Moment läuft ist ein Taschenrechner, der echt träge läuft und nicht so wirklich auf Rumgeklicke zu reagieren scheint. Und selbst der lief auf Bogn erstmal nur nach gutem Zureden, weil eine fehlende Libtiff.so.5 Bibliothek Faxen gemacht hat. (Einige Sonderzeichen auf den Tasten wurden auch nicht gerendert).
Homebrew kann man sich installieren, aber irgendwie läuft kein Package was ich ausprobiert habe. Zumindest von denen ich es ausprobiert habe wie vim, emacs, wget etc.
Von daher ist der Nutzen momentan ziemlich begrenzt, trotzdem hat es Spaß gemacht mit dem System rumzuspielen und den Dateien zu stöbern.
- Geschasste Linux-Maintainer: Direkte oder indirekte Arbeitgeber sind der Grundwww.heise.de Geschasste Linux-Maintainer: Direkte oder indirekte Arbeitgeber sind der Grund
Klarheit zu den entfernten Linux-Maintainern: Sie arbeiten für sanktionierte Unternehmen. Die Vorwürfe des Generalverdachts gegen Russen sind vom Tisch.
- Ubuntu 24.10: Gnome 47, neues APT, Berechtigungsabfragenwww.heise.de Ubuntu 24.10: Gnome 47, neues APT, Berechtigungsabfragen
In Ubuntu 24.10 ändert sich nicht viel: Ein neues Gnome, ein neuer Kernel als Unterbau sowie der CLI-Paketmanager APT in Version 3.0 sind die Highlights.
- Welche Distribution für einen frischen Umsteiger?
Moin, ein guter Freund von mir möchte in naher Zukunft auf Linux umsteigen. Prinzipiell kein Problem aber da ich seit Jahren EndeavourOS nutze, welches sehr Konsolenlastig ist, habe ich mich gefragt welche Distribution denn so empfehlenswert ist für jemanden der eher GUI Menüs gewohnt ist. Ich selbst bin schon zu lang dabei um wirklich gut einschätzen zu können was da wirklich passend ist.
Ist Mint noch die Empfehlung? Oder MX?
Ubuntu würde ich gern vermeiden aufgrund der Entscheidungen die die Distri so macht.
Also helft mir das "richtige" Linux für jemanden zu finden der keine Erfahrung hat.
Danke sehr für eure Hilfe!
- Linux: Kritik, Gründe und Folgen der CVE-Schwemme im Kernelwww.heise.de Linux: Kritik, Gründe und Folgen der CVE-Schwemme im Kernel
Rund 55 pro Woche veröffentlichte Kernel-CVEs stellen auch die Größen der Linux-Branche vor Probleme – und nötigen zu mehr Zusammenarbeit und neuen Werkzeugen.
- Bootet fast fünf Tage: Entwickler bringt Linux auf Intel 4004 zum Laufen
> Zwei selbst entwickelte Emulatoren, ein Decoder für einen Logic-Analyzer und ein Haufen alter Chips: Mehr braucht es nicht, um Linux auf Intels 4004 laufen zu lassen.
Video: Linux/4004 - Dauer: 12 min (nicht 5 Tage)
- Nach 20 Jahren mühevoller Arbeit: Linux-Kernel jetzt Echtzeit-tauglichwww.heise.de Nach 20 Jahren mühevoller Arbeit: Linux-Kernel jetzt Echtzeit-tauglich
Linux 6.12 wird Realtime-Fähigkeiten bieten, die etwa zur Maschinensteuerung wichtig sind. Mainstream-Linuxe dürften dadurch bald Echtzeitkernel mitbringen.
- GNOME 47 ist darelease.gnome.org GNOME Release Notes
Discover what's new in GNOME, the distraction-free computing platform.
In der deutschsprachigen Presse: https://www.derstandard.at/story/3000000236793/gnome-47-ist-da-der-linux-desktop-wird-modernisiert (https://archive.ph/9rrfR)
- Linux Desktop durchbricht 5% Marke in Deutschlandmarius.bloggt-in-braunschweig.de Linux Desktop durchbricht 5% Marke in Deutschland - Marius Welt
Erfreuliche Meldungen aus aller Welt, der Linux Desktop Anteil steigt, und er steigt stärker als in den letzten Jahren. Für Deutschland haben wir besonders gute Nachrichten, denn der Desktop Anteil liegt hier bereits bei 5.2%. Linux Desktop durchbricht 5% Marke in Deutschland Laut statcounter.com, w...
Auch wenn die Zahlen von statcounter sicher nur einen Teil der Realität zeigen ist das doch eine erfreuliche Entwicklung.
- How to wget/curl files from OCI registries (docker, github packages)
This article will describe how to download an image from a (docker) container registry.
| [!Manual Download of Container Images with wget and curl](https://tech.michaelaltfield.net/2024/09/03/container-download-curl-wget) | |:--:| | Manual Download of Container Images with wget and curl |
Intro
Remember the good `'ol days when you could just download software by visiting a website and click "download"?
Even
apt
andyum
repositories were just simple HTTP servers that you could justcurl
(orwget
) from. Using the package manager was, of course, more secure and convenient -- but you could always just download packages manually, if you wanted.But have you ever tried to
curl
an image from a container registry, such as docker? Well friends, I have tried. And I have the scars to prove it.It was a remarkably complex process that took me weeks to figure-out. Lucky you, this article will break it down.
Examples
Specifically, we'll look at how to download files from two OCI registries.
Terms
First, here's some terminology used by OCI
- OCI - Open Container Initiative
- blob - A "blob" in the OCI spec just means a file
- manifest - A "manifest" in the OCI spec means a list of files
Prerequisites
This guide was written in 2024, and it uses the following software and versions:
- debian 12 (bookworm)
- curl 7.88.1
- OCI Distribution Spec v1.1.0 (which, unintuitively, uses the '/v2/' endpoint)
Of course, you'll need '
curl
' installed. And, to parse json, 'jq
' too.sudo apt-get install curl jq
What is OCI?
OCI stands for Open Container Initiative.
OCI was originally formed in June 2015 for Docker and CoreOS. Today it's a wider, general-purpose (and annoyingly complex) way that many projects host files (that are extremely non-trivial to download).
One does not simply download a file from an OCI-complianet container registry. You must:
- Generate an authentication token for the API
- Make an API call to the registry, requesting to download a JSON "Manifest"
- Parse the JSON Manifest to figure out the hash of the file that you want
- Determine the download URL from the hash
- Download the file (which might actually be many distinct file "layers")
| [!One does not simply download from a container registry](https://tech.michaelaltfield.net/2024/09/03/container-download-curl-wget) | |:--:| | One does not simply download from a container registry |
In order to figure out how to make an API call to the registry, you must first read (and understand) the OCI specs here.
- <https://opencontainers.org/release-notices/overview/>
OCI APIs
OCI maintains three distinct specifications:
- image spec
- runtime spec
- distribution spec
OCI "Distribution Spec" API
To figure out how to download a file from a container registry, we're interested in the "distribution spec". At the time of writing, the latest "distribution spec" can be downloaded here:
- <https://github.com/opencontainers/distribution-spec/releases/tag/v1.1.0>
- <https://github.com/opencontainers/distribution-spec/releases/download/v1.1.0/oci-distribution-spec-v1.1.0.pdf>
The above PDF file defines a set of API endpoints that we can use to query, parse, and then figure out how to download a file from a container registry. The table from the above PDF is copied below:
| ID | Method | API Endpoint | Success | Failure | |------|----------|------------------------------------|--------|-----------| | end-1 |
GET
|/v2/
|200
|404
/401
| | end-2 |GET
/HEAD
|/v2/<name>/blobs/<digest>
|200
|404
| | end-3 |GET
/HEAD
|/v2/<name>/manifests/<reference>
|200
|404
| | end-4a |POST
|/v2/<name>/blobs/uploads/
|202
|404
| | end-4b |POST
|/v2/<name>/blobs/uploads/?digest=<digest>
|201
/202
|404
/400
| | end-5 |PATCH
|/v2/<name>/blobs/uploads/<reference>
|202
|404
/416
| | end-6 |PUT
|/v2/<name>/blobs/uploads/<reference>?digest=<digest>
|201
|404
/400
| | end-7 |PUT
|/v2/<name>/manifests/<reference>
|201
|404
| | end-8a |GET
|/v2/<name>/tags/list
|200
|404
| | end-8b |GET
|/v2/<name>/tags/list?n=<integer>&last=<integer>
|200
|404
| | end-9 |DELETE
|/v2/<name>/manifests/<reference>
|202
|404
/400
/405
| | end-10 |DELETE
|/v2/<name>/blobs/<digest>
|202
|404
/405
| | end-11 |POST
|/v2/<name>/blobs/uploads/?mount=<digest>&from=<other_name>
|201
|404
| | end-12a |GET
|/v2/<name>/referrers/<digest>
|200
|404
/400
| | end-12b |GET
|/v2/<name>/referrers/<digest>?artifactType=<artifactType>
|200
|404
/400
| | end-13 |GET
|/v2/<name>/blobs/uploads/<reference>
|204
|404
|In OCI, files are (cryptically) called "
blobs
". In order to figure out the file that we want to download, we must first reference the list of files (called a "manifest
").The above table shows us how we can download a list of files (manifest) and then download the actual file (blob).
Examples
Let's look at how to download files from a couple different OCI registries:
Docker Hub
To see the full example of downloading images from docker hub, click here
GitHub Packages
To see the full example of downloading files from GitHub Packages, click here.
Why?
I wrote this article because many, many folks have inquired about how to manually download files from OCI registries on the Internet, but their simple queries are usually returned with a barrage of useless counter-questions: why the heck would you want to do that!?!
The answer is varied.
Some people need to get files onto a restricted environment. Either their org doesn't grant them permission to install software on the machine, or the system has firewall-restricted internet access -- or doesn't have internet access at all.
3TOFU
Personally, the reason that I wanted to be able to download files from an OCI registry was for 3TOFU.
| [!Verifying Unsigned Releases with 3TOFU](https://tech.michaelaltfield.net/2024/09/03/container-download-curl-wget) | |:--:| | Verifying Unsigned Releases with 3TOFU |
Unfortunaetly, most apps using OCI registries are extremely insecure. Docker, for example, will happily download malicious images. By default, it doesn't do any authenticity verifications on the payloads it downloaded. Even if you manually enable DCT, there's loads of pending issues with it.
Likewise, the macOS package manager brew has this same problem: it will happily download and install malicious code, because it doesn't use cryptography to verify the authenticity of anything that it downloads. This introduces watering hole vulnerabilities when developers use brew to install dependencies in their CI pipelines.
My solution to this? 3TOFU. And that requires me to be able to download the file (for verification) on three distinct linux VMs using curl or wget.
> ⚠ NOTE: 3TOFU is an approach to harm reduction. > > It is not wise to download and run binaries or code whose authenticity you cannot verify using a cryptographic signature from a key stored offline. However, sometimes we cannot avoid it. If you're going to proceed with running untrusted code, then following a 3TOFU procedure may reduce your risk, but it's better to avoid running unauthenticated code if at all possible.
Registry (ab)use
Container registries were created in 2013 to provide a clever & complex solution to a problem: how to package and serve multiple versions of simplified sources to various consumers spanning multiple operating systems and architectures -- while also packaging them into small, discrete "layers".
However, if your project is just serving simple files, then the only thing gained by uploading them to a complex system like a container registry is headaches. Why do developers do this?
In the case of brew, their free hosing provider (JFrog's Bintray) shutdown in 2021. Brew was already hosting their code on GitHub, so I guess someone looked at "GitHub Packages" and figured it was a good (read: free) replacement.
Many developers using Container Registries don't need the complexity, but -- well -- they're just using it as a free place for their FOSS project to store some files, man.
- Linux-Kernel bekommt "Blue Screens" mit QR-Codewww.heise.de Linux-Kernel bekommt "Blue Screens" mit QR-Code
Das Betriebssystem Linux hat jüngst gelernt, bei ausweglosen Fehlern Infos per QR-Codes auszugeben. Der Linux-Kernel bekommt eine ähnliche Funktion.
https://archive.ph/28DJ1
- nnn 5.0 ist da: Schlanker Terminal-Dateimanager für Linux, macOS, Unixwww.heise.de nnn 5.0 ist da: Schlanker Terminal-Dateimanager für Linux, macOS, Unix
Der schlanke Dateimanager für Power-User bringt in Version 5.0 Änderungen bei den Plug-ins und beim Löschen.
- 🐧🛠️ Linux in der Schule: Wie man in der Projektwoche alte Rechner "retten" kanngnulinux.ch Linux in der Schule: Wie man in der Projektwoche alte Rechner "retten" kann
Mit dem Supportende von Windows 10 nähern sich viele Rechner, Schätzungen gehen von bis zu 240 Mio. aus, einem vorzeitigen Schicksal als Elektroschrott. Eine gute Gelegenheit, den Schülerinnen und Schülern einen kleinen Einblick in die Welt von GNU/Linux und freier Software zu ermöglichen.
"Mit dem Supportende von Windows 10 nähern sich viele Rechner, Schätzungen gehen von bis zu 240 Mio. aus, einem vorzeitigen Schicksal als Elektroschrott. Eine gute Gelegenheit, den Schülerinnen und Schülern einen kleinen Einblick in die Welt von GNU/Linux und freier Software zu ermöglichen."
- Nvidia bevorzugt quelloffenen Linux-Kernel-Treiber von nun anwww.heise.de Nvidia bevorzugt quelloffenen Linux-Kernel-Treiber von nun an
Bei zukünftigen Treiberversionen bevorzugt Nvidia seinen quelloffenen Kernel-Treiber. Die Community hat damit Probleme und arbeitet an Alternativen.
- 🐧 "Die #Kielux braucht Euch!" - „Call for Participation“ für die 22. Kieler Open Source und Linux Tage
"Die #Kielux braucht Euch!
Bis Ende Juli könnt Ihr noch Vorträge und Workshops einreichen, um Eure Veranstaltung im September mit Leben zu füllen.
Berichtet im Vortrag über Eure Lieblingssoftware, Euer Projekt oder auch Eure Gedanken zu #Linux, #freieSoftware & #Datenschutz oder gebt Eure Skills in einem Workshop weiter!
Bitte weiterteilen 🐧 ❤️ !"
- Code-Editor: Zed erscheint für Linuxwww.heise.de Code-Editor: Zed erscheint für Linux
Viele Programmierer nutzen derzeit gerne Zed. Der freie Editor besticht durch seine Performance, erschien bislang aber nur für macOS. Jetzt kommt Linux hinzu.
Der Editor ist OpenSource https://www.heise.de/news/Code-Editor-Zed-ab-sofort-Open-Source-9609329.html
- AutoKey: Eigene Tastenkombinationen unter Linux erstellen
Ein Tool welches einem viel Tipparbeit abnehmen kann.
Einführung:
- auf deutsch: autokey (wiki.ubuntuusers.de)
- in English: Autokey: Make Your Own Keyboard Shortcuts in Linux
GitHub:
- Code: AutoKey
- Docs: Introduction to Autokey
- RegreSSHion: Sicherheitslücke in OpenSSH gibt geduldigen Angreifern Root-Rechtewww.heise.de RegreSSHion: Sicherheitslücke in OpenSSH gibt geduldigen Angreifern Root-Rechte
Wer die alte, neue Lücke im SSH-Server ausnutzen möchte, braucht Sitzfleisch: Bis zur Root-Shell dauert es 8 Stunden. Dafür klappt der Angriff aus der Ferne.
Weiterer Artikel zum Thema:
- Frage | Kompatibilität von Linux (ZorinOS) auf einem HP Omen 16
Hallo liebe Community,
ich habe mir gestern einen HP Omen 16 bestellt, genauer gesagt diesen hier: https://www.cyberport.de/notebook-und-tablet/notebooks/hp/pdp/1c48-014/hp-omen-16-wd0275ng-16-1-144hz-fhd-ips-i7-13620h-16gb-512gb-ssd-rtx4060-win11.html
Jetzt bin ich am Überlegen mir statt Windows 11 evtl. Zorin OS (Pro) darauf zu installieren. Ich bin mir unsicher, denn als ich meine Recherche begann meinten manche Menschen das der HP Omen dafür absolut nicht geeignet ist und man manche Treiber evtl. nachinstallieren muss bzw. auf Linux nicht funktionieren - andere wiederum meinten, dass sie keine Probleme dabei feststellen konnten.
Konntet ihr bereits damit Erfahrungen sammeln? Ich bin euch dankbar wenn ihr eure Erfahrungen teilt!
- Televido 0.4.0 veröffentlicht
Ich habe heute Televido Version 0.4.0 veröffentlicht. Televido bietet Zugang zu Livestreams und Mediatheken der öffentlich-rechtlichen Rundfunksender. Ermöglicht wird das ganze durch APIs des MediathekView-Projekts.
Version 0.4.0 bietet die Möglichkeit, die Auswahl der Live-Sender zu berbeiten und die Mediathek-Suche nutzt nun die erweiterte Such-Syntax von MediathekViewWeb.