Was sind deine liebsten * schmerzhaften * Unix-Momente?


34

Wie wäre es, wenn Sie Ihren Favoriten teilen? gelernten Momente ?


Komisch, wie viele der Antworten den rmBefehl betreffen . Oder traurig.
Barry Brown

Antworten:


67

Ich war neugierig wenn chmod 000 / es funktionieren würde.

Nun, einwandfrei. Ein paar Minuten später suchte ich nach einer Rettungs-CD.


11
Wow, das habe ich erst in Betracht gezogen, als du es erwähnt hast. Gut
Stefan Lasiewski

Was passiert, wenn Sie eine reguläre Datei bearbeiten?
Luc M

@ Luc Ich denke, Sie müssen es nur zurückschreiben
phunehehe

Normalerweise mache ich solche "Experimente" in meiner Arch VM. Wenn es bombardiert, rolle ich es einfach zurück.
André Paramés

Ich habe diesen Fehler einmal gemacht. Es war sehr peinlich, aber eine wertvolle Lektion.
Charles Sprayberry

37

Als ich anfing, als Benutzerberater für die Universität zu arbeiten, die ich besuchte, wurden mir eingeschränkte sudoRechte eingeräumt, um Studenten zu helfen, die ihre Passwörter verloren oder vergessen hatten. sudo passwd <username>war mein neuer Freund. Eine Stunde nach meiner Orientierung überwältigte mich meine Neugier, und ich tippte ein sudo passwdund starrte entsetzt auf die Aufforderung, ein neues Passwort einzugeben. Ich hatte ein bisschen Angst ^Cdavor, herauszukommen und dachte (fälschlicherweise stellt sich heraus), dass ich das betreffende Konto in einem vorübergehenden Zustand belassen könnte. Also gab ich ein Passwort ein und ging sofort die Treppe hinauf zu der heiligen Domäne im 2. Stock des campus SuperUser und fragte, ob er das root-Passwort des Hauptsystems wissen möchte.


4
heh, Besitz! Verwirrter Stellvertreter: P
Spudd86

30
Sie hätten bei der zweiten Bestätigungsaufforderung ein falsches Kennwort eingeben können, sodass in diesem Fall nichts geändert worden wäre und passwd beendet würde.
Wadih M.

1
@ Wadih: passwdverhält sich lustig, wenn es als root ausgeführt wird. Wenn beispielsweise die Tippfehlerprüfung fehlschlägt, wird erneut gefragt.
György Andrasek

Sie hätten es einfach wieder so machen können, wie es vorher war.
HandyGandy

1
@HandyGandy er kannte das ursprüngliche root-Passwort nicht. Er hatte nur Sudo-Rechte, um passwd auszuführen.
Gnud

32

Überrascht hat dies noch niemand erwähnt:

rm -rf .*

(Während Sie versuchen, alle versteckten Dateien und Unterverzeichnisse zu entfernen, vergessen Sie völlig, dass es in .und rekursiv wird. ..)


3
Während das mich in der Vergangenheit verbrannt hat, werden viele Versionen von rmdas jetzt nicht tun. Ich habe es mit Darwin versucht und den Fehler bekommen rm: "." and ".." may not be removed.
Stefan Lasiewski

7
Ich mache das die ganze Zeit auf allen Arten von Plattformen. Funktioniert wie vorgesehen unter OpenBSD, NetBSD, Linux und OpenSolaris.
Polemon

Wenn Sie alle Punktedateien mit Ausnahme von .und abgleichen möchten .., verwenden Sie .[^.]*. (Nun, das wird eigentlich alle Dateien vermissen, die mit beginnen .., aber normalerweise gibt es nur eine.)
Sven Marnach

@Sven: Ein anderer Weg ist .??*, den ich einfacher zu tippen finde. Diese Datei passt nicht zu Punktdateien mit zwei Buchstaben .a, aber diese sind auch ungewöhnlich. Ich suche grep -r .??*zum Beispiel mit die Konfigurationsdateien in meinem Homeverzeichnis .
Neil Mayhew

31

Makefile:

clean:
    @rm -f * .o

Was natürlich macht make clean der Quellcode gelöscht und nicht nur die Objektdateien.

Lektion: Verwenden Sie die Versionskontrolle.


11
Wenn Sie es nicht sehen können, beachten Sie das Leerzeichen zwischen *und.o
Denilson Sá Maia

1
Ich fühle deinen Schmerz, der uns allen irgendwann passiert ist :)
axel_c

Lektion reloaded: wenn Sie Shell-Material zu tun, und Sie sehen ein " ", sein * extra , nein, sein Extra - Extra - EXTRA vorsichtig.
Jürgen A. Erhard

Ich habe das von Hand gemacht, nachdem ich im Labor einen All-Nighter gezogen hatte. Das Projekt war wenige Stunden später fällig. Es stellte sich heraus, dass es ein Segen in der Verkleidung war; Die neue, umgeschriebene Version, die ich eingereicht habe, war viel besser als die bandagierte Version, die ich gelöscht habe.
Barry Brown

1
Obligatorischer Hummelverweis: github.com/MrMEEE/bumblebee/commit/a047be
Residuum

30

Habe einen Freund :() { :|:&}; :auf einem Remote-Server laufen lassen, auf den wir keinen Konsolenzugriff hatten. Es konnte nicht neu gestartet werden, der Produktionsserver ist vollständig eingefroren .

Aufgeschlüsselt (auf Anfrage), um die Lesbarkeit zu verbessern.

:() # Define ':' as a function. Every time we say ':' execute the following code block
{ # Start of code block
    : # Call ':' again. 
    | # Pipe output to...
    : # Another ':' 
    & # Disown process. 
    # All on one line this would read :|:&, 
} # End of code block
; # End definition of ':' as a function
: # Call ':'

Es könnte einfacher sein, es als zu betrachten

bomb() { bomb|bomb& }; bomb

1
Würden Sie so freundlich erklären, was es tut? Ich kann es nicht herausfinden und ich möchte es nicht versuchen;)
naugtur

23
Sieht aus wie eine Gabelbombe. Versuchen Sie das nur, wenn Sie wirklich wissen, was Sie tun.
Zaid

5
Jep. Es ist eine Gabelbombe. Und ein nettes :) Es scheint, als würde der Bash-Interpreter endlos versuchen, es zu analysieren. Wenn Sie das letzte überspringen :, geschieht nichts. Und es verbraucht überhaupt keinen Speicher, sondern gibt nur viel aus. [Ja, ich habe es versucht :)]. Effekte können mit einer Quote für die Anzahl der Prozesse pro Benutzer blockiert werden.
Naugtur


4
+1 für den obigen Kommentar. Es ist viel einfacher zu verstehen, als es aussieht.
Umang

29

Ich meinte es gut, ich tat es wirklich. Der Versuch, chmodrekursiv ein Verzeichnis und am Ende tauschen ./mit/ .

Natürlich als Wurzel, denn nur mit der Wurzel kann wahrer Schmerz (und damit Erleuchtung) erreicht werden.


23
+1 für Zitat "Nur mit Wurzel kann wahrer Schmerz (und damit Erleuchtung) erreicht werden."
Stefan Lasiewski

21

Ich habe versehentlich die Partitionstabelle meines Hauptlaufwerks gelöscht, weil ich dachte, ich arbeite an einem anderen Laufwerk.

Mit Scrollback, sorgfältigem Umgang mit df, Gedächtnis und Glück konnte ich es exakt nachbilden, neu schreiben, neu starten und hoffen ... und es funktionierte.


6
Ein Freund tat dies und ich half ihm, den Tisch wieder aufzubauen. Leider hatten wir nicht die vorherigen Werte für die Partitionsgrößen und Offsets, also verwendeten wir eine Bash-Schleife, um ddden ersten 4k-Block jedes Zylinders zu lesen, in den die Pipeline geleitet wurde file -, um den Superblock und damit den Start des Dateisystems zu finden. Dies war auf einer Live-CD und es gab nicht genug RAM, um alles zu tun, was wir brauchten (einschließlich der Installation von ein oder zwei Paketen), so dass wir einen Prozess leiteten, der in ssh auf einem anderen Computer lief.
Neil Mayhew

2
Autsch. Deshalb nutze ich immer sfdisk -O, um die Partitionstabelle zu sichern. Zu Ihrer Information : cgsecurity.org/wiki/TestDisk kann automatisieren, was @Neil Mayhew's getan hat.
Ephemient

2
Ich war auch dabei, habe testdiskmeine Box gerettet
phunehehe 20.11.10

In diesen Tagen suchen wir gpartnach Dingen, die Dateisystemen ähneln könnten, und konstruieren daraus eine Partitionstabelle.
Simon Richter

19

Nicht wirklich mein Moment, aber jemand anderes.

Als ich in einer nuklearwissenschaftlichen Forschungseinrichtung arbeitete, verwendeten wir eine Reihe von SunOS-, Ultrix- und Linux-Computern und Forscher mussten die CPU auf diesen Maschinen gemeinsam nutzen. Da einzelne Forschungsgruppen eigene Forschungsstipendien erhielten, kauften sie ihre eigenen Computer, hauptsächlich SparcStations, und sie übernahmen die Systemadministration selbst.

Früher wurde SunOS mit dem OpenView-Desktop und einem netten Dateimanager geliefert. So sah es aus: Alt-Text

Die meisten unserer Forscher liefen als Root, und mehr als einmal mussten wir ihre Betriebssysteme neu installieren, weil sich jemand entschlossen hatte, das Root-Verzeichnis aufzuräumen und / bin, / etc, / tmp und alles andere zu verschieben, was die Sicht auf die beiden unübersichtlich machte der Mülleimer oder ein Unterordner.

Andere Benutzer haben das Verzeichnis / bin aufgeräumt und alle nicht bekannten Befehle entfernt.

Die Glücklichen hatten Backups, die meisten hatten ein Bandlaufwerk gekauft, hatten aber keine Tradition, Backups selbst auszuführen.


11
Das Stammverzeichnis aufräumen? "Ja wirklich?" JA WIRKLICH? Schluchzen
Alex B

41
TRWTF ist, dass sie als root in einer nuklearwissenschaftlichen Forschungseinrichtung gelaufen sind!
16.08.10 um

4
cooler Screenshot! macht mich alle nostalgisch.
gabe.

@ Alex - nun, da war diese große VMUNIX-Datei, die ich nicht benutzte ...
Martin Beckett

1
Bei alten Mac OS-Versionen konnte man so ziemlich jede Datei an einen beliebigen Ort verschieben. Vielleicht erwarteten sie das also ...
Kevin Cantu

18

Mitte bis Ende der 90er Jahre diskutierten ein Freund und ich über die Torheit von rm -rf *und zu welchem ​​Zeitpunkt eine Linux-Box hochgehen würde. Wir stiegen in statisch verknüpfte und dynamisch verknüpfte Bibliotheken ein, und ich ging davon aus, dass das System ohne ziemlich gut leben könnte, /libund benannte es dann auf meiner Workstation um. Es passierten schlimme Dinge , aber wir hatten noch einige offene Konsolenfenster, mit denen wir versuchen konnten, den Schaden zu beheben (das Herunterfahren war keine Option mehr). Keiner der Redakteure würde laufen. Es ist erstaunlich, welche esoterischen Verwendungen Sie für den echoBefehl finden können.


19
Zu genau diesem Thema gibt es eine klassische Geschichte: lug.wsu.edu/node/414
Alex B

1
@Alex B: Die Geschichte ist auch Teil der Unix-Horrorgeschichten , die einfach großartig zu lesen sind.
Bobby

18

viund Caps-Lockgegen/etc/passwd

  1. Stellen Sie über ein altes serielles Terminal, das den Bildschirm nicht korrekt aktualisiert, eine Verbindung zu einer alten Solaris-Box her.
  2. su -
  3. vi /etc/passwd. Es gibt vipwsowieso keine und "wir nehmen nur kleinere Änderungen vor".
  4. Drücken Sie die Caps-LockTaste und bemerken Sie es nicht.
  5. Drücken Sie jeinige Male, um nach unten zu scrollen. Ignorieren Sie die Tatsache, dass Sie gerade getippt habenJ "Verbinden" , wodurch diese Zeile mit der nächsten Zeile kombiniert wird. Der Bildschirm des seriellen Terminals wurde nicht korrekt aktualisiert. Sie haben also nicht gesehen, dass Sie nur die ersten 5 Zeilen in einer Loooooong-Zeile zusammengefasst haben, wodurch die ersten 5 Benutzer ('root', 'daemon' usw.) beschädigt wurden.
  6. Beenden Sie Ihre ANDEREN beabsichtigten Änderungen an der Datei ganz unten.
  7. Datei speichern.
  8. Ausloggen.

Ich habe das einmal gemacht. Erstaunlicherweise blieb das System über Monate funktionsfähig. Cronjobs liefen einwandfrei, in den Logfiles stachen keine Fehler heraus.

Wir bemerkten dieses Problem erst, als wir das System Monate später neu starteten und uns nicht an der Konsole anmelden konnten. psEs wurden eine Reihe von Jobs angezeigt, die der UID '0' und nicht dem Benutzer 'root' gehören.

Sie konnten sich weder als root anmelden noch ausführen suoder su -, und sudoin diesem Feld befand sich kein . Es gab kein Diskettenlaufwerk, die CD-ROM war kaputt und keine USB-Anschlüsse (also keine externe CD-ROM). Der Einzelbenutzermodus funktionierte nicht, da Sie das Passwort für root eingeben müssen, und das kommt von /etc/passwd.


2
Sicherlich "J" ist der Befehl "Join" (wie in Join-Zeilen zusammen)?
dr-jan

2
Warten Sie eine Minute, ich muss das Kennwort nicht eingeben, um in den Einzelbenutzermodus zu starten. Tatsächlich setze ich so das root-Passwort zurück, wenn ich es verliere. Oder war es früher anders?
Phunehehe

Unter Solaris müssen Sie das Root-Kennwort kennen, um in den Einzelbenutzermodus zu wechseln. Das musste ich eigentlich vor 2 Wochen machen.
Stefan Lasiewski

@phunehehe Ich denke, du denkst an den Trick init = / bin / sh. Dafür ist das root-Passwort in der Tat nicht erforderlich. Für Runlevel 1 ist jedoch noch ein Root-Pass erforderlich
Patrick

18
rm -f * ~

und

rm -rf ${DIR}/

wann DIRwurde nicht gesetzt!


4
Du meinst ${DIR}? Denn $(DIR)würde versuchen, DIR-Befehl auszuführen.
Denilson Sá Maia

16

Ich erinnere mich, dass ich versucht habe, eine SysRqTastenfolge an eine entfernte Maschine zu senden ...

... aber es wurde von der lokalen erfasst.


14

Ein einfaches haltErkennen einige Sekunden später, dass ich nicht auf einer lokalen Shell bin und keine Möglichkeit habe, den Produktionsserver wieder einzuschalten.

Gewonnene Erkenntnisse? Die Eingabeaufforderung der Maschine sieht nun so aus

[ --> root <-- @kompost:/home/echox] #

mit ein paar schönen roten Markups ;-)


6
Es gibt ein Tool namens molly-guard, das prüft, ob Sie remote angemeldet sind und fragt, ob Sie dies wirklich möchten.
Simon Richter

IPMI ist eine sehr praktische Sache :-)
Andre Holzner

13

Mein Lieblingsmoment war, als ein Mitarbeiter, der ein Emacs-Benutzer ist, eine wichtige Datei bearbeiten wollte.

Da emacsist zu viel zu tippen, hatte er einen Alias ​​für eingerichtet emacs:

alias em=emacs

Unter dem Einfluss von zu wenig oder zu viel Kaffee hat er natürlich falsch geschrieben em...

Naja, das ist nur ein weiterer Grund vi...;)


Was ich an diesem wirklich liebe, ist die Tatsache, dass er sich darum kümmerte, wie lange Emacs waren, aber nicht nur benutzten alias e=emacs.
Steven D

Abgesehen von Kaffee, beachten Sie, dass "e" und "r" in der Nähe der Tastatur nicht sehr weit entfernt sind ...
Leonbloy

11

Oder eine andere Erfahrung, wie man sich in ein paar einfachen Schritten wirklich dumm fühlt, die einem nicht so dumm vorkommen.

Schritt eins: Richten Sie ein Konto für das Kind ein, falls es eine Linux-Box verwenden möchte. Geben Sie ein triviales Kennwort ein, da dies schließlich ein Heimsystem ist und nicht dem Netz ausgesetzt ist.

Schritt zwei: Warten Sie, bis die Zeit abgelaufen ist, damit Sie sich nicht an Schritt eins erinnern können.

Schritt drei: Öffnen Sie den SSH-Port in der Firewall (eigentlich das NAT auf dem Router), um sich einzuschalten. Schließlich haben meine Konten ziemlich gute Passwörter, und es scheint nicht so, als gäbe es etwas sehr Wertvolles.

Schritt 4: Lassen Sie sich vom Internetdienstanbieter benachrichtigen, dass eine Art DOS-Aktivität auf einer schwedischen Site ausgeführt wird. Angenommen, es sind wahrscheinlich die Windows-Boxen, und untersuchen und härten Sie sie.

Fünfter Schritt: Lassen Sie sich vom ISP benachrichtigen, dass der Vorgang noch nicht abgeschlossen ist. Fragen Sie nach Details, erhalten Sie die IP-Adresse der schwedischen Site, starten Sie Wireshark und finden Sie heraus, von welcher Box der Angriff ausgeht.

Schritt sechs: Bereinigen Sie die Linux-Box und fühlen Sie sich dumm. Der Login stammt von einer rumänischen Adresse. Entfernen Sie Konten ohne gute Passwörter.


1
War dort. Ich habe einmal ein Konto mit einem Login von test: test erstellt, das ich nur für ungefähr fünf Minuten nutzen möchte. Ich habe vergessen, es zu löschen und habe die gleichen Ergebnisse wie Sie erhalten. Nie wieder. Ich gehe jetzt alle Public-Key-Authentifizierung.
ATC

1
Ja, ich verwende auch öffentliche / private Schlüssel. Sie können manchmal etwas nervig sein, sind aber viel sicherer als einfache Passwörter.
Denilson Sá Maia

4
Wenn Sie SSH für das Internet öffnen, lassen Sie NIEMALS die Kennwortauthentifizierung zu. Nur öffentliche / private Schlüssel-Authentifizierung, auf diese Weise können Sie nicht überrascht werden.
Wazoox

@wazoox: otp ist auch eine gute alternative.
Jürgen A. Erhard

Ich verwende für ssh einen nicht standardmäßigen Port mit hoher Nummer, der vom Router an den standardmäßigen ssh-Port meiner Linux- und Mac OS X-Boxen weitergeleitet wird. Ich habe nie bekommen alle versuchten Logins. Ich habe den Port in einer Verknüpfung in ~ / .ssh / config auf meinen anderen Computern konfiguriert, sodass ich ihn normalerweise nicht einmal eingeben muss.
Neil Mayhew

11

In den Computerlabors, als ich am College war, hatten sie einen Bildschirmschoner, der einen Haufen Bälle simulierte, der hin und her schwebte. Sie zogen jeweils mit simulierter Schwerkraft an.

Einmal, als ich mit den Einstellungen rumgespielt habe, ist es mit dem Fehler abgestürzt Error: force on balls too great


10

Ich habe einmal einen Gerätetreiber für Unix entwickelt. Es gab ein Zeigerproblem und während des Tests wurde das Ende eines Arrays im Kernel-Speicher abgeschrieben. Ich bemerkte dies nur langsam und drückte nicht sofort die Reset-Taste. Der Treiber hatte den gesamten Festplattenpuffer-Cache durchgekritzelt, der dann auf die Festplatte geschrieben wurde, bevor ich auf Zurücksetzen drückte. Viele der Blöcke waren Inodes und Verzeichnisse, und ich landete in einem total zerstörten Dateisystem. Ich denke, 6000 verwaiste Dateien wurden abgelegt, lost+foundbevor ich aufgab und neu installierte. Zum Glück war dies nur ein Testsystem, nicht meine Workstation mit all meinen Dateien.


Das auf deinem Arbeitssystem zu machen wäre wirklich dumm gewesen ;-)
Jürgen A. Erhard


7

Letztes Jahr hat ein Kollege von mir eine unserer Linux-Workstations verwendet, um mit dem ddBefehl Kopien von Flash-Disks zu erstellen . Er hat aus Versehen etwas Ähnliches wie das Folgende eingegeben:

dd if=flash-image.img of=/dev/sda1

Als er seinen Fehler bemerkte - das Überschreiben der Festplatte der Maschine anstelle des Flash-Laufwerks - war die Maschine bereits abgespritzt. Wir mussten die Box umbauen, die übrigens auch die Maschine war, auf der sich zu der Zeit alle unsere Entwicklungs-VMs befanden ...


2
+1 - Sei sehr sehr sehr vorsichtig mit dd!!! :-)
Josh

7

Das ist mir letztes Jahr passiert. Ich habe einige Dateien mit einer temporären Variablen vom Server entfernt:

rm -rf ${prefix}*

Erraten Sie, was? Die Variable $prefixwurde nicht definiert!
Sie können sich vorstellen, dass die Katastrophe dazu geführt hat, dass einige sehr wichtige Dateien gelöscht wurden.

Ich brach fast die Control-Cund lief zur CPU, um das Netzwerkkabel zu entfernen !!

Hahaha, ich bin sicher, jemand hat das schon getan ...


7

Während meines zweiten Studienjahres der Informatik erhielten wir eine Hausaufgabe, um ein Programm in C zu schreiben, das eine Reihe von Unterprozessen mit sich bringen würde fork und sie mit Pipes in einem "Kreis" kommunizieren lassen und herausfinden, welcher der "Anführer" sein sollte ".

Wir waren damals noch ziemlich noobs und die meisten Leute hatten keine Linux-Maschinen, also arbeiteten wir an unseren Accounts auf dem Hauptserver unserer Fakultät (auf dem sich auch offizielle Sites und Mitarbeiter-Accounts befanden). Die meisten Leute haben Gabelbomben geschrieben, als sie versuchten, die Hausaufgaben zu machen. Über die Hälfte meiner Gruppe hat die abusersAkte erreicht. Das war die höchste Auslastung auf diesem Server seit langem :)


das war dumm von ihnen ... sie hätten dich nicht auf die gleiche Maschine setzen sollen wie Webserver und so. (Meine Schule hat dasselbe, aber wir haben Server, die sich mit entfernten Granaten befassen, damit die jährlichen Gabelbomben nicht wirklich außer
Kontrolle

Microsoft hatte die Möglichkeit, eine Partnerschaft einzugehen, und Windows und .NET wurden damals bereits stark gefördert. Niemand hat ein paar Noobs auf dem Server erwartet :)
naugtur

6

Als meine Universität beschloss, das drahtlose Netzwerk auf die Verwendung der proprietären Cisco LEAP-Authentifizierung umzustellen ...

Begann eine sehr lange Schlacht, die gut genug endete. Verfasste Dokumentation für andere, die Linux ausführen und Zugang zum Internet haben wollten. Sechs Monate später beschlossen sie, auch PEAP-Unterstützung hinzuzufügen. Ohrfeigen

Es ist mein Favorit, weil ich gewonnen habe. Ich habe es zum Arbeiten gebracht.


6

Als root unter Solaris

$ kill -9 1

... und alles ging unter.

Mein Freund wurde deswegen gefeuert.


6

Ich war Laborassistent in einer Linux-Klasse. Eine der Schülerinnen rief mich an, weil sie nicht mehr konnte, su -weil sie bekam permission denied. OK, sie hat das Passwort falsch eingegeben. Starten Sie den Einzelbenutzermodus neu und setzen Sie ihn zurück. Was?!suSTILL geht nicht ?! Es muss sich meinem Willen beugen! Also starte ich im Einzelbenutzermodus neu, um herauszufinden, was sie getan hat. Mir wurde klar, dass sie ranntechmod -R 777 /var/www/html/drupal-6.19 /

Beachten Sie das Leerzeichen zwischen dem Verzeichnisnamen und dem abschließenden Schrägstrich.

Nach ein paar Minuten von "Ich möchte wirklich nicht, dass sie neu installiert wird, also was macht das und wie.", Stellte ich fest, dass / bin / su nun über Dateiberechtigungen von verfügte 777. Das kann auch als Dateiberechtigung von gelesen werden 0777, die das setuid-Bit von entfernt /bin/su. Eine schnelle chmod u+s /bin/suund ich war ein Held.


5
Das war das einzige, was Sie ändern mussten, um ihr System aufzubrechen?
Michael Mrozek

1
Ich bin mir sicher, dass es immer noch kaputt war, aber vielleicht hat es für den Rest der Klasse gut genug funktioniert.
Stefan Lasiewski

1
Es hat für den Rest der Klasse gut genug funktioniert; Die Schule schreibt offenbar vor, dass alle Schülerlaufwerke vierteljährlich neu installiert werden müssen. Und nachdem dieses Quartal vorbei war, ging sie nicht mehr mit Linux weiter, so dass ich mich nicht darum gekümmert habe, den Rest des Weges zu reparieren.
Kevin M

5

Nicht das schmerzhaft ... Aber ein lustiger kleiner Moment:

Ich habe vertippt lswie slund fand heraus , dass der Sysadmin hatte etwas für diesen Fall installiert hat.

(bereits in Debian , Ubuntu , Gentoo , ... Repositories verfügbar )


4
Das ist eher ein Osterei als ein schmerzhafter Moment. Ich habe darüber gelesen, bevor ich darauf gestoßen bin, aber ich habe das nie falsch geschrieben, also keine +1.
Umang

Grinn .. Ich hatte einmal einen Benutzer, der zu mir kam "Dein System ist gehackt !!! 11one Ich habe eine ASCII-Kunst-Animation, als ich ls
eintippte

^ Nicht so lustig!
mr_eclair

5
git init
git clean -f

Das Repository wird dadurch nicht entfernt. Dies entfernt alles, was sich nicht im Repository befindet.

Nachdem ich versucht hatte, das vorhandene Repo zu entfernen und die Quellcodeverwaltung erneut zu starten (in der abgeschlossenen ersten Version eines Projekts), haben diese beiden Befehle meinen gesamten Code überarbeitet.


git rebase (mit squashing) und git filter-branch (zum entfernen von dateien) sind deine freunde :-) Damit meine ich, dass es sicherere möglichkeiten gibt, cruft aus deiner repo-geschichte zu entfernen und am ende ein relativ sauberes projekt zu haben. Normalerweise erstelle ich eine Sicherungskopie des aktuellen Zweigs, bevor ich ihn gründlich umbasiere.
Neil Mayhew

5

Ein Unternehmen, für das ich gearbeitet habe, hat sein Produkt auf SCO laufen lassen. Ich habe einige Fehler behoben, um zu verhindern, dass Anwendungen auf unserem Demoserver sehr langsam werden, und gleichzeitig wurde einigen Kunden eine Demo / Vorlesung über bevorstehende neue Funktionen gegeben.

Also habe ich die Anwendung ausgeführt, die stecken geblieben ist, habe meine Sachen darauf gemacht, um die Grundursache zu überprüfen, aber da sie immer noch "steckengeblieben" war, habe ich versucht, sie zu töten:

pkill -9 mytestapplication

Was ich gelernt habe war, dass pkill auf SCO nicht genau dasselbe macht wie auf Linux =)

... Es tötet im Grunde alles, worauf der Benutzer Zugriff hat, und mit root ... das ist alles =)


1
Könnten Sie bitte beschreiben, was es auf SCO macht? Ich habe keine Ahnung, und ich konnte es nicht leicht auf Google finden.
Denilson Sá Maia

1
es tötet im Grunde alles, auf das der Benutzer Zugriff hat, und mit root .. its everything =)
rasjani

3

Mein Wechsel von Debian zu Ubuntu begann an dem Tag, an dem ich versuchte, einige Dateien und Verzeichnisse zu löschen, was bedeutete, sie zu tippen

rm -r /var/tmp/*

Leider habe ich ein Leerzeichen zwischen "/ var / tmp /" und "*" eingefügt und noch schlimmer, ich befand mich im Stammverzeichnis des Dateisystems.

root@workstation:/# rm -r /var/tmp/ *

Bitte versuchen Sie das nicht zu Hause!


"zsh: Möchten Sie wirklich alle Dateien in / [yn] löschen?" - Es ist ziemlich nützlich
André Paramés

Dadurch werden die Dateien von / gelöscht. Wie kommt es?
mr_eclair

3

Es gibt einen netten Trick die äquivalent zu tun dirnameund basenamejeweils in Bash:

${path%/*}
${path##*/}

Nicht so lustig, wenn $pathein abschließender Schrägstrich enthalten ist ...


3

Ich hatte zwei Laufwerke an einem Punkt installiert und hatte das Root-Dateisystem des zweiten Laufwerks in einem Verzeichnis innerhalb gemountet /mnt. Ich befand mich in diesem Verzeichnis und versuchte zu löschen, gab varaber rm -rf /varstattdessen etwas ein. Ein gewisser Instinkt schien in dieses besagte var Muss einzutreten mit einem Schrägstrich vorangestellt werden!

Als ich merkte, was ich getan hatte, schlug ich sofort zu, Ctrl-Caber es war zu spät. Meinerpm Datenbank hatte das Gebäude längst verlassen. Ich habe ewig gebraucht, um alles wieder normal zu machen.

Nun zum schmerzhaften Teil.

Ich gehe zurück in dieses Verzeichnis in /mnt um fortzufahren, was ich getan habe. Was schreibe ich? Sagen wir einfach, dieser Instinkt hat wieder eingesetzt.

Zumindest konnte ich das System beim zweiten Mal viel schneller wiederherstellen;)


1
Ich nehme an, das war, bevor Sie von chroot (1) erfahren haben.
Kevin M
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.