[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Fehler beim Upgrade von Lenny auf Squeeze in /etc/shells



Peter Wiersig <friese@london087.server4you.de> wrote:
> On Tue, 14 Feb 2012 15:03:45 +0100, "CSI | Patrick G. Stößer" <patrick.g.stoesser@csi.uni-heidelberg.de> wrote:
>>
>> Zumindest, wenn man manuell eine Shell in /etc/shells eingetragen hatte 
>> (bei mir war es /bin/false wegen vsftpd), wird der Eintrag /bin/dash 
>> nicht ein eine neue Zeile geschrieben, sondern an die letzte Zeile 
>> angehängt, so dass also /etc/shells statt
>>
>> [...]
>> /bin/false
>> /bin/dash
>>
>> so aussieht:
>>
>> [...]
>> /bin/false/bin/dash
>>
>> was natürlich zu Ärger führt.
>>
>> Ist das schon bekannt?
> 
> Naja, in alter Unix-Tradition ist es ein Fehler, wenn die letzte Zeile
> einer Textdatei nicht in einem Newline-Zeichen endet, daher
> funktionieren dann krude Editiermethoden ala "echo /bin/dash >>
> /etc/shells" dann ganz gut. Wie am Ende gezeigt beschweren sich auch
> einige Utilities ueber das Fehlen des Zeilenendezeichens.
> 
> Ich denke nicht das die Upgrade-Skripte dahingehend geaendert werden das
> alle moeglichen Probleme mit der Handeditierung von Confdateien
> abgefangen werden koennen.

Das stimmt schon, aber vielleicht ist das Problem trotzdem einen
Bugreport wert an das Paket debianutils, oder zumindest einen
Feature-Request.  Der Befehl add-shell könnte durchaus so einen Fehler
korrigieren oder bei unkorrigierbaren Fehlern aussteigen.  Er könnte
auch überprüfen, ob die Shell, die man hinzufügen will, überhaupt
existiert.

Die Upgradeskripte verwenden vmtl. diesen Befehl, um die dash
hinzuzufügen.  Da nirgendwo überprüft wird, ob die /etc/shells überhaupt
gültig war, wird der Fehler dann erst nach dem Upgrade sichtbar.

Gruß,
- Dietrich


Reply to: