Comenzi ce nu trebuie rulate pe Linux (daca nu stii ce fac)

O sa scriu o lista cu cateva comenzi ce nu ar trebui rulate pe Linux daca nu stii ce fac.

  1. (sudo) rm -rf / – e probabil cea mai cunoscuta comanda si functiona acum ~10 ani.
    Ce face?
    Sterge sistemul de operare si toate discurile ce sunt montate in momentul ala pe sistem. Observati cuvintele “toate discurile montate”. Ce nu e montat, e salvat de la stergere. Ce este montat in momenul rularii comenzii, se va sterge (chiar si remote file-systems).
    De ce era functionala acum ~10 ani? Pentru ca acum nu mai merge:

  2. rm -rf .* – o variatie a comenzii de mai sus. Alte variante ar fi rm -rf * sau rm -rf /*
    Ce face?
    Primele doua comenzi sterg continutul folderului in care te afli. Ultima face acelasi lucru ce incearca comanda de la punctul 1 sa faca, dar de data asta functioneaza fara warning.
  3. dd if=/dev/zero of=/dev/sdX
    Ce face?
    Scrie cu 0 pe HDD. Nu vad vreo problema in a scrie cu 0 tot HDD-ul daca asta vrem sa facem. Trebuie doar sa fim atenti pe ce HDD scriem. Pana la urma, aici e vorba de atentie. Eu folosesc dd-ul ca sa scriu imagini pe stick-uri USB si in 10 ani de Linux am reusit o singura data sa imi stric MBR-ul si root-ul.
    Alternativa:> /dev/sdX
  4. mkfs.ext4 /dev/sdXY
    Ce face?
    Formateaza o partitie. Dar poate chiar asta vreau sa fac. La fel ca la comanda anterioara, trebuie doar sa fim atenti ce partitie formatam. Alternative ar fi inlocuirea ext4 cu ext3, btrfs, xfs, etc.
  5. cd ~; for x in `ls`; do mv -f $x $y; y=$x; done
    Ce face?
    Redenumeste fisierele din folderul in care este rulata comanda si sterge primul fisier.
    Exemplu: avem fisierele “a” cu continutul “a” si fisierul “b” cu continutul “b”. Dupa ce comanda a rulat, o sa avem fisierul “a” dar cu continutul “b”.

  6. find -type f -mtime +30 -exec mv {} /dev/null \;
    Ce face?
    Cauta fisierele mai vechi de 30 de zile si le muta in groapa de gunoi a Linuxului. (/dev/null)
    Alternative: mv ~ /dev/null sau mv / /dev/null. Prima sterge home-ul, a doua face acelasi lucru ca si comenzile de la 1 si 2.

Bonus:

:(){:|:&};:
rm -f /usr/bin/sudo
rm -f /bin/su
chmod -R 777 /*
[ $[ $RANDOM % 6 ] == 0 ] && rm -rf /* || echo "You live" #ruleta ruseasca

 

De la 6-10MB/s la 60MB/s

Cum am cateva zile libere am zis aseara sa ma ocup putin de infrastructura mea de acasa, asa ca am inceput sa fac update la ultimele versiuni de OS pentru fiecare VM in parte, am rezolvat problemele pe care le-am descoperit de cand am setat Zabbix-ul sa trimita notificari, am facut o realocare a resurselor, (aparent dupa ce am refacut niste roluri pe pfSense mi-am dat seama ca nu are nevoie de 6GB de RAM), etc.

Dupa ce am terminat partea cu OS-urile am zis ca ar fi o idee buna sa fac niste modificari si la host, nu numai la masinile virtuale. Mi-a fost prea lene sa fac upgrade la ESXI, asa ca m-am intors la partea usoara: reconfigurarea masinilor virtuale. M-am hotarat ca e timpul sa renunt la clientul de Windows pentru VMWare si sa fac totul din interfata web pentru ESXI 6.5, asa ca am facut upgrade la VIrtual Hardware la versiunea 13, la doua masini ce nu sunt importante.

Din pacate am avut ceva probleme cu ele dupa upgrade (kernel panic cu toate versiunile de kernel) si singurul lucru pe care-l puteam vedea in loguri era legat de placa de retea. Am schimbat placa de retea din VMXNET3 in E1000 si n-am avut probleme timp de 12-13 ore, asa ca am zis sa fac upgrade si la torrentbox. Totul a decurs fara probleme, dar am fost curios care e diferenta (reala/practica) intre VMXNET3 si E1000.

Am intrebat pe Gogu si am nimerit peste un link in care se plangea cineva ca pe E1000 are aceeasi performanta (slaba) si cu TSO on si cu TSO off. Am vrut sa vad mai multe despre TSO si am dat peste link-ul asta si am rulat comanda ethtool -K ens33 tso off tx off sg off gro ca primarul. Din secunda aia all hell broke loose:

Spike-urile pe retea sunt de la niste teste de viteza rulate ca sa vad daca cineva face misto de mine. Aparent nu. Nu stiu de ce, dar faptul ca am dat disable la TSO a ajutat la cresterea vitezei destul de mult (de aproape 10 ori). Mai jos aveti o poza cu traficul pe ore, direct in pfSense, incepand cu ora 11 si pana acum cateva minute (16:23).

 

Inca ma mai gandesc daca sa fac aceeasi miscare si pe pfSense (upgrade la VM13 + E1000 + TSO off), dar daca o fac, revin cu un update in postarea asta.

 

UPDATE 15.08.2017

Se pare ca de fapt exista un bug in ESXI si aparent sunt afectat de el. Cum am spus, am updatat totul la zi (inclusiv kernelul). Se pare ca poti folosi orice versiune de kernel mai mica de 4.8 cu orice versiune de VM Hardware sau orice versiune de kernel cu VM Hardware < 12 ca sa nu ai probleme cu bug-ul.

Eu am VMH13 cu Kernel 4.11 pe masinile mele. O sa incerc un kernel LTS mai vechi cu VMXNET3 si VMH13 sa vad ce se intampla.