Seite 1 von 1

gelöst:Verzögerung nach Drücken von Tab bei urpmi in Konsole

BeitragVerfasst: Jul 20th, '11, 22:21
von Latte
Hallo zusammen,

Mir ist folgendes aufgefallen:
Man kann ja Befehle oder Pfade in der Konsole mittel der Tab-Taste automatisch vervollständigen lassen bzw. es werden vorhandene Alternativen aufgelistet. In Mageia werden jetzt ja auch vorhandene Programme bei urpmi gesucht wenn man Tab drückt (so weit ich mich erinnere war das unter Mandriva noch nicht vorhanden). Das weniger schöne daran ist, dass dann bei mir eine CPU für mehrere Sekunden auf 100% hochschnellt und die Konsole auch für 5-10 sek lahmgelegt ist. D.h auch wenn man den Namen des Programms weiterschreibt, reagiert die Konsole erst verzögert.
Prinzipiell finde ich das Feature ja super. Da ich reflexmäßig jedoch des öfteren Tab in der Konsole drücke, stört mich diese Verzögerung ein wenig... :?

a) Kann jemand das reproduzieren?
b) Falls ja, hat jemand eine Idee für einen Lösungsansatz (Funktion abschalten, etc)?
c) Ist sowas einen Bug-Report wert?

Viele Grüße,
Marc

Re: Verzögerung nach Drücken von Tab bei urpmi in der Konsol

BeitragVerfasst: Jul 20th, '11, 22:47
von wobo
Doch, das war unter Mandriva schon lange vorhanden, man musste nur das Paket bash-completion installieren (gehörte nicht zum Standard).

Die Verzögerung kommt dadurch zustande, dass Du mit der Tab-Taste einen Suchlauf startest. Bei Befehlen geht das sehr schnell, da dabei nur der $PATH durchsucht wird. Bei urpmi dauert das länger, da das gesamte Paketvolumen durchsucht werden muss.
- gewöhn Dir das TAB-Drücken ab :)
- entferne mal das Paket bash-completion - ich weiß aber nicht, ob das irgendwelche nebenwirkungen hat. Außerdem würde dann das Globbing bei urpmi nicht mehr funktionieren
(Oder hat sich das mittlerweile geändert? Meine Erinnerung daran ist wohl schon 2-3 Jahre alt)

Re: Verzögerung nach Drücken von Tab bei urpmi in der Konsol

BeitragVerfasst: Jul 20th, '11, 22:47
von alf
a) nein; aber verwunderlich ist das doch eigentlich nicht. Dazu muss ja die rpm-Datenbank durchsucht werden. Du gibst einen generischen Paketnamen an, je geringer die Anzahl der signifikanten Zeichen ist, um so höher ist die Anzahl der Treffer und damit der Zeitaufwand für die Suche. Das je nach Anzahl der eingegebenen Zeichen die Suche einige Sekunden(bei mir 2 - 3) dauert, kann ich bestätigen, eine CPU-Last von 100% während der Suche allerdings nicht. Konstatiere hier max. 8~10%( was ich allerdings für einen solchen Prozess schon arg hoch finde).
b) nein
c) wg. a) eigentlich nicht, es sei denn es finden sich noch andere User mit dem gleichen Problem. Ansonsten würde ich das eher als ein lokales(deine Installation betreffendes) Problem halten

edit: wobo war schneller

Re: Verzögerung nach Drücken von Tab bei urpmi in der Konsol

BeitragVerfasst: Jul 20th, '11, 22:54
von doktor5000
Du kannst beim Einrichten der Quellen angeben, dass du die kompletten Metadaten (hdlist.cz statt synthesis.hdlist.cz) haben willst, dann sollte diese Nachdenkpause nicht so lang ausfallen. Denn es wird nicht die RPM-Datenbank abgefragt, was auch relativ schnell gehen würde, sondern die urpmi-Datenbank. Mann kann allerdings auch über einen Eintrag in der ~/.bashrc diese Autoergänzung bei urpmi deaktivieren. Das Entfernen von bash-completion hat übrigens keine größeren Nebenwirkungen, man hat dann halt nur noch die grundlegende Autoergänzung der jeweiligen Shell.

Re: Verzögerung nach Drücken von Tab bei urpmi in der Konsol

BeitragVerfasst: Jul 20th, '11, 22:58
von wobo
Habe eben mal den Selbstversuch gestartet: In der Konsole eingegeben 'urpmi cal [TAB]'
Dauer der Suche: 3-4 Sekunden, 33 Resultate, davon waren 3 Pakete installiert, der Rest nicht.
Code: Alles auswählen
[root@marvin wobo]# urpmi cal
cal10n               calligra-l10n-da     calligra-l10n-gl     calligra-l10n-nl     calligra-l10n-wa
cal10n-javadoc       calligra-l10n-de     calligra-l10n-hu     calligra-l10n-pt     calligra-l10n-zh_CN
calibre              calligra-l10n-el     calligra-l10n-it     calligra-l10n-pt_BR  calligra-l10n-zh_TW
calligra             calligra-l10n-en_GB  calligra-l10n-ja     calligra-l10n-ru     calligra-mobile
calligra-core        calligra-l10n-es     calligra-l10n-kk     calligra-l10n-sv     calligra-words
calligra-devel       calligra-l10n-et     calligra-l10n-nb     calligra-l10n-tr     
calligra-l10n-ca     calligra-l10n-fr     calligra-l10n-nds    calligra-l10n-uk

CPU-Last: einer der 4 Kerne ging auf 100% dabei, die anderen blieben ruhig.

Anschließend das Paket "bash-completion" entfernt (per urpme, keine Abhängigkeiten)
Resultat: das Globbing bei urpmi funktioniert nicht mehr:
Code: Alles auswählen
[root@marvin wobo]# urpmi cal
Kein Paket mit dem Namen cal gefunden
Die folgenden Pakete enthalten cal: ant-scala, cal10n, cal10n-javadoc, calibre, ...
Benutzen Sie »-a«, um alle zu nutzen


Also im Grunde die Bestätigung meiner Aussage und dessen, was der Doktor schrieb

Re: Verzögerung nach Drücken von Tab bei urpmi in der Konsol

BeitragVerfasst: Jul 20th, '11, 23:14
von Latte
Wow, das sind ja schnelle und informative Antworten... (sogar schnell genug für das selbst-editieren des ersten Eintrags)

Vielen Dank für die Infos. Ich werde mal die "bash-completion" entfernen und mal schauen, ob mir dann etwas anderes fehlt ;) Dann kann ich mir alternativ mal die extensive Nutzung der Tab-taste abgewöhnen :D

@dok: Netzwerk-Traffic konnte ich bei der Abfrage nicht beobachten, daher halte ich es fraglich, ob es dadurch schneller geht (aber bekanntlich geht ja probieren über studieren :geek:)

Danke,
Marc