APT/SYNAPTIC: Unterstrich '_' wird durch '%5f' ersetzt

Alles rund um die Installation Eures Linuxsystems, sowie die Updatefunktionen des Systems und das Paketmanagement

Moderator: Moderatoren

Gesperrt
RGimbel
Newbie
Newbie
Beiträge: 3
Registriert: 29. Aug 2005, 16:32

APT/SYNAPTIC: Unterstrich '_' wird durch '%5f' ersetzt

Beitrag von RGimbel » 31. Aug 2005, 18:38

Hallo !

Hat jemand von euch eine Idee zu folgendem Problem (ob es ein Problem von SYNAPTIC oder dem "darunterliegenden" APT ist, ist mir unklar):

Ich habe die Tage ein Update größeren Umfanges per SYNAPTICS bzw. APT durchgeführt. Dabei wurden verschiedene Pakete, in deren Namen ursprünglich ein Unterstrich '_' enthalten ist, dieser Unterstrich durch die Zeichenfolge '%5f' (= ASCII-Code von '_' ?) ersetzt.

Weiterhin kann ich mir ein Verhalten mit in '_' umgewandelten '.' festgestellt, das ich aber noch nicht genau benennen kann. Irgendwie sind '_' vor dem abschliessenden 'i586.rpm' aufgetaucht. An dieser Stelle sind doch sonst nur '.', oder ? An dieser Stelle kann ich jedoch einer Fehlinformation aufsitzen ...

Das Installieren der neuen Pakete nach dem Download wird mit einer Fehlermeldung bzgl. unsigned packages abgebrochen.

Betroffen sind u.a.:
- OpenOffice_org*-1.9.110-1.2.i586.rpm
- OpenOffice_org*-1.9.125-2.1.i586.rpm
- km_fglrx-8.14.13-0.1.i586.rpm

Es ist immer der erste Unterstrich durch %5f-Konstrukt ersetzt, d.h. weitere Unterstriche, z.B. der am Ende bleibt erhalten ...

Woran könnte dieses Verhalten liegen ? Auf den FTP-Servern ( ftp.gwdg.de, mirrors.mathematik.uni-bielefeld.de, ftp.rz.tu-bs.de ) kann ich an den Dateinamen keine Besonderheiten fest stellen ...

Ich habe auch schon versucht durch umstellen der Reihenfolge der ftp-Server das Problem einzugrenzen -- leider ohne Erfolg ...

Das händiche Installieren der heruntergeladenen Pakete in /var/cache/apt/archives scheint problemlos zu funktionieren.

Für sachdienliche Hinweise wäre ich euch dankbar !

Danke !

Gruß,
Reinhard.

Werbung:
Benutzeravatar
oc2pus
Ultimate Guru
Ultimate Guru
Beiträge: 6506
Registriert: 21. Jun 2004, 13:01

Beitrag von oc2pus » 31. Aug 2005, 18:42

das hat so seine Richtigkeit.

Der apt-cache legt die Dateien nach einer bestimmten Namensgenerik ab.

Das passiert immer wenn ein Paketname einen "_" enthält. Zugegeben sieht komisch aus, ist aber so erforderlich :)
tell people what you want to do, and they'll probably help you to do it.
PackMan
LinWiki : Das Wiki für Linux User

RGimbel
Newbie
Newbie
Beiträge: 3
Registriert: 29. Aug 2005, 16:32

Beitrag von RGimbel » 31. Aug 2005, 19:46

Diese Konvention hilft doch irgendwie nicht wirklich weiter, da die Installation der betroffenen Pakete auf Grund dieser Konvention nicht durchgeführt werden.

Irgendwie nicht ganz schlüssig ...

Letztendlch sollte apt/synaptic doch eine Erleichterung bringen. Wenn ich dann doch noch per Hand durch irgendwelche Repositories turnen muss, und anschliessend aufgrund nicht ganz nachvollziehbarer Konventionen Dateien umbenennen muss und von Hand installieren muss, dann ist an der Sache etwas faul, oder ?

Jetzt kommt doch hoffentlich nicht der oft zitierte Spruch "It's not a bug, it's a feature !" ...

Sorry,
Reinhard.

Benutzeravatar
oc2pus
Ultimate Guru
Ultimate Guru
Beiträge: 6506
Registriert: 21. Jun 2004, 13:01

Beitrag von oc2pus » 31. Aug 2005, 20:37

Mooooment!!

du bist es der erst mal lesen sollte, unsignierte Pakete werden eben mal nicht on the flight installiert von apt. Das YaST macht das, eine sehr bedenkliche Sicherheitslücke ;)

Und wenn du meinst das du aus dem apt-cache Pakete via YaST oder rpm manuell installieren musst, bitte, es ist dein System.

Also lies dich erst mal ein, wie du das mit den Signaturen auf die Reihe bringst, dann sehen wir weiter. Dazu gibt es einen extra Thread hier im Forum.

Und bevor man keine Ahnung hat wie ein Tool arbeitet, sollte man sehr vorsichtig sein mit seinen Behauptungen ...
tell people what you want to do, and they'll probably help you to do it.
PackMan
LinWiki : Das Wiki für Linux User

RGimbel
Newbie
Newbie
Beiträge: 3
Registriert: 29. Aug 2005, 16:32

Beitrag von RGimbel » 31. Aug 2005, 20:58

O.k., jetzt versuch' ich 'mal *etwas* zurück zu rudern ...

Ich habe die Fehlermeldungen in soweit interpretiert, dass die Signaturen auf Grund der fehlerhaften Nameskonstrukte ('_' wird bei einem Stringvergleich eben nicht als '%5f' durchgehen [oder umgekehrt]) entstanden sind. Ich gelobe Besserung und werde hier noch etwas weiterforschen.

Oc2pus, Du beisst Dich im Moment leider an der von mir zitierten Fehlermeldung fest, welche aus meiner Sicht die Namens-"Verfremdungen" nicht erklärt ...; Ich wollte diese Fehlermeldung nicht unterschlagen, sonst hätt' ich höchstwahrscheinlich einen auf den Deckel bekommen ...; Wie mann/frau es macht, macht mann/frau es verkehrt ...

Kommen wir zum -- aus meiner bescheidenen Sicht -- Kern des Problems:

Warum zum Teufel werden die von mir weiter obengenannten Dateien denn unter /var/cache/apt/archives nicht mit den gleichen Namen abgelegt, wie sie auf den Servern zufinden sind ? Hast Du -- oder ein anderer Mitleser -- ein schlüssige Erklärung ? Hier scheinen apt* und/oder synaptic noch eine Inkonsistenz oder Unschärfe zu haben. Dies lässt sich im ersten Ansatz nicht unbedingt zwingend mit

[zitat]
Der apt-cache legt die Dateien nach einer bestimmten Namensgenerik ab.

Das passiert immer wenn ein Paketname einen "_" enthält. Zugegeben sieht komisch aus, ist aber so erforderlich Smile
[/zitat]

erklären.

Hat ausser oc2pus jemand noch 'ne Idee ?

Gruß,
Reinhard.

Benutzeravatar
Martin Breidenbach
Ultimate Guru
Ultimate Guru
Beiträge: 5632
Registriert: 26. Mai 2004, 21:33
Wohnort: N 50.17599° E 8.73367°

Beitrag von Martin Breidenbach » 31. Aug 2005, 21:04

Du sollst im apt cache überhaupt nicht rumfummeln. Deswegen ist es egal wie apt die Dateien da ablegt. Wenn etwas im apt cache liegt kannst Du es mit apt install paketname ja installieren. Wenn es nicht im apt cache liegt dann wird es mit apt install paketname eben erst dahin runtergeladen und dann installiert. Wo ist da das Problem ?
Wenn ich dann doch noch per Hand durch irgendwelche Repositories turnen muss, und anschliessend aufgrund nicht ganz nachvollziehbarer Konventionen Dateien umbenennen muss und von Hand installieren muss, dann ist an der Sache etwas faul, oder ?
Äh... seit wann muß man das ? Und wozu ?

Ich gebe zu daß das erstmalige Erstellen der sources.list etwas Gehirnschmalz erfordert (weil man da die 'Gefährlichen' aussortieren sollte) aber danach funktioniert das doch fast automatisch.

Und das mit den Signaturen kann man abschalten.
Zuletzt geändert von Martin Breidenbach am 31. Aug 2005, 21:07, insgesamt 1-mal geändert.
Nicht Böse sein ! Der Onkel macht doch nur Spaß !

Benutzeravatar
oc2pus
Ultimate Guru
Ultimate Guru
Beiträge: 6506
Registriert: 21. Jun 2004, 13:01

Beitrag von oc2pus » 31. Aug 2005, 21:07

ei donnerlüttich ...

schau dir die Source-Codes von apt an ;)

apt nutzt eine bestimmte Namensschablone um die Dateinamen von der Versionsnummer zu trennen. Und wenn in einem Paketnamen ein "_" vorkommt, dann würde apt das falsch interpretieren. Deshalb werden im cache die Dateien alle mit geänderten Namen abgespeichert:

Code: Alles auswählen

SDL_1.2.8-4_i586.rpm
wenn du genau hinschaust, erkennst du <name>_<version>_<architecture>.<type> :)

Code: Alles auswählen

SDL%5fimage_1.2.3-225_i586.rpm
und hier <name>_<version>_<architecture>.<type>, aber der Name enthält in wirklichkeit einen "_" (SDL_image), deshalb wird der beim speichern im apt-cache "maskiert". Wow, ein cleverer Trick!
tell people what you want to do, and they'll probably help you to do it.
PackMan
LinWiki : Das Wiki für Linux User

Gesperrt

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast