'apt' - Fragen, Erkennen und Verstehen ??

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
JTH
Moderator
Beiträge: 3023
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: 'apt' - Fragen, Erkennen und Verstehen ??

Beitrag von JTH » 10.01.2022 12:43:03

Meillo hat geschrieben: ↑ zum Beitrag ↑
10.01.2022 12:03:42
@JTH: Ich weiss nicht, ob du das richtig verstanden hast. Es geht und diese zwei Zeilen:
[…]

Beides Mal ist es `apt'.
Ah ja, ich hab mich primär auf diese Beobachtung bezogen:
whiizy hat geschrieben: ↑ zum Beitrag ↑
08.01.2022 10:37:22
Der Befehl apt-get macht hingegen die TAB-Ergänzung noch in beiden Schreibweisen.

Anscheinend ist es doch ein winziger Bug:
Die Vervollständigung schaut in dieser Zeile

Code: Alles auswählen

        if [[ ${COMMANDS[@]} =~ ${words[i]} ]]; then
ob eins der bereits eingegebenen Wörter (=Parameter für das aufzurufende Programm) einem der Kommandos (install, remove, …) entspricht. Wenn man apt -s eingetippt hat, ist das einzige zu vergleichende Wort das -s. In obigem if matcht das -s dummerweise das edit-sources aus dem COMMANDS-Array. Damit wird im weiteren versucht, passende Optionen für das Kommando „-s“ vorzuschlagen – die es offensichtlich nicht gibt. Und die eigentlichen Kommandos werden schließlich hier

Code: Alles auswählen

    if [ "$command" = "" ]; then
        COMPREPLY=( $( compgen -W '${COMMANDS[@]}' -- "$cur" ) )
    fi
auch nicht mehr vorgeschlagen, weil die Variable $command nicht mehr leer ist, sondern „-s“ enthält. Das Problem könnte wegen build-dep auch die kurze Option -d betreffen.

Möchte das jemand melden? :wink: Eine Lösung wäre wohl, diese faule Variante eines ist-das-Wort-im-Array-Vergleichs durch eine Schleife über alle COMMANDS-Elemente und jeweils einzelnem Vergleich zu ersetzen.
Manchmal bekannt als Just (another) Terminal Hacker.

Benutzeravatar
Meillo
Moderator
Beiträge: 8817
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: 'apt' - Fragen, Erkennen und Verstehen ??

Beitrag von Meillo » 10.01.2022 13:23:58

JTH hat geschrieben: ↑ zum Beitrag ↑
10.01.2022 12:43:03
Anscheinend ist es doch ein winziger Bug:
Die Vervollständigung schaut in dieser Zeile

Code: Alles auswählen

        if [[ ${COMMANDS[@]} =~ ${words[i]} ]]; then
ob eins der bereits eingegebenen Wörter (=Parameter für das aufzurufende Programm) einem der Kommandos (install, remove, …) entspricht. Wenn man apt -s eingetippt hat, ist das einzige zu vergleichende Wort das -s. In obigem if matcht das -s dummerweise das edit-sources aus dem COMMANDS-Array.
Toller Fund! :THX: Das scheint mir plausibel zu sein.

Eine Lösung wäre wohl, diese faule Variante eines ist-das-Wort-im-Array-Vergleichs durch eine Schleife über alle COMMANDS-Elemente und jeweils einzelnem Vergleich zu ersetzen.
(Btw: Da hast du nochmal die URL von oben reinkopiert. Das wolltest du bestimmt nicht.)

Ich denke, man koennte das auch so loesen:

Code: Alles auswählen

        if [[ ${COMMANDS[@]} =~ "^${words[i]}" ]]; then
Wenn wir eh schon mit Regexps matchen, dann koennen wir auch den Wortanfang ankern ... vermute ich mal. Mit [[ und =~ kenne ich mich aber nicht aus, insofern sollte man das nur als Idee ansehen.


Das ist ein schoener Bug, bei dem man die Aenderung der in der Completion-Datei gut selber testen und dann einen Bugreport inkl. Patch absetzen. @JTH: Halte dich fest, wenn sich gleich die Massen darauf stuerzen. ;-)
Use ed once in a while!

JTH
Moderator
Beiträge: 3023
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: 'apt' - Fragen, Erkennen und Verstehen ??

Beitrag von JTH » 10.01.2022 15:27:06

Meillo hat geschrieben: ↑ zum Beitrag ↑
10.01.2022 13:23:58
(Btw: Da hast du nochmal die URL von oben reinkopiert. Das wolltest du bestimmt nicht.)
Doch doch, das sollte der gleiche Link sein. Einfach nochmal zum Verdeutlichen.

Meillo hat geschrieben: ↑ zum Beitrag ↑
10.01.2022 13:23:58
Ich denke, man koennte das auch so loesen:

Code: Alles auswählen

        if [[ ${COMMANDS[@]} =~ "^${words[i]}" ]]; then
Wenn wir eh schon mit Regexps matchen, dann koennen wir auch den Wortanfang ankern ... vermute ich mal. Mit [[ und =~ kenne ich mich aber nicht aus, insofern sollte man das nur als Idee ansehen.
Das geht leider nicht (wenn ich mich nicht komplett täusche). Der Operator =~ macht dort wegen des Arrays nichts spezielles – also er vergleicht nicht, weil der linke Operand ein Array ist, alle Arrayelemente mit dem rechten Operanden. Deshalb geht diese Suche ganz sauber nur über eine Schleife. Was in dem if effektiv steht ist Folgendes (einige Kommandos ausgelassen für die Lesbarkeit):

Code: Alles auswählen

        if [[ "list search show showsrc install remove […]" =~ "^${words[i]}" ]]; then
Und in dem hier beobachteten Fall eben

Code: Alles auswählen

        if [[ "[…] dist-upgrade edit-sources help […]" =~ -s ]]; then
Man könnte allerdings tricksen mit Leerzeichen um beide Operanden:

Code: Alles auswählen

        if [[ " ${COMMANDS[@]} " =~ " $1 " ]]; then
Das würde das Problem auch einfacher lösen.


Meillo hat geschrieben: ↑ zum Beitrag ↑
10.01.2022 13:23:58
Das ist ein schoener Bug, bei dem man die Aenderung der in der Completion-Datei gut selber testen und dann einen Bugreport inkl. Patch absetzen.
Mal gucken, vielleicht probier ich mich die Tage mal an meinem ersten Mini-Bugreport bei Debian. Wird Zeit nach 15 Jahren.

Meillo hat geschrieben: ↑ zum Beitrag ↑
10.01.2022 13:23:58
Halte dich fest, wenn sich gleich die Massen darauf stuerzen. ;-)
Du meinst die wilde Awok-Horde, die sich dieses Jahr noch nicht gezeigt hat? ;)
Manchmal bekannt als Just (another) Terminal Hacker.

reox
Beiträge: 2464
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: 'apt' - Fragen, Erkennen und Verstehen ??

Beitrag von reox » 20.01.2022 17:25:26

Es war ja auch die Frage was bei einem pointrelease passiert, jetzt hab ich endlich mal die Ausgabe gesehen:

Code: Alles auswählen

# apt update
Holen:1 http://security.debian.org/debian-security bullseye-security InRelease [44,1 kB]
Holen:2 http://deb.debian.org/debian bullseye InRelease [116 kB]
Holen:3 http://deb.debian.org/debian bullseye-updates InRelease [39,4 kB]
Holen:4 http://security.debian.org/debian-security bullseye-security/main amd64 Packages [108 kB]
Holen:5 http://security.debian.org/debian-security bullseye-security/main Translation-en [68,6 kB]
Holen:6 http://deb.debian.org/debian bullseye/main amd64 Packages [8.183 kB]
Holen:7 http://deb.debian.org/debian bullseye/main Translation-en [6.243 kB]
Es wurden 14,8 MB in 5 s geholt (3.020 kB/s).
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Aktualisierung für 21 Pakete verfügbar. Führen Sie »apt list --upgradable« aus, um sie anzuzeigen.
N: Für das Depot »http://deb.debian.org/debian bullseye InRelease« wurde der »Version«-Wert von »11.1« in »11.2« geändert.
Diese Meldung meinte ich und das ist auch das einzige was sich ändert, upgrade/full-upgrade wissen davon dann gar nichts.
Wenn ich mich recht erinnere, kann man auch irgendwie einstellen, dass dann eine Frage kommt ob das OK ist. Aber wie genau weiß ich jetzt adhoc auch nicht mehr...

JTH
Moderator
Beiträge: 3023
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: 'apt' - Fragen, Erkennen und Verstehen ??

Beitrag von JTH » 01.02.2022 18:05:11

JTH hat geschrieben: ↑ zum Beitrag ↑
10.01.2022 15:27:06
Meillo hat geschrieben: ↑ zum Beitrag ↑
10.01.2022 13:23:58
Das ist ein schoener Bug, bei dem man die Aenderung der in der Completion-Datei gut selber testen und dann einen Bugreport inkl. Patch absetzen.
Mal gucken, vielleicht probier ich mich die Tage mal an meinem ersten Mini-Bugreport bei Debian. Wird Zeit nach 15 Jahren.
Meine Fehlerkorrektur ist – neben ein paar separaten anderen kleinen Verfeinerungen, wenn man schon dabei ist – im APT-Repo angekommen :)
Manchmal bekannt als Just (another) Terminal Hacker.

Benutzeravatar
Meillo
Moderator
Beiträge: 8817
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: 'apt' - Fragen, Erkennen und Verstehen ??

Beitrag von Meillo » 01.02.2022 18:24:01

Klasse! :THX:

Dafuer gibt's natuerlich eine DFDE-Keks:
Bild
Use ed once in a while!

JTH
Moderator
Beiträge: 3023
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: 'apt' - Fragen, Erkennen und Verstehen ??

Beitrag von JTH » 01.02.2022 18:29:04

*yay* :lol: Schnell aufgegessen, bevor der Dino um die Ecke kommt. Ich seh ihn doch schon unter dem Thread in der „Wer ist online in diesem Forum“-Liste :twisted:
Manchmal bekannt als Just (another) Terminal Hacker.

Benutzeravatar
TRex
Moderator
Beiträge: 8074
Registriert: 23.11.2006 12:23:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: KA

Re: 'apt' - Fragen, Erkennen und Verstehen ??

Beitrag von TRex » 01.02.2022 18:34:39

(。◕‿‿◕。) Keks?
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

Antworten