Օպերացիոն համակարգերում որևէ լուրջ գործողություն կամ փոփոխություն անելիս անընդհատ ստիպված ես հաստատել քո որոշումը և դա մտածված է «անուղղելի» որոշումներից ինքներս մեզ պաշտպանելու համար:
Միգուցե հեշտ լինի համակերպվել սեփական սխալների հետ, եթե աշխատում եք տանը սեփական համակարգչով և պատահաբար ջնջել եք որևէ ֆիլմ կամ նկար: Սակայն պատկերն այլ է, եթե աշխատանքի ընթացքում պատահաբար ջնջել եք ընկերության ամբողջ թվային արխիվը:
Անզգուշության արդյունքում նման մի բարդ իրավիճակում է հայտնվել Մարկո Մարսալան (Marco Marsala), ով մեկ սխալ հրամանով պատահաբար ջնջել է վեբ-հոսթինգ տրամադրող իր ընկերության ամբողջ թվային տվյալները:
ԿԱՐԴԱՑԵՔ ՆԱԵՎ` Աշխատակիցների ծածկագրության սովորություններ, որոնք կարող են վնասել Ձեր ընկերությանը
Խոսքը գնում է Unix-ական օպերացիոն համակարգերում առկա rm
հրամանի մասին, որը Մարսալան անզգույշ է օգտագործել (rm -rf /
) սերվերի վրա կարգավորումներ կատարելիս:
Հրամանը նախատեսված է ֆայլ(եր) ջնջելու համար, իսկ -rf /
կարգավորումը (option) օպերացիոն համակարգին ստիպում (force) է անմիջապես աշխատացնել հրամանը և նշված կատալոգում (տվյալ դեպքում ֆայլային համակարգի գլխավոր կատալոգում) ջնջել բոլոր ֆայլերը, նույնիսկ եթե որևէ ֆայլ օգտագործվում է տվյալ պահին:
Ես մի փոքրիկ հոսթինգ ընկերություն ունեմ, որը մոտ 1353 հաճախորդ ունի... Բոլոր սերվերներն ու պահպանված արխիվները ջնջվել են, քանի որ տվյալների կողմնակի պահոցները նույնպես միացված էին հրամանն աշխատացնելու պահին: Ի՞նչպես կարող եմ արագ վերականգնել rm -rf / հրամանից կորցրած տվյալները:
— Մարկո Մարսալա
Թվում է, թե սա մի անհեթեթ պատմություն է, և միայն կատարյալ ապուշը կարող է նման հրաման աշխատացնել գործող սերվերի վրա, սակայն խնդիրն ավելի բարդ է, քան Դուք կարծում եք:
Ո՞րն է սխալմունքի իրական պատճառը
Առաջին հայացքից անհեթեթ թվացող հրամանն իրականում կանչվել է Bash կոդի միջոցով և ունեցել հետևյալ տեսքը՝
rm -rf $1/$2
Bash կոդը թույլ էր տալիս ջնջել օգտատերերի հին արխիվները՝ փոփոխականներին ($1, $2) տալով համապատասխան արժեքներ: Ծրագրային սխալի պատճառով նշված փոփոխականները ստացել են զրոյական արժեքներ և ստիպել «անվերադարձ» ջնջել ամբողջ ֆայլային համակարգը:
Ի՞նչպես խուսափել նման իրավիճակներից
- Պարբերաբար կատարել թվային տվյալների արխիվացում և դրանք պահել ապահով տեղում:
- UNIX-ական օպերացիոն համակարգերում ֆայլերը ջնջելիս օգտվել safe-rm ծրագրային միջոցից: