marcus-s baut EUCH eine Distro #5: Entwurf eines Package Managers | #linux #lfs #systmatic

preview_player
Показать описание
--------------------------
--------------------------

In diesem Video beginne ich mit dem Entwurf und Entwicklung eines eigenen Package Managers für meine Distro: systmPack. Zusätzlich dazu beginne ich mit einer Kernkomponente, die später von allen Tools in meiner Distro benutzt wird (libSystm). Geschrieben wird alles in C++.

*** Alle Meinungen, Kritiken, Diskussionen, sind willkommen! Aber ich bitte Dich: bleibe sachlich und freundlich in den Kommentaren, damit es konstruktiv wird. Nutzer die in unschöne Tonfälle verfallen - mir und anderen Nutzern gegenüber - werde ich aus dem Kanal ausblenden. Das heisst u.A., dass Kommentare und andere Interaktionen des Nutzers nicht mehr sichtbar sein werden. Kurz gesagt: Netiquette bewahren. ***

Kanalmitglied werden und meine Videos 48 Stunden vorher und OHNE Werbung sehen:

Weitere Links und Informationen:

-----

Direkter Kontakt:

Wer mag, kann den Kanal durch eine Spende via PayPal unterstützen! Konto:

Höre meine Musik soviel Du willst, kostenlos:

Folge mir auf Twitter:

Configs und Scripts:

Videos werden bearbeitet mit:
Blender VSE

-----

Ending:
"Summer Cityscape" by marcusonic
Written, composed and produced by marcusonic
Рекомендации по теме
Комментарии
Автор

mega geiles projekt wenn die distro installier fertig ist werde ich die definitv testen

Lapanenon
Автор

Ich freue mich jetzt schon auf die fertige distro 🥰

timoaltenberg
Автор

Moin Marcus, hast du das Distro Projekt aufgegeben oder machst du damit weiter? Frage für einen Freund ;-)

gerds.
Автор

Mal als kleine Frage. Ich habe überlegt, systematic als Hauptbetriebssystem einzusetzen. Daher möchte ich fragen, wie es mit der Pflege des Betriebssystems aussehen wird. Rolling Release wäre sehr praktisch...

ASAG
Автор

Neben Abhängigkeiten machen auch Empfehlungen Sinn, vergleich APT-recommendations.

Zusätzlich würde ich lokal auch alle Abhängigkeiten speichern, sonst tust du dich schwer beim deinstallieren, bzw weißt du dann nicht mehr, welche Pakete du auf deinem System hast, die womöglich garnicht mehr benötigt werden. Stichwork auto-remove etc.

DomiDaPro
Автор

Da hab ich einige Ideen und Anregungen mit genommen. Ich denke ich würde solche lowlevel tools heute nicht mehr in C++ schreiben, sondern direkt in Rust. Uuuuund wieder eine Projekt-Idee auf der ewigen Projekte Liste :D

grimfistgaming
Автор

Du hast bei den Fieldnames die dependencies mit drin, als 5. Vektorelement, für das es a) keine Entsprechung in den fieldtypes gibt, und b) gehört die laut deinem Design nur in die Server-DB.

dschoene
Автор

Das ist eines der ganz wenigen Tutorials, die wirklich super brauchbar und zugleich rar sind. Herzlichen Dank dafür!!!
Btw.: muss man einen eigenen Paketmanager (oder überhaupt in irgend einem [anderen] Bereich eigene Software) schreiben? Kann man da nicht einen bereits existierenden nehmen? Z.B. 'dpkg', resp. 'apt' oder so?

deekay
Автор

Einen Abhängigkeiten Abgleich solltest du trotzdem einbauen da du sonst beim entfernen eines Pakets das die Abhängigkeit eines anderen Pakets auflöst auf längere Sicht gesehen richtig Probleme bekommen kannst

RantOfTheDay
Автор

es wahr recht interessant ich verstehn zwar nichts von programmieren denoch sehr aufschluß reich. ich denk das du besser fährst wen du den managers zuende schreibst und ihn den in ein seperaten Video erklärst ansonsten super Video.

matuphburg
Автор

Ich finde es gut, das du es in cpp schreibst. Um so mehr frage ich mich, wieso viele Python in Linux verwenden.

Linux_Dev_de
Автор

Hallo Marcus ich finde diese Video Reihe echt super. Mein Wunsch wäre es eine recht cleane distro also so wenig wie möglich Programme vor installiert. Ich werde mich aber selber mal daran setzen eine distro zu bauen.

cybrbyk
Автор

Jetzt wird's richtig interessant! Freue mich riesig auf weitere Folgen!

Müsste aber nicht auch noch neben den Abhängigkeiten eine Liste mit nicht kompatiblen Paketen (also welche, die nicht gleichzeitig installiert sein dürfen) existieren? Oder wird das mit den Abhängigkeiten zusammen gemacht?

Müsste die Client Datenbank nicht auch über eine Abhängigkeiten-Liste verfügen? Weil sollte das "Hauptpaket" wieder deinstalliert werden, würden die dafür mit installierten Abhängigkeiten auf dem System installiert bleiben und "vergessen" werden, sowas wie autoremove bei apt wär dann doch eigentlich nicht möglich (oder?).

liemaeu
Автор

Ob ich den wohl in meine Distribution verändert (Zukunft) integrieren dürfte?

techno-games
Автор

Ich fände es cool, wenn man alle pakete von der Quelle selber kompilieren kann, aber auch vorkompiliert nutzen kann

lx
Автор

Mann könnte Funktionen für die Installation von Software auf anderen Festplatten einbauen sowie die Möglichkeit kein das System über den pkgmgr zu installieren ähnlich wie bei opensuse

techno-games
Автор

ALTER HEFTIG nen eigener Packetmanager. Sowas finde ich echt genial. Ich freue mich sehr auf die Distro. Allerdings hätte ich den Pfad etwas geändert, dass lässt sich aber so nicht machen, da ich eine ganz andere Root Struktur genommen hätte, ist aber nicht schlimm. Soll diese Distro am Ende eher für Desktop PC's oder für Server gedacht sein?

philipp
Автор

Da irgendwie anzufangen sich ne eigene Ordnerstruktur zurechtzupfriemeln, halte ich nichts von ... Der Ordner für beispielsweise Konfigurationsdateien ist /etc

saschavloggt
Автор

Wer braucht noch einen der genau so funktioniert wie alle anderen? Ein dezentraler auf p2p basis wäre mal eine coole Innovation! Theoretisch müsste man sich ja gegenseitig mit Paketen versorgen können! Somit hätte man ein Server unabhängiges SYSTEM welches sich selbst ständig mit Updates versorgt welche von den Nutzern entwickelt werden.... als rolling release hättest dann ein Betriebssystem welches so unabhängig ist wie es nur irgendwie geht, und nur dann sterben könnte wenn keiner mehr eines am laufen hat. Setzt natürlich vorraus das ein gewisser anteil der user die weiterentwicklung betreibt, an stelle von einem Entwickler Team. Des Entwickler - User dogma müsste zuerst gebrochen werden...

youtubeEXIT
Автор

Hi marcus_s,
ich finde deine videos echt super! Vielen Dank, dass du dir so viel Mühe gibst!
Kann es sein, dass dir in packagedb.cpp ein kleiner Fehler unterlaufen ist? Ich glaube, du hast den Datentyp von dependencies vergessen (bzw erst hast du nur die Deklaration von t5 vergessen und am Ende das push_back gelöscht.)

felix