Dela med dig av dina misstag, "*nix edition"

Permalänk

Dela med dig av dina misstag, "*nix edition"

Tjena!

hittade ingen sån här tråd så tänkte jag skapar en!
——————————
Jag hittade spontant ej heller någon sådan specifik tråd i denna forumdel, så jag modifierar rubriken och hälsar tråden välkommen — hoppas den blir avskräckande och lärorik /phz
——————————
satt på linux och tänkte experimentera lite med mina drivare. Funkade sådär....

slutade upp med att jag satt på ett TTY skal och surfa SweC.

Nu så håller ja på att fixa detta men lite surt. Lyckades förstöra Cinnamon(mint 17) på köpet så fanns inte mycket att göra. Sitter nu på ett LXDE interface i 800x640 vilket inte är helt optimalt om vi säger så

vad är era tabbar ni gjort?

Modifierar rubrik enligt meddelandet i texten.
Permalänk
Hedersmedlem

Någon gång i början för länge sedan gjorde jag nog några tabbar, men inget sticker ut nämnvärt (eller så är jag selektivt glömsk). Den värsta tabben är nog bara ett par år gammal.

Det var under en uppdatering av Arch och paketet filsystem på en dator i ett personalrum för ca 30 arbetare. Medan jag tog en kaffe och surrade lite med någon där glömde jag helt bort att uppdateringen krävde manuella åtgärder. Uppdateringen gick igenom med resultatet att pakethanteraren, pacman, blev obrukbar och nästa steg av uppdateringen gick därför åt skogen. Likaså blev datorn omöjlig att starta om. Nu löste det sig genom att jag undvek att starta om, drog hem ett äldre paket av glibc, packade upp det och manuellt kopiera över filerna för att rulla tillbaka till en tidigare version. Sen var det bara att tuta och köra igen.

Lärdomen är att vara lite mer fokuserad och inte vara halvvägs ute i bilen och på väg medan man gör något som potentiellt kan gå åt skogen.

Permalänk

Lät ju inte speciellt kul, gjorde liknande nyss när jag bytade ut Cinnamon mot LXDE, fick köra en ominstallation haha

fick bli en ominstallation för min del. anl till att jag inte fick drivarna att fungera var för att mitt 4870X2 tydligen inte var kompatibelt med någon drivare. inte lätt att veta då jag haft en windows 7 installation som jag spelat lite små spel på. men men, påjakt efter nytt!

Permalänk
Medlem

mkfs på fel partition i vintras var väl det senaste. "Ja just det ja, jag har ju två hårddiskar i datorn nu".

Visa signatur

Gentoo Desktop: Ryzen 3600X | 32 GB
Server: Intel G7400T
Commodore 64C + 1541u2

Permalänk
Skrivet av Schnitz:

mkfs på fel partition i vintras var väl det senaste. "Ja just det ja, jag har ju två hårddiskar i datorn nu". http://www.sherv.net/cm/emoticons/hand-gestures/facepalm-gest...

Haha

Permalänk
Medlem

Det har blivit ett gäng tabbar genom åren.

Något år efter jag installerade mitt första system besluta jag mig för att ta bort min windows partition för den användes aldrig. Bootloaden lilo användes på den tiden och lilo hade hårdkodade offsets för att ladda 2nd stage loaders. Om man ändrade om partitionerna utan att uppdatera lilo fick man ett obootbart system. Jag hade ingen laptop på den tiden och live-cd hade inte blivit populära än. Det blev till att cykla hem till en kompis och låna internet för att försöka googla fram en lösning och bränna rescue media.

För +10 år sedan var codec stödet i open source spelare fortfarande ganska kasst. En lösning som fanns var att mplayer hade lånat kod från wine så att det gick att ladda windows codecs. Man var tvungen att ladda ner en pack med directshow codecs och packa upp i rätt mapp. Jag packade upp i fel mapp. Mitt försöka att rensa upp misstaget resulterade i att jag tog bort nästan alla .la filer i systemet. Som tur är används de bara för länkning så jag kunde tvinga en ominstallation av alla program för att få tillbaka dom.

Ganska nyligen gjorde jag en tabbe på mitt gentoo system. När jag skulle uppdatera systemet fick jag en blocker. Några program ville ha olika versioner av ett systembibliotek som inte kan vara installerade samtidigt. En fullösning för det problemet brukar vara att tvinga avinstallation av biblioteket i fråga. I detta fallet var biblioteket del av system settet och jag fick en varning om att jag absolut inte bör avinstallera saker i system settet. Biblioteket var bara några headers så jag antog att det inte skulle vara något problem att avinstallera för att sedan direkt installera den nya versionen men där hade jag fel. Installationen av den nya versionen körde en configure som avbröts eftersom jag saknade grundläggande system headers. Jag har för mig att det var paketet sys-kernel/linux-headers det handlade om. Jag blev tvungen att bita i det sura äpplet och manuellt kopiera över de saknade headerna från min laptop.

Jag har aldrig strulat till det så mycket att jag var tvungen att installera om systemet. Installera om är bara något för windowsanvändare eftersom det är närmast omöjligt att debugga problem i det systemet.

Permalänk
Medlem

Failade en Arch uppdatering när filsystemet uppdaterades samt olika lib mappar skulle mergas och symlänkas. Slutade med att även terminalen efter boot failade med allt möjligt allt från att inte visa rätt font samt att den inte kunde visa tecken rätt. Fick installera om vissa partitioner efter det.

Vanligaste felet idag är att jag får TTY istället för min login då nVidia drivaren inte byggts om till senaste kernel uppdatering. Ett enkelt fix då jag har ett färdigt nVidia paket från AUR som byggs automatiskt.

Visa signatur

Arch - Makepkg, not war -||- Gigabyte X570 Aorus Master -||- GSkill 64GiB DDR4 14-14-15-35-1T 3600Mhz -||- AMD 5900x-||- Gigabyte RX6900XT -||- 2x Adata XPG sx8200 Pro 1TB -||- EVGA G2 750W -||- Corsair 570x -||- O2+ODAC-||- Sennheiser HD-650 -|| Boycott EA,2K,Activision,Ubisoft,WB,EGS
Arch Linux, one hell of a distribution.

Permalänk
Medlem

sudo rm -rf *

Hade glömt att jag stod högst upp i filträdet. Som tur var var det bara en nyinstallerad privat burk så det blev inga allvarliga komplikationer.

Visa signatur

ASUS TUF Gaming B550M-PLUS ~ AMD Ryzen 5600 XT ~ ASUS TUF Gaming AMD Radeon RX 6800
Corsair Vengeance LPX Red 16GB (2x8GB) 2400MHz DDR4 ~ Samsung SSD 860 EVO M.2 1TB
Corsair RM750 750W 80+ Gold

Permalänk
Medlem

-bash: ipconfig: command not found

Varje jävla gång.

Visa signatur

i9 11900k ||32GB 4000MHz CL15||ASUS ROG STRIX Z590-E||Noctua NH-D15s
Intel Arc a750 ||Samsung 980 pro|| EVGA Supernova G3 850W
Asus xonar essence STX|| Lian-Li O11 Dynamic XL
Asus VG27AQ 165Hz IPS, Sennheiser HD650, Logitech g502 Hero, fUnc f30r, Vortex TAB90M, Audio-Technicha ATR2500x-USB
Server: x10SL7-F, Xeon E3 1230v3, 32GB Samsung ECC ram, 6x3TB WD RED, FD Node 804.

Permalänk
Medlem

Tre större tabbar har jag väl gjort.

Första gången jag installerade Ubuntu googlade jag då jag inte visste om jag skulle installera GRUB till sda eller sda1. Första resultatet föreslog (felaktigt) sda1, om jag skulle ha googlat vidare skulle jag ha sett att alla andra resultat förslog sda. Det var ganska länge sedan så jag minns inte exakt, men av denna anledning så skrevs NTFS bootsectorn över så jag inte kunde boota Windows längre. Tog mig en dags (=12 timmars) googlande innan jag hittade programmet TestDisk som kunde ersätta bootsectorn från en backup som Windows uppenbarligen hade undangömd.

Andra gången var för flertalet år sedan, då Skype inte fungerade out of the box i Ubuntu (fastän det fanns i repon). På internet flöt det runt instruktioner för vilka bibliotek man behövde. Så då jag installerade dessa bibliotek så uppstod en konflikt, och systemet frågade om jag ville avinstallera de konfliktande systemkritiska biblioteken. Det gjorde jag och apt-get slutade fungera. Efter en ominstallation samt uppdatering av systemet så gick det att installera paketen i fråga utan konflikter.

Tredje gången var väl när apt-get autoremove inte riktigt fungerade, och jag inte riktigt orkade ögna igenom listan över paket att ta bort. Ominstallation igen.

Permalänk
Medlem

Inte Linux-spefecikt men jag råkade flytta cgi-bin-mappen för en av de 10 största Svenska siterna en gång i tiden vilket gjorde att allt fuckade ur.
Men snabb som jag var så flyttade jag tillbaka den inom några sekunder.
Sen har jag vid tillfällen råkat köra shutdown istället för reboot på servrar utan remote managment.
Råkat delete backupper som jag precis skulle använda. Men eftersom allt viktigt jag sköter om minst har 2 backupper på två fysiskt olika ställen så gick det bra.

Permalänk
Medlem

Kanske inte blir världens roligaste historia då jag inte kommer ihåg alla detaljer men jag råkade för något år sedan förstöra en disk i min raid 5 uppsättning (mjukvaruraid). Inte fysiskt utan något jag lyckades/råkade göra i terminalen. Som tur är var det inget som gick förlorat.

Det är den enda incidenten jag kommer på just nu, har blivit en del senaste åren. Är ganska ny när det gäller linux och använder det inte jätte flitigt för tillfället.

Permalänk
Avstängd

För en circa tjugo år sedan så körde jag Slackware.
En av dom första Linuxdistributionerna, och en riktig geekig distribution.

Package managern 'pkgtools' har inte dependency resolution, så då ska man veta vilka paket man lägger till, uppgraderar, och tar bort, annars kan det bli tokigt.

Så jag har lyckats sabba systemet några gånger genom att ta bort fel paket. Kanske någon gång genom att kompilerat kärnan fel också, vet inte.

Inget allvarligt.

Permalänk
Medlem

Jag är en slarvig person och sen har jag inget viktigt i Datorn så det händer ganska ofta att jag stökar till det i Datorn genom att göra sånt jag egentligen vet att jag inte ska tex blanda källkod paket på ett sätt som jag vet systemet och paket hateraren får spel av osv sen får jag installera om och tänker gör om gör rätt... Det brukar funka ett tag sen blir jag utråkad och beter mig likdant ingen fast jag vet bättre...

Permalänk
Medlem
Skrivet av Netgear:

sudo rm -rf *

Hade glömt att jag stod högst upp i filträdet. Som tur var var det bara en nyinstallerad privat burk så det blev inga allvarliga komplikationer.

Hahah, känner igen mig! Gjorde samma miss fast i min hemkatalog, skulle rensa en massa onödiga nedladdade filer. Som tur är så lär man sig av sina misstag!

Permalänk
Medlem
Skrivet av BergEr:

-bash: ipconfig: command not found

Varje jävla gång.

Haha, kanske köra alias på kommandot så du får rätt

Skrivet av Netgear:

sudo rm -rf *

Hade glömt att jag stod högst upp i filträdet. Som tur var var det bara en nyinstallerad privat burk så det blev inga allvarliga komplikationer.

Skrivet av Iz0r:

Hahah, känner igen mig! Gjorde samma miss fast i min hemkatalog, skulle rensa en massa onödiga nedladdade filer. Som tur är så lär man sig av sina misstag!

Bra ide med *, vad ni måste komma ihåg är att * kan verkligen sumpa dagen då säg att ni sitter i en mapp med filer som har -f eller liknande i namnet så kan * ta in det som ett kommando för rm. Ovanligt kanske men ibland kan den sumpa dagen ganska ordentligt

Visa signatur

Arch - Makepkg, not war -||- Gigabyte X570 Aorus Master -||- GSkill 64GiB DDR4 14-14-15-35-1T 3600Mhz -||- AMD 5900x-||- Gigabyte RX6900XT -||- 2x Adata XPG sx8200 Pro 1TB -||- EVGA G2 750W -||- Corsair 570x -||- O2+ODAC-||- Sennheiser HD-650 -|| Boycott EA,2K,Activision,Ubisoft,WB,EGS
Arch Linux, one hell of a distribution.

Permalänk
Inaktiv
Skrivet av Netgear:

sudo rm -rf *

Hade glömt att jag stod högst upp i filträdet. Som tur var var det bara en nyinstallerad privat burk så det blev inga allvarliga komplikationer.

Vilken dist var detta? Måste varit gammal, för det kan du inte göra på en modern dist.

Permalänk
Medlem

Jag körde rmmod nvidia istället för modprobe -r nvidia en gång.

Och förövrigt körde jag dd if=/dev/zero of=/dev/sdb -bs=1M istället för med of=/dev/sdc

Nollade alltså fel disk, gissa om jag blev glad. Insåg mitt misstag efter ett par sekunder och stoppade dd. Tog mig veckor att återställa data med olika program och jag är inte ens säker på om jag lyckades få allt.

Visa signatur

No man is free who is not master of himself

Permalänk
Hedersmedlem
Skrivet av anon200213:

Vilken dist var detta? Måste varit gammal, för det kan du inte göra på en modern dist.

`rm -rf /` är skyddad, då `--preserve-root` är default i exempelvis GNU Coreutils (sedan 6.4 från 2006 enligt Wikipedia, men jag hittar inte snabbt själv i Coreutils changelog exakt när det hände).

`rm -rf *` från roten som i detta fallet är dock inte skyddad även med `--preserve-root` aktivt:

$ cd / $ echo * bin boot dev etc home lib lost+found media mnt opt proc pub root run sbin selinux srv sys sysroot tmp usr var

`/` inkluderas inte i expansionen. Demonstrerat med `rm`:

$ rm -r / rm: it is dangerous to operate recursively on ‘/’ rm: use --no-preserve-root to override this failsafe $ cd / $ rm -ir * rm: descend into write-protected directory ‘bin’? ^C

Ett "fulhack" man skulle kunna göra är att lägga till en fil som heter `-i` i t ex sin hemkatalog eller roten, för om asterisken expanderar till det filnamnet så kommer det tolkas som en växel till `rm` (om man inte avgränsat argumenten med `--`, men det brukar man sällan göra interaktivt). Personligen är jag emot sådana "tricks" dock (inklusive att sätta `alias rm='rm -i'` och liknande), då de potentiellt leder till oförsiktighet när man befinner sig på system där de inte är satta. Bättre att lära sig när man behöver vara extra uppmärksam (och att ha backup/återställningsplan för att minska "åhgudåhgudåhgud"-paniken ifall man trots allt gör något genomkorkat).

Visa signatur

Nu med kortare användarnamn, men fortfarande bedövande långa inlägg.

Permalänk

Tack phz för ändringen av rubriken, blev bättre nu!

Permalänk
Entusiast

Det här med att sitta med multibla terminalfönster öppna, med SSH-sessioner mot olika servrar är som att så ett frö med katastrof. Håller man inte hundra koll på läget, är det lätt att förväxla de olika SSH-sessionerna... och exekvera en bunt farliga kommandon i fel SSH-session.

Misstaget:
Skulle till att rensa upp en server på gamla databaser, och kopiera in nya från en annan server, så hände det:
Jag raderade dabaserna som jag skulle kopiera, och skrev över rätt viktiga konfigurationsfiler. Detta på grund av att de två terminalfönstrena var oerhört lika varandra, och bash-prompterna var taskigt konfigurerade vilekt gjorde att det inte gick att se skillnad på dem.
Känslan av att något inte stod rätt till kom krypandes i slutet på filkopieringen.

-"Vänta nu... hade jag inte den nya serverns SSH-session på vänster sida innan jag... "

Känslan av att jag just gjort något oerhört korkat är iskall. Jag ryser, och paniken kommer långsamt krypandes.

-"Nej... nej... nejnejnej... det får inte.... "

CTRL+C ... Jag tar en liten paus varav tankarna rullar runt i skallen likt klippblock nerför ett stup.

Exekverar "hostname" i det ena fönstret. Mina farhågor bekräftas. Får en metaforisk käftsmäll när jag inser hur mycket arbete det ligger i att återställa mitt misstag.
Det blir att sitta hela eftermiddagen, kvällen och en bra bit in på natten. Det besvärligaste var alla konfigurationsfilerna under /etc som skrevs över.

Eftersviterna:
Men jag lyckades att återställa det. Dock så kom jag att få bakläxa på det hela några dagar efteråt, ett flertal gånger. Jag fick återskapa en hel del konfiguration manuellt, mycket blev återställt till originalinställningar eller till vad jag gissade mig till. En hel del telefonsamtal med företaget ifråga, för att guide dem tillrätta med sina små serverproblem som kom att följa i efterdyningarna.

-"Jasså? Det fungerar inte som tänkt?... underligt... jag skall kolla upp det. ... Jo... ja.. .hur ville ni att det skulle fungera nu igen? ... aha?... okej. jag fixar det. "

Jo.. ja... jag erkände väl inte fullt ut att jag hade tabbat mig, men jag var i alla fall vänlig nog att offra min egen fritid utan kostnad för att åtgärda många underliga fel. Det uppskattades.
De kom ju att undra varför, så jag kom upp med en "bråkdelserkännande".
-"Jag tror det måste ha varit någon uppdatering som ställt till det. Jag borde ha kollat upp det närmare... Men räds inte, jag fixar detta kostnadsfritt."
Sedan det här med varför deras databaser hade backat nästan ett dygn, och att de förlorat en del arbete.
Jag beskyllde uppdateringarna på detta, och att jag var tvungen att kalla in den senaste backupen. De svarade: -"Aha, det förklarar saken. Ingen större fara dock. det är inte så mycket att ta igen."

Lärdom:
När man jobbar med multipla SSH-sessioner mot flera servrar samtidigt, speciellt när de kör samma distribution, är det extremt viktigt att skilja dem åt.
Jag kom att utföra ett knep från och med detta: Min egen prompt-konfiguration (PS1), som färgar prompten olika för olika system. Det blir genast lättare att se skillnad mellan sessionerna, även om man bara glänser över prompten utan att läsa den.
Nuförtiden tar jag för vana att alltid kopiera in min egen .bash -profil på de servrar jag jobbar med, och exekverar den. Det ger mig en säker uppsättning av aliaser, färgar prompten, samt annat bra-ha-nyttigt.

Visa signatur

Bästa programmen till Linux - v2.0
Linux-guide: Val av grafisk miljö. (Att välja distribution).
-
Everyone should have a SGoC in their systems (SGoC: SysGhost on a Chip)

Permalänk
Medlem
Skrivet av SysGhost:

Jag känner igen mig så väl!
Har också ovanan att basera säkerheten kring vilken sida av skärmen SSH-sessionen ligger...

Jag har förvisso 5min med bil bort till företaget jag "off-site'ar", och kan komma in till servern under dygnets alla timmar - vilket har behövts.

Mest är det klantiga kommandon, uppgraderingar som stängt av tjänster etc. Men har en bror, utan linux-vana, som fått exekvera en hel del terminalkommandon via mobil för att dom ska kunna jobba igen. Men överlag ganska snälla fel.. hittills.

På min egna burk råkade jag ta bort partitionen för /home en gång. Det var en intressant känsla efter man installerat om OSet på den disken också..

Skrivet av SysGhost:

Jag kom att utföra ett knep från och med detta: Min egen prompt-konfiguration (PS1), som färgar prompten olika för olika system. Det blir genast lättare att se skillnad mellan sessionerna, även om man bara glänser över prompten utan att läsa den.
Nuförtiden tar jag för vana att alltid kopiera in min egen .bash -profil på de servrar jag jobbar med, och exekverar den. Det ger mig en säker uppsättning av aliaser, färgar prompten, samt annat bra-ha-nyttigt.

Vill du dela med dig av PS1-strängen?

Visa signatur

WS: Asus P8Z77-I Deluxe mITX | Intel 3770K@4.6 | NH-U12P | Asus 780 GTX | Corsair 2x8GB 1600Mhz CL9 | Samsung 840 512GB | Ubuntu 16.04.3 x86_64 | Corsair AX750 | 2x Dell U2412M | Puppe.se | NAS: i7 860, 16GB DDR3, GA-P55M-UD4, FD Define R3, 8x2TB Samsung F4EG, Serveraid M1015, EVGA 750W G2 PSU, FreeBSD x64

Permalänk
Medlem

rm -rf ~ /någon/random/mapp/i/min/hemkatalog

Det oturliga mellanslaget gjorde att jag började rensa hela min hemmapp. Som tur är hade jag en backup.

sudo dd if=randomimage.img of=/dev/sdb

Jag copy-pastade kommandot utan att tänka mig för, /dev/sdb var min backup-disk som innehöll all data jag sparat sen jag började använda datorer. Jag ctrl-c:ade processen så fort jag insåg mitt misstag, men hela partitionstabellen blev förstörd, och inga diskåterskapningsverktyg jag provat har lyckats hitta filerna igen...

Permalänk
Hedersmedlem
Skrivet av AbtZ:

rm -rf ~ /någon/random/mapp/i/min/hemkatalog

Det oturliga mellanslaget gjorde att jag började rensa hela min hemmapp. Som tur är hade jag en backup.

Det där `-f`:et har jag nästan aldrig nytta av själv, så det brukar jag inte ha med. Är det ofta andra finner att det behövs?

Jag skulle en gång i min hemkatalog rensa innehållet i en underkatalog som hette typ "Ett unikt namn med mellanslag", så jag knappade `rm -r Ett<Tab>*<Enter>` och tänkte i mitt huvud att kommandot givetvis skulle se ut enligt:

$ rm -r Ett\ unikt\ namn\ med\ mellanslag/*

Tyvärr så tänkte jag inte på att mappen faktiskt låg någon annanstans och bara var symlänkad in i hemkatalogen; hade det bara varit detta som var problemet så hade kommandot blivit:

$ rm -r Ett\ unikt\ namn\ med\ mellanslag*

vilket hade tagit bort länken i stället för innehållet, men inte varit mycket mer irriterande än så.

Dock så var det dessutom på grund av mitt fifflande med katalogen numera en bruten länk, varpå tabbningen fungerar på ett annat sätt, så kommandot jag faktiskt hade kört var:

$ rm -r Ett\ unikt\ namn\ med\ mellanslag *

vilket var en ordentlig skillnad. Jag kan tycka att jag borde ha noterat mellanslaget, men jag tror att alla backslashar sänkte garden; det såg nästan rätt ut, samtidigt som jag nog inte var helt och hållet pigg och vaken.

Om jag minns rätt så räddades jag i viss grad ändå av att `rm` hittade en skrivskyddad fil i en viss katalog och därför stannade upp och frågade om jag verkligen ville ta bort den, vilket jag ju med all önskan i världen inte ville, och förstod då vad som hänt.

Jag hade backup som var någon vecka gammal, men det var en hel del som lagts till sedan dess som hade försvunnit. Dock främst LaTeX-filer, som jag faktiskt lyckades återskapa genom att göra en avbild av partitionen (innan jag hunnit täcka den faktiska informationen med nya skrivningar) med `dd` och sedan söka på "LaTeX-lika" ord med `grep` på hela rasket. Det gick inte snabbt, men det gick. Jag hade även blivit av med en hel del rätt nödvändig mätdata som inte var på hemkatalogens backup, men den hade jag sett till att ta fyra utspridda kopior på, så den kunde återskapas (inklusive kopian jag tog bort här så rök ytterligare två av dessa kopior under andra omständigheter, och först hittades inte den fjärde och sista, men det är en annan historia ).

Hade inte den där skrivskyddade filen räddat mig så hade det dock varit klart större problem, då jag även hade en hemkatalog på ett annat system monterad i hemkatalogen över SSHFS, som `rm` glatt hade rensat av bara farten.

Idag tar jag automatiserade backuper till en fjärrserver klart oftare, samtidigt som det mesta av värde är speglat till min laptop vid uppstart, samt mer sällan en extern hårddisk. Jag hoppas att det ska alltför mycket till för att jag ska tappa viktiga data med denna setup.

Skrivet av AbtZ:

sudo dd if=randomimage.img of=/dev/sdb

Jag copy-pastade kommandot utan att tänka mig för, /dev/sdb var min backup-disk som innehöll all data jag sparat sen jag började använda datorer. Jag ctrl-c:ade processen så fort jag insåg mitt misstag, men hela partitionstabellen blev förstörd, och inga diskåterskapningsverktyg jag provat har lyckats hitta filerna igen...

Textfiler som du kvalificerat kan "gissa" lite innehåll i kan gå att återskapa enligt `grep`-metoden jag nämnde ovan. Binära filer är dock ett betydligt större projekt, om än inte av nöden omöjligt. Om du hittat något program som säger sig kunna återskapa raderade filer från Ext3/4 så kanske det redan försöker använda den metoden, men kan vara värt att försöka manuellt om det är viktigt.

Visa signatur

Nu med kortare användarnamn, men fortfarande bedövande långa inlägg.

Permalänk
Medlem
Skrivet av Schrimp:

Jag känner igen mig så väl!
Har också ovanan att basera säkerheten kring vilken sida av skärmen SSH-sessionen ligger...

Vill du dela med dig av PS1-strängen?

Enkel variant är att alltid ha med \h eller \H så man får hostnamnet på skärmen.

Permalänk
Hedersmedlem
Skrivet av Schrimp:

Vill du dela med dig av PS1-strängen?

Personligen sköter jag det så här: min standardprompt hemma är

PS1='\[\033[00;32m\]\u\[\033[00;33m\]@\[\033[00;32m\]\h\[\033[01;30m\]:\[\033[01;36m\]\w\[\033[01;37m\]$ \[\033[00m\]'

dvs färgkodat "användarnamn@värdnamn:katalog$", vilket ger exempelvis

På fjärrdatorer så brukar jag använda samma struktur, men ändra färg/bakgrund på användarnamn och/eller värdnamn. Exempelvis så ger:

PS1='\[\033[07;95m\]\u\[\033[00;33m\]@\[\033[00;32m\]\h\[\033[01;30m\]:\[\033[01;36m\]\w\[\033[01;37m\]$ \[\033[00m\]'

(fetstilt ändrat sedan tidigare) resultatet:

Det måste inte vara snyggt; prioritet är att det står ut tillräckligt för att man ska märka att man "är" någon annanstans .

Jag antar att man skulle kunna ha en funktion som använde användarnamn/värdnamn för att generera en färgkod, men jag tycker det fungerar rätt bra att själv ha kontroll på det. Det är en kort exercis att kolla upp ANSI-sekvenser och ändra några siffror en enstaka gång när man får access till en ny dator.

Sedan har jag på ett flertal maskiner lite magi med Autoenv som automatiskt applicerar vissa omgivningar när jag går till vissa kataloger, vilket jag också markerar genom att ändra `PS1` på olika sätt.

Visa signatur

Nu med kortare användarnamn, men fortfarande bedövande långa inlägg.

Permalänk
Entusiast
Skrivet av phz:

Det där `-f`:et har jag nästan aldrig nytta av själv, så det brukar jag inte ha med. Är det ofta andra finner att det behövs?

Jag skulle en gång i min hemkatalog rensa innehållet i en underkatalog som hette typ "Ett unikt namn med mellanslag", så jag knappade `rm -r Ett<Tab>*<Enter>` och tänkte i mitt huvud att kommandot givetvis skulle se ut enligt:

$ rm -r Ett\ unikt\ namn\ med\ mellanslag/*

Tyvärr så tänkte jag inte på att mappen faktiskt låg någon annanstans och bara var symlänkad in i hemkatalogen; hade det bara varit detta som var problemet så hade kommandot blivit:

$ rm -r Ett\ unikt\ namn\ med\ mellanslag*

vilket hade tagit bort länken i stället för innehållet, men inte varit mycket mer irriterande än så.

Dock så var det dessutom på grund av mitt fifflande med katalogen numera en bruten länk, varpå tabbningen fungerar på ett annat sätt, så kommandot jag faktiskt hade kört var:

$ rm -r Ett\ unikt\ namn\ med\ mellanslag *

vilket var en ordentlig skillnad. Jag kan tycka att jag borde ha noterat mellanslaget, men jag tror att alla backslashar sänkte garden; det såg nästan rätt ut, samtidigt som jag nog inte var helt och hållet pigg och vaken.

Om jag minns rätt så räddades jag i viss grad ändå av att `rm` hittade en skrivskyddad fil i en viss katalog och därför stannade upp och frågade om jag verkligen ville ta bort den, vilket jag ju med all önskan i världen inte ville, och förstod då vad som hänt.

Jag hade backup som var någon vecka gammal, men det var en hel del som lagts till sedan dess som hade försvunnit. Dock främst LaTeX-filer, som jag faktiskt lyckades återskapa genom att göra en avbild av partitionen (innan jag hunnit täcka den faktiska informationen med nya skrivningar) med `dd` och sedan söka på "LaTeX-lika" ord med `grep` på hela rasket. Det gick inte snabbt, men det gick. Jag hade även blivit av med en hel del rätt nödvändig mätdata som inte var på hemkatalogens backup, men den hade jag sett till att ta fyra utspridda kopior på, så den kunde återskapas (inklusive kopian jag tog bort här så rök ytterligare två av dessa kopior under andra omständigheter, och först hittades inte den fjärde och sista, men det är en annan historia ).

Hade inte den där skrivskyddade filen räddat mig så hade det dock varit klart större problem, då jag även hade en hemkatalog på ett annat system monterad i hemkatalogen över SSHFS, som `rm` glatt hade rensat av bara farten.

Idag tar jag automatiserade backuper till en fjärrserver klart oftare, samtidigt som det mesta av värde är speglat till min laptop vid uppstart, samt mer sällan en extern hårddisk. Jag hoppas att det ska alltför mycket till för att jag ska tappa viktiga data med denna setup.

Textfiler som du kvalificerat kan "gissa" lite innehåll i kan gå att återskapa enligt `grep`-metoden jag nämnde ovan. Binära filer är dock ett betydligt större projekt, om än inte av nöden omöjligt. Om du hittat något program som säger sig kunna återskapa raderade filer från Ext3/4 så kanske det redan försöker använda den metoden, men kan vara värt att försöka manuellt om det är viktigt.

Angående växeln -f till 'rm', så brukar jag ofta stoppa in den, då det som oftast finns filer som saknar skrivrättigheter i de mappar jag brukar radera rekursivt.
med enbart 'rm -r ... ' så får jag ofta till svars: "rm: remove write-protected regular file ... ?"
men med växeln -f ( rm -rf ... ) så går det direkt utan frågor.
Visst finns det andra växlar att lägga till för att slippa "dumma frågor", men -f fungerar även i andra situationer såsom specialfiler och liknande, som också skulle trigga en drös "are you sure..." frågor.

När det kommer till mellanslag, och även andra specialtecken i filnamn och sökvägar, så använder jag i regel enkel eller dubbel apostrof, beroende på läget.
Exempel:

rm "Some Special Folder/A Normal File" rm "Some Special Folder/A $pecial File"

Första raden kommer att radera filen "A Normal File" i mappen "Some Special Folder"
Andra raden däremot, beter sig lite annorlunda. Den raderar filen "A File", då variabeln "$pecial" är tom. (Notera det dubbla mellanslaget i "A File")

pecial="Crazy" rm "Some Special Folder/A $pecial File"

Detta kommer att radera filen "A Crazy File", då variabeln $pecial är satt till "Crazy".

När det kommer till att hantera namn med specialtecken som kommandotolken tolkar på ett speciellt sätt, så kan man använda enkel apostrof för att "hård-tolka" filnamnen:

rm 'Some Special Folder/A Normal File' rm 'Some Special Folder/A $pecial File'

Första raden kommer att radera filen "A Normal File" i mappen "Some Special Folder"
Andra raden kommer att radera filen "A $pecial File" i mappen "Some Special Folder"

rm Some\ Special\ Folder/A\ \$pecial\ File

Det hade ju också fungerat, men är inte alls lika tydlig.

Så. Vad vill jag ha sagt?
Att det oftast är enklare att använda apostrofer, enkla eller dubbla, än att använda escape-sekvenser.
Jag har lärt mig den hårda vägen att använda apostrofer istället för escape-tecken. Så oerhört att glömma ett eller annat escape-tecken någonstans, och genast så blir resultaten fullständigt annorlunda. Precis som ni påpekat.

Visa signatur

Bästa programmen till Linux - v2.0
Linux-guide: Val av grafisk miljö. (Att välja distribution).
-
Everyone should have a SGoC in their systems (SGoC: SysGhost on a Chip)

Permalänk
Entusiast
Skrivet av Schrimp:

Jag känner igen mig så väl!
Har också ovanan att basera säkerheten kring vilken sida av skärmen SSH-sessionen ligger...

Jag har förvisso 5min med bil bort till företaget jag "off-site'ar", och kan komma in till servern under dygnets alla timmar - vilket har behövts.

Mest är det klantiga kommandon, uppgraderingar som stängt av tjänster etc. Men har en bror, utan linux-vana, som fått exekvera en hel del terminalkommandon via mobil för att dom ska kunna jobba igen. Men överlag ganska snälla fel.. hittills.

På min egna burk råkade jag ta bort partitionen för /home en gång. Det var en intressant känsla efter man installerat om OSet på den disken också..

Vill du dela med dig av PS1-strängen?

Skrivet av phz:

Personligen sköter jag det så här: min standardprompt hemma är

PS1='\[\033[00;32m\]\u\[\033[00;33m\]@\[\033[00;32m\]\h\[\033[01;30m\]:\[\033[01;36m\]\w\[\033[01;37m\]$ \[\033[00m\]'

dvs färgkodat "användarnamn@värdnamn:katalog$", vilket ger exempelvis

http://i.imgur.com/yuLplTz.png

På fjärrdatorer så brukar jag använda samma struktur, men ändra färg/bakgrund på användarnamn och/eller värdnamn. Exempelvis så ger:

PS1='\[\033[07;95m\]\u\[\033[00;33m\]@\[\033[00;32m\]\h\[\033[01;30m\]:\[\033[01;36m\]\w\[\033[01;37m\]$ \[\033[00m\]'

(fetstilt ändrat sedan tidigare) resultatet:

http://i.imgur.com/tNTbfCb.png

Det måste inte vara snyggt; prioritet är att det står ut tillräckligt för att man ska märka att man "är" någon annanstans .

Jag antar att man skulle kunna ha en funktion som använde användarnamn/värdnamn för att generera en färgkod, men jag tycker det fungerar rätt bra att själv ha kontroll på det. Det är en kort exercis att kolla upp ANSI-sekvenser och ändra några siffror en enstaka gång när man får access till en ny dator.

Sedan har jag på ett flertal maskiner lite magi med Autoenv som automatiskt applicerar vissa omgivningar när jag går till vissa kataloger, vilket jag också markerar genom att ändra `PS1` på olika sätt.

Själv har jag följande instoppat i min bash-profil:

COLOUR_ROOTNAME='\[\033[01;31m\]' COLOUR_USERNAME='\[\033[01;32m\]' COLOUR_HOSTNAME='\[\033[01;30m\]' COLOUR_PATH='\[\033[01;34m\]' COLOUR_END='\[\033[00m\]' if [[ ${EUID} == 0 ]] ; then PS1=$COLOUR_ROOTNAME'\u'$COLOUR_HOSTNAME'@\h'$COLOUR_PATH' \w \$'$COLOUR_END' ' else PS1=$COLOUR_USERNAME'\u'$COLOUR_HOSTNAME'@\h'$COLOUR_PATH' \w \$'$COLOUR_END' ' fi

Detta ger inte bara en möjlighet att ändra färger på prompten på ett enklare sätt, utan ger en även möjligheter att ha olika färger och innehåll beroende på om man är normal användare, eller superuser.
Ursprungligen baserad på Gentoo's PS1-strängar.

Jag hade en funktion som genererade ANSI färgkoder baserad på nätverkskortets MAC-adress, vilket resulterade i att jag i regel fick en unik färg för de olika systemen (Men det finns bara så många färger). Men jag kom att skippa den, då det krävdes extra handpåläggning i efterhand då det ibland resulterade i att prompten fick färger som smälte in med bakgrunden, eller syntes dåligt.

Visa signatur

Bästa programmen till Linux - v2.0
Linux-guide: Val av grafisk miljö. (Att välja distribution).
-
Everyone should have a SGoC in their systems (SGoC: SysGhost on a Chip)

Permalänk
Hedersmedlem
Skrivet av SysGhost:

Angående växeln -f till 'rm', så brukar jag ofta stoppa in den, då det som oftast finns filer som saknar skrivrättigheter i de mappar jag brukar radera rekursivt.

I Git- och SVN-kataloger träffar jag på det, men egentligen aldrig annars. Körde en kontroll med `find ~ -not -perm /u+w` och fick bara träffar på just Git/SVN-metadata, samt av någon anledning licenstexterna i Valves Steaminstallation (vilket känns som ett stort frågetecken ).

Det verkar som att vissa stoppar in det som standardväxel så fort de kör `rm`, för det syns så ofta i kommandoexempel, men det måste ändå vara rätt sällan det används av en anledning; lite som att man kan hitta de som skriver `rm -r` även om de bara ska ta bort enstaka filer, eller `rm -r` även om `rmdir` skulle fungera. Det känns också lite som när jag hade ovanan (men jag tror jag har lyckats träna bort det) att automatiskt skriva exempelvis `tar zxvf` för att packa upp gzip-arkiv, `jxvf` för bzip2, `Jxvf` för xz, osv, när jag med fördel bara kan skippa `z`/`j`/`J` då `tar` ändå alltid korrekt identifierar filtypen (åtminstone lika bra som jag gjorde visuellt).

Skrivet av SysGhost:

När det kommer till mellanslag, och även andra specialtecken i filnamn och sökvägar, så använder jag i regel enkel eller dubbel apostrof, beroende på läget.

Ja, primärt försöker jag undvika sådana tecken överhuvudtaget då de sällan hjälper. Om det dyker upp så är det för att det handlar om specifika filtyper (exempelvis musikfiler brukar jag ge namn med mellanslag för att vara lättare att läsa) eller för att man packat upp någon extern installation/laddat ner något som valt att döpa filer så.

Vad gäller att skriva sådana filnamn så förlitar jag mig ständigt på tab completion som autogenererar escapesekvenser, och om ifyllningen fungerar så kan man vara rätt säker på att det är rätt (förutom i exemplet jag skrev om tidigare i tråden — men det var ju också ett par saker som jag gjorde fel, inklusive bristande uppmärksamhet). Att skriva manuellt är alldeles för felbenäget, och sedan är man ju för evigt lat

Skrivet av SysGhost:

rm "Some Special Folder/A $pecial File"

Det är inte ovanligt att i hemsnickrade skript se liknande konstruktioner som ger fullständig skrämselhicka:

rm -r ~/$mydir/

och besläktade variationer kan göra rätt katastrofala saker om man inte är dubbelsäker på att `$mydir` verkligen får något innehåll. Bygger dess värde exempelvis på någon rolig `grep`/`sed`/`awk`-kombination eller att parsa programoutput som kanske inte är tänkt att parsas och plötsligt kan ändras så kan man få det väldigt tråkigt.

En annan sak som ofta smyger sig in i skript är att de inte avgränsar positionsargument från växlar, så att oväntade filnamn har potential att ändra kommandot, liksom nämnts tidigare. Ett `--` innan man låter skaler interpolera asterisker och annat kan vara en bra försäkring.

Visa signatur

Nu med kortare användarnamn, men fortfarande bedövande långa inlägg.

Permalänk
Hedersmedlem
Skrivet av SysGhost:

Detta ger inte bara en möjlighet att ändra färger på prompten på ett enklare sätt, utan ger en även möjligheter att ha olika färger och innehåll beroende på om man är normal användare, eller superuser.

Min "markör" för att vara `root` är att jag inte har någon färgkodning alls, vilket är rätt effektivt för att "haja till" när man är van vid regnbågen. Jag lever också i viss mån efter devisen att om jag är `root` så gör jag något fel™ :-), även om det fortfarande händer — vanligen om man har anledning att undersöka filer i kataloger som vanliga användare inte ens får lista, då det annars dödar tabkomplettering, vilket fort blir frustrerande.

Det andra tillfället då jag är `root` är man sitter i ett räddningsskal eller liknande, men då är som regel inställningsfilerna ändå inte tillgängliga, så då får man också den där ofärgade karakteristiska prompten.

Skrivet av SysGhost:

Jag hade en funktion som genererade ANSI färgkoder baserad på nätverkskortets MAC-adress, vilket resulterade i att jag i regel fick en unik färg för de olika systemen (Men det finns bara så många färger). Men jag kom att skippa den, då det krävdes extra handpåläggning i efterhand då det ibland resulterade i att prompten fick färger som smälte in med bakgrunden, eller syntes dåligt.

Ja, jag har funderat på liknande lösningar (snarare beräknat på användarnamn respektive värdnamnet själv) men att i så fall se till att bara välja färger och färgkombinationer som är läsbara, vilket lägger till extra logik i att analysera kulör, färgmättnad, etc. Känns som att det borde gå att googla fram någon färdig lösning för detta, men jag ser så lite praktisk applikation i det att jag inte ens tänker öppna en extra tab för att kolla .

Visa signatur

Nu med kortare användarnamn, men fortfarande bedövande långa inlägg.