Uniadmin
Skip to content

Tar hat keine Eier

Ich hat­te einem Kol­le­gen per Chat geschie­ben, er sol­le, um sein Home­di­rec­to­ry auf sei­nem Ubun­tu-Rech­ner zusam­men­zu­pa­cken, im Ter­mi­nal ein­ge­ben: cd ~ && tar czvf /tmp/meinedateien.tgz .

Er ant­wor­te­te: “Wenn ich das ein­ge­be, bekom­me ich die Feh­ler­mel­dung: Anle­gen eines lee­ren Archivs wird fei­ge verweigert.”

Ich dach­te zuerst, der Kol­le­ge spinnt oder macht sich einen Spaß, daß er was von “fei­ge ver­wei­gern” schreibt. Was soll “fei­ge ver­wei­gern” sein? Aber dann schick­te er mir ein Bild­schirm­fo­to, das bestä­tig­te, daß Tar tat­säch­lich behaup­tet hat­te, das Anle­gen eines lee­ren Archi­ves fei­ge zu verweigern.

Nun dach­te ich, daß “fei­ge ver­wei­gern” mal wie­der eine beklopp­te Über­set­zung aus dem Eng­li­schen sein könn­te, so wie wir es zum Bei­spiel mit “Von” und “An” beim Seri­en­brief mit Word und Excel kennen.

Die eigent­li­che Ursa­che des Feh­lers war schnell gefun­den. Der Kol­le­ge hat­te den Punkt hin­ter tgz nicht ein­ge­ge­ben, weil er ihn für den Punkt am Ende des Sat­zes mei­ner Chat­nach­richt gehal­ten hat­te, die wört­lich so lautete:

Gib im Ter­mi­nal ein: cd ~ && tar czvf /tmp/meinedateien.tgz .

Ich glau­be aber nicht, daß die Sache bes­ser aus­ge­gan­gen wäre, hät­te ich geschrieben:

Gib im Ter­mi­nal ein: cd ~ && tar czvf /tmp/meinedateien.tgz ..

Nach­dem ich also erklärt hat­te, daß der Punkt zum Kom­man­do gehört und der Kol­le­ge den Punkt mit ein­ge­ge­ben hat­te, fuk­tio­nier­te alles, und es blieb nur für mich noch die Fra­ge, wes­halb Tar etwas fei­ge verweigert.

Dazu sah ich mir zunächst die Feh­ler­mel­dung im Ori­gi­nal an, indem ich sie auf einem eng­li­schen Ubun­tu provozierte:

$ tar c
tar: Coward­ly refu­sing to crea­te an emp­ty archive
Try ‘tar –help’ or ‘tar –usa­ge’ for more information.

Und tat­säch­lich! Das Wort “coward­ly” wird mit “fei­ge” über­setzt, wenn man dict.cc glaubt:

Das fand ich sinn­los, das fin­de ich sinn­los, weil es immer noch kei­nen rich­ti­gen Sinn ergibt, etwas fei­ge zu ver­wei­gern. Also frag­te ich in mei­ner Ver­zweif­lung ChatGPT, was denn nun das “Coward­ly” in der Feh­ler­mel­dung bedeu­ten sol­le und bekam die Antwort:

The term “Coward­ly” in the error mes­sa­ge is just a humo­rous way of say­ing that tar is being cau­tious and refu­sing to per­form an action that might not be what the user inten­ded, such as crea­ting an emp­ty archi­ve wit­hout spe­ci­fy­ing any files or direc­to­ries to include in it.

Es mag sein, daß das “Coward­ly” von einem Mut­ter­sprach­ler an die­ser Stel­le als wit­zig emp­fun­den wird, das kann ich nicht beur­tei­len. Wenn dem so wäre, ist die 1:1‑Übersetzung mit fei­ge jedoch nicht gelun­gen, da muß schon mehr kom­men, viel­leicht: “Anle­gen eines lee­ren Archivs wird mit schiß­haf­ter Vor­sicht ver­wei­gert”, oder, um den Vor­schlä­gen von dict.cc etwas näher zu blei­ben: “Tar hat nicht die Eier, ein lee­res Archiv anzulegen.”

Abschlie­ßend möch­te ich noch zei­gen, wie die Feh­ler­mel­dung auf Free­BSD aus­sieht, denn Free­BSD bringt sein eige­nes Tar mit, das so genann­te Bsdtar, das nach lan­ger Ent­wick­lungs­zeit vor eini­gen Jah­ren (ich weiß nicht wie vie­len) offi­zi­ell Gnut­ar auf Free­BSD ersetzt hat. Dies wur­de in der Sze­ne von eini­gen belä­chelt: War­um schrei­ben die ihr eige­nes Tar? Es gibt doch Gnutar!

Viel­leicht haben sie des­halb ihr eige­nes Tar geschrieben:

$ tar c
tar: no files or direc­to­ries specified

Die Feh­ler­mel­dung ist abso­lut klar und “witz­los”, und man erkennt auf Anhieb, was man falsch gemacht hat.

Tags: Admin, Arbeitskollegen, FreeBSD, Linux, Tar, bsdtar, gnutar

1 Kommentar

  • Schugy

    15. Dezember 2023, 13:47

    Nach Vorbild von bsdtar sollte auch gnutar eine verständliche Fehlermeldung ausgeben. Ostereier wie apt-get moo dürfen trotzdem enthalten sein. In erster Linie gebe ich nach einigen Abbrüchen wegen sockets oder devices dem Befehl cpio den Vorzug.

Schreib einen Kommentar