• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

Packet Manager Frage (Debian)

Tablet

gesperrt

Registriert
14 Feb. 2018
Beiträge
16
Hallo,

lerne gerade mit Debian genauer umzugehen. Dabei habe ich aber ein Problem etwas zu verstehen und zwar geht es um die Packetverwaltung.

Worin liegt nun genau der Unterschied in:

#: apt
#: apt-get
#: dpkg
#: aptitude

aptitude ist mir der Unterschied klar, weil man eine GUI hat und da nett hin und her springen kann, um zu sehen, was man schon so installiert hat oder nicht. Also der Nachkommer von dselect. Der Rest ist mir unklar. Ich nutze zwar alle und weiss, wozu man die Befehle braucht, aber deren Unterschiede habe ich nie genau Begriffen.
 

KingJamez

Aktiver NGBler

Registriert
18 Juli 2013
Beiträge
501
apt - packete und quellen verwalten
apt-get - packete installieren
dpkg - debian package manager lässt dich *.deb packete installieren
aptitude - hast du dir selber erklärt

ich hoffe meine ausführungen sind richtig, die Linux Profis werden wohl gleich meckern ;)
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.561
Nur mal Auszüge zu "apt", "apt-get", "dpkg" und einen Link ins Debian Wiki, das auch noch mehr wiedergibt, bevor ich Blödsinn erzähle:

> whatis apt-get
apt-get (8) - APT-Werkzeug für den Umgang mit Paketen - - Befehlszeilenschnittstelle

> apt-get

apt-get ist ein Befehlszeilenwerkzeug zum Herunterladen von Paketen (und
Informationen zu diesen Paketen) von authentifizierten Paketquellen sowie
für deren Installation, Aktualisierung und Entfernung zusammen mit ihren
Paketabhängigkeiten.

> whatis apt
apt (8) - Befehlszeilenschnittstelle

> apt

apt ist ein Paketmanager für die Befehlszeile und bietet Befehle für die
Suche und Verwaltung von Paketen sowie für die Abfrage von Informationen
zu diesen Paketen.
Es stellt die gleiche Funktionalität zur Verfügung wie die spezialisierten
APT-Werkzeuge apt-get und apt-cache, aber seine Optionen sind eher passend
für die interaktive Nutzung.

Und soweit ich es verstehe, ist "apt" der Nachfolger von "apt-get". Allerdings gebe ich zu, habe ich mich nicht mit den detaillierten Unterschieden befasst.

Zu "dpkg" gibt es nur zu sagen: Es erlaubt, wie KingJamez sagt, Debian ".deb" zu installieren. Das ist daher der Debian-"Hauseigene" Paketinstalle bzw. Verwaltungsinstrument. Und wie man hier lesen kann, nutzt apt (dann auch apt-get intern) beide "dpkg" um heruntergeladene Pakete zu installieren, Versionsnummern zu prüfen, oder zu Updates zu fahren. Vermutlich wird hier aber auch mehr stecken als nur "dpkg" Befehle, zum Beispiel die Verwaltung von Repositorys... das muss dir aber ein Guru erklären :D

> whatis dpkg
dpkg (1) - Paketverwalter für Debian

> dpkg

dpkg
dpkg: Fehler: eine Aktions-Option wird benötigt

Nutzen Sie dpkg --help für Hilfe zur Installation und Deinst. von Paketen [*];
Benutzen Sie »apt« oder »aptitude« für benutzerfreundliches Paketmanagement;
Nutzen Sie dpkg -Dhelp für eine Liste von Debug-Flags von dpkg;
Nutzen Sie dpkg --force-help für eine Liste von Optionen zum Erzwingen;
Nutzen Sie dpkg-deb --help für Hilfe zum Manipulieren von *.deb-Dateien;


Im Gründe würde ich fast so weit gehen zu sagen: apt und apt-get sind "Frontends" (also Hilfsmittel) um dpkg anzusteuern bzw. arbeiten zu lassen. Nur vielleicht mit "netterem" Interface.

Ansonsten würde ich dem Link "hier lesen" folgen und dort nachlesen.
 
Zuletzt bearbeitet:

Tablet

gesperrt

Registriert
14 Feb. 2018
Beiträge
16
  • Thread Starter Thread Starter
  • #6
Okay, was ihr hier schreibt habe ich mir schon so im Vorfeld gedacht.

Ich nutze immer apt-get. Warum? Ich habe es so immer in anderen tutorials gesehen und mir das einfach angeignet. Aber apt wird wohl die "moderne" Abwandlung sein. Wie die von "less" zu "more". Ob jetzt apt oder apt-get empfohlen wird, wird wohl mehr eine religioese Frage sein, zumindest denke ich das mal so.

dpkg habe ich eig. nur in peto, wenn ich i368 Architecture adden muss, um software zu installieren, welche nur mit 32Bit funktionieren. Ansonsten nutze ich es als Substitut zu "apt-cache show package" bspw. "dpkg -la | grep ...".

Bei apt ist mir nur aufgefallen, dass es i.vgl. zu apt-get farbig ist.

Man hat seine Mittel und wege mit Bash, aber auch mir sind manchmal die unterschied nicht klar und doch sollte man sie wissen m.M.n.
 

Metal_Warrior

Defender of Freedom
Teammitglied

Registriert
10 Aug. 2013
Beiträge
6.830
Ort
/dev/mapper/home
@Tablet: apt-get ist halt die Variante, wenn du genau weißt, was du haben willst. apt ist der Überbau, kann mehr, nutzt im Hintergrund unter Anderem apt-get.

dselect ist übrigens nicht wirklich veraltet - dselect wird für Updates gern genommen, um automatische Deinstallation zu ermöglichen. Ein apt-get upgrade deinstalliert nämlich keine Abhängigkeits-Pakete, selbst wenn es für die Installation des Updatekandidaten nötig wäre. apt-get dselect-upgrade hingegen zieht das System aktuell, und wirft veraltete Pakete auch weg (Beispiel: lib1 wurde von einem Paket installiert, im Updatekandidat wurde lib1 aber vom Paketbetreuer verworfen und durch die neuere und mächtigere lib2 ersetzt, die nur installiert werden kann, wenn lib1 entfernt wird. apt-get update hält den Updatekandidaten zurück, apt-get dselect-upgrade deinstalliert lib1 und installiert lib2 sowie den Updatekandidaten).

dpkg ist ein Reparaturtool, und teilweise nötig für DEB-Pakete, die nicht in den Quellen liegen. Sollte man nur einsetzen, wenn man weiß, was man da treibt.
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.561
Edit: Die Aussagen sind evtl. zwar korrekt aber nicht sauber, hier wird der Weg mit "apt-get" beschrieben, Post #9 von phre4k, der wohl besser ist.

----

Was es zu "dpkg" auch noch zu sagen gibt, wenn man Pakete "bewusst" (!) downgraden will, zum Beispiel weil man wegen einer Software eine bestimmte Version benötigt, geht das nur mit "dpkg" und einem .deb-Paket.

dpkg kann ein Paket auch bewusst downgraden. (respektiv: Man installiert eine ältere .deb Version über die neue Version von apt!)

"apt" und ich glaube auch "apt-get" erlauben dagegen nur den Weg "vorwärts", heißt, so bald eine neue Version in den Repositories/Paketquellen enthalten ist, trotz "downgrade" oder Installation mit "dpkg" und man nicht speziell "apt-mark hold Paketname" verwendet hat, wird geupgradet, so bald das Paket offiziell verfügbar ist und nicht auch für ein "dist-upgrade" vorenthalten worden ist.

> apt-mark hold pakete/unhold pakete/show

und ähnliches mußte ich aber bisher wirklich nur einmal einsetzen. Es ist aber gut zu wissen, das man mit dpkg alte Version "überinstallieren" kann (ob man das generell will, vielleicht nicht, aber der Fall kann eintreten) - aber wenn "apt" oder ein automatisches Update über die apt mal etwas bricht, kann man über dpkg und mit der richtigen .deb - wieder zu einer Version zurückkehren.

Ansonsten sei natürlich gesagt, wenn man ein Paket über dpkg installiert, was nicht in den Paketquellen enthalten ist, bzw. hinzugefügt worden ist in den Repositories in "sources.list" oder im Ordner "sources.list.d/softwareNameQuelle.list" , muß man sich selbst um Updates dafür bemühen.

Edit: Die Downgrade Option hängt natürlich auch davon ab, ob andere Pakete nicht schon die neue Version brauchen/andere Abhängigkeiten da sind, die man dann auch noch auflösen muß. ;)
 
Zuletzt bearbeitet:

Metal_Warrior

Defender of Freedom
Teammitglied

Registriert
10 Aug. 2013
Beiträge
6.830
Ort
/dev/mapper/home
Ich wollts grad sagen, normalerweise arbeitet man nicht mit dpkg am Paketmanager vorbei - dpkg entpackt nur und kann ein bisschen rumreparieren, was wichtig ist, wenn apt wegen inkonsistentem Status aussteigt, aber sonst ist das wirklich nur für Leute, die wissen, was sie damit treiben!
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.561
Danke @phre4k, dass wusste ich nicht, dann hab ich das bisher falsch gehandhabt mit komischen dpkg "downgrades"/überinstallieren von neuen Versionen (kam aber nur einmal vor bei mir).

Löst die Variante über "apt-get" mit Versionsnummerangabe aber auch gleich (Versions-) Abhängigkeiten zu anderen Paketen auf? Bzw. werden die mit gedowngradet?
Oder muß man dann eher Paket für Paket selbst downgraden?
 

Metal_Warrior

Defender of Freedom
Teammitglied

Registriert
10 Aug. 2013
Beiträge
6.830
Ort
/dev/mapper/home
@theSplit: apt kümmert sich um ein konsistentes System, löst daher auch Abhängigkeiten richtig auf. Zumal Abhängigkeiten meist als "Version gleich oder höher als 2.3.xy" definiert sind - neuere Pakete machen daher selten Probleme.
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.561
@Metal_Warrior: Gut, das wollte ich nur klarstellen, weil du im zweiten Satz von "neuen" Paketen gesprochen hast.

Ich frage mich nur gerade, wenn ein Paket eine Abhängigkeit hat in Version 1.2.4, die explizit benötigt (wegen einer Funktion), aber aktuell 1.2.5 der Abhängigkeit aktuell ist, ein "von bis Version" erlaubt, gibt es das bzw. das "explizit"? Bzw. ist so etwas möglich?

Die Frage ist vielleicht auch etwas zu weit gedacht, aber ich stelle es mir vor, wenn ich Software schreibe die mit einer LibX 1.2 funktioniert, aber 2.0 bricht mein System. Im Grunde kann ich ohne "irgendeine" Angabe ja nichts "einschränken". Außer den Fehler festzustellen und dann zu hoffen das "ich" was kompatibel machen kann. Bzw. mir der Fehler gemeldet wird bzw. "es auffällt".

Wenn die Frage zu weit geht, lassen wir das mal sein, aber das kommt mir gerade in den Sinn.
 
Zuletzt bearbeitet:

Tablet

gesperrt

Registriert
14 Feb. 2018
Beiträge
16
  • Thread Starter Thread Starter
  • #17
Da ich gerade das Kapitel dazu vor mir liegen habe, hier direkt aus dem Debain Handbuch:

The dependencies are defined in the Depends field in the package header. This is a list of condi-
tions to be met for the package to work correctly — this information is used by tools such as apt
in order to install the required libraries, in their appropriate versions, that the package to be
installed depends on. For each dependency, it is possible to restrict the range of versions that
meet that condition. In other words, it is possible to express the fact that we need the pack-
age libc6 in a version equal to or greater than “2.3.4” (written “ libc6 (>=2.3.4) ”). Version
comparison operators are as follows:
• << : less than;
• <= : less than or equal to;
• = : equal to (note that “ 2.6.1 ” is not equal to “ 2.6.1-1 ”);
• >= : greater than or equal to;
• >> : greater than.

Mein System update mach ich immer mit:
apt-get update -y && apt-get upgrade -y && apt-get dist-upgrade -y

Installation and Upgrade
Here is what happens during an installation (or an update):
1. For an update, dpkg calls the old-prerm upgrade new-version .
2. Still for an update, dpkg then executes new-preinst upgrade old-version ; for a first
installation, it executes new-preinst install . It may add the old version in the last
parameter, if the package has already been installed and removed since (but not purged,
the configuration files having been retained).
3. The new package files are then unpacked. If a file already exists, it is replaced, but a
backup copy is temporarily made.
4. For an update, dpkg executes old-postrm upgrade new-version .
5. dpkg updates all of the internal data (file list, configuration scripts, etc.) and removes the
backups of the replaced files. This is the point of no return: dpkg no longer has access to
all of the elements necessary to return to the previous state.
6. dpkg will update the configuration files, asking the user to decide if it is unable to auto-
matically manage this task. The details of this procedure are discussed in section 5.2.3,
“Checksums, List of Configuration Files” page 84.
7. Finally, dpkg configures the package by executing new-postinst configure last-ver
sion-configured .
 

Metal_Warrior

Defender of Freedom
Teammitglied

Registriert
10 Aug. 2013
Beiträge
6.830
Ort
/dev/mapper/home
@Tablet: dist-upgrade gibt es für einen einzigen Zweck: Distributionen auf neue Majorversionen ziehen. Es ständig zu verwenden ist zwar möglich, aber unsinnig.

[src=bash]sudo apt-get update && sudo apt-get dselect-upgrade && sudo apt-get autoremove && sudo apt-get autoclean[/src]

Das hält dir dein System schön sauber und aktuell.
 
Oben