Linux Quest. Շնորհավորում ենք հաղթողներին և պատմում առաջադրանքների լուծումների մասին

Linux Quest. Շնորհավորում ենք հաղթողներին և պատմում առաջադրանքների լուծումների մասին

Մարտի 25-ին մենք բացեցինք գրանցումը Linux Quest, սա խաղ է Linux օպերացիոն համակարգի սիրահարների և փորձագետների համար։ Որոշ վիճակագրություն՝ խաղի համար գրանցվել է 1117 մարդ, որոնցից 317-ը գտել է առնվազն մեկ բանալի, 241-ը հաջողությամբ կատարել է առաջին փուլի առաջադրանքը, 123-ը՝ երկրորդը և 70-ը՝ երրորդ փուլը։ Այսօր մեր խաղն ավարտվել է, և մենք շնորհավորում ենք մեր հաղթողներին:

  • Ալեքսանդր Թելդեկովը զբաղեցրել է առաջին տեղը։
    Ալեքսանդրն ինքն իրեն ասաց, որ ինքն ամենատիպիկ համակարգի ադմինիստրատորն է։ Ապրում է Վոլգոգրադում, մոտ քսան տարի կառավարում է Unix-ի նման տարբեր համակարգեր: Ինձ հաջողվեց աշխատել ինտերնետ պրովայդերներում, բանկում, համակարգային ինտեգրատորում: Այժմ նա աշխատում է հեռակա կարգով մի փոքր ընկերությունում՝ աշխատելով ամպային ենթակառուցվածքի վրա մեծ արտասահմանյան հաճախորդի համար: Սիրում է կարդալ և լսել երաժշտություն: Խաղի մասին Ալեքսանդրն ասաց, որ իրեն դուր է եկել խաղն ամբողջությամբ, սիրում է նման առաջադրանքներ։ Ընկերություններից մեկում հարցազրույցի ժամանակ ես Hackerrank-ի նման մի բան արեցի, հետաքրքիր էր:
  • Երկրորդ տեղ՝ Ռոման Սուսլով։
    Վեպ Մոսկվայից. Նա 37 տարեկան է։ Աշխատում է որպես Linux/Unix ինժեներ Jet Infosystems-ում: Աշխատանքի ժամանակ ես պետք է կառավարեմ և շտկեմ Linux/Unix համակարգեր + SAN: Հետաքրքրությունները բազմազան են՝ Linux համակարգեր, ծրագրավորում, հակադարձ ճարտարագիտություն, տեղեկատվական անվտանգություն, Arduino: Խաղի մասին Ռոմանը նշել է, որ ընդհանուր առմամբ իրեն դուր է եկել խաղը։ «Մի փոքր ձգեցի ուղեղս ու ընդմիջեցի առօրյա աշխատանքի գորշ առօրյայից։ 🙂 Կցանկանայի ավելի շատ առաջադրանքներ ունենալ, այլապես մինչ կհասցնեի դրա համը ճաշակել, խաղն արդեն ավարտված էր»։
  • Երրորդ - alex3d.
    Ալեքսն ապրում է Մոսկվայում և աշխատում է ծրագրային ապահովման մշակման ոլորտում։ «Շնորհակալություն մրցույթի համար, հետաքրքիր էր ստուգել իմ google-fu հմտությունները»:

Նաև 10 լավագույն խաղացողների վարկանիշում.

  • Եվգենի Սալդաև
  • Մարկել Մոխնաչևսկի
  • Կոնստանտին Կոնոսով
  • Պավել Սերգեև
  • Վլադիմիր Բովաև
  • Իվան Բուբնով
  • Պավլո Կլեց

Մենք հասկանում ենք, որ կան բազմաթիվ տարբերակներ մեր բոլոր խնդիրների լուծման համար, հնարավոր լուծումներից մի քանիսը նկարագրված են ստորև:

1. Առաջին փուլ

Մենք այն անվանեցինք «Դուք իսկապե՞ս ադմին եք», քանի որ խնդիրը բավականին պարզ էր՝ շտկել տաք լամպի ծառայությունը:

1.1. Հետաքրքիր փաստեր:

Երկու խաղացողներ առաջին բանալին գտան խաղի առաջին 15 րոպեներին, իսկ առաջին ժամում մենք ունեինք երեք առաջատար, ովքեր կատարեցին առաջադրանքը։

1.2. Զորավարժություններ

Դուք գնացիք աշխատելու մի ընկերությունում, որտեղ երկար ժամանակ չկար տեղեկատվական տեխնոլոգիաների իրավասու մասնագետ։ Նախքան գործերը կարգի բերելը, դուք պետք է լուծեք այրվող խնդիրը, որն արգելափակում է գրասենյակի աշխատանքը։

Մաքրուհին շվաբրով բռնել է սերվերի կաբինետի հոսանքի մալուխը. Էլեկտրաէներգիան վերականգնվել է, բայց մի շատ կարևոր կայք դեռ չի աշխատում։ Կայքը կարևոր է, քանի որ ընկերությունը այնքան էլ մտահոգված չէ տեղեկատվական անվտանգության հարցերով, և դրա գլխավոր էջում դուք կարող եք պարզ տեքստով գտնել գործադիր տնօրենի համակարգչի ադմինիստրատորի գաղտնաբառը:

Օրերս գաղտնաբառը փոխվել է, բայց բոլորը մոռացել են նորը, տնօրենը չի կարողանում աշխատել։ Խոսակցություններ կան, որ այս մեքենայի վրա ավելի շատ բանալիներ են եղել, որոնք կարող են օգնել մեզ վերծանել հաշվապահական փաստաթղթերի կրկնօրինակը:

Բոլորն ակնկալում են հարցի արագ լուծում։

1.3. Լուծում

1. Առաջին հերթին, դուք պետք է փոխեք արմատային գաղտնաբառը վիրտուալ մեքենայի վրա, որպեսզի մուտք գործեք այն: Սկսելիս մենք նկատում ենք, որ սա Ubuntu 16.04 սերվեր է:

Արմատային գաղտնաբառը վերականգնելու համար մենք վերագործարկում ենք մեքենան, բեռնելիս grub մենյուի ցուցադրման պահին գնացեք խմբագրելու Ubuntu տարրը «e» կոճակով: Խմբագրեք linux տողը, ավելացրեք այն մինչև վերջ init=/bin/bash. Մենք բեռնում ենք Ctrl+x-ի միջոցով, ստանում ենք բաշ։ Տեղադրեք արմատը rw-ով, փոխեք գաղտնաբառը.

$ mount -o remount,rw /dev/mapper/ubuntu--vg-root
$ passwd

Մի մոռացեք համաժամացման, վերագործարկման մասին:

2. Պայմանն ասում է, որ մեր վեբ սերվերը չի աշխատում, նայեք.

$ curl localhost
Not Found
The requested URL / was not found on this server.
Apache/2.4.18 

Այսինքն, իրականում Apache-ն աշխատում է, բայց պատասխանում է 404 կոդով: Եկեք նայենք կազմաձևին.

$ vim /etc/apache2/sites-enabled/000-default.conf

Այստեղ կա նաև մի բանալի՝ StevenPaulSteveJobs:

Ճանապարհի ստուգում /usr/share/WordPress - Նման բան չկա, բայց կա /usr/share/wordpress. Խմբագրեք կազմաձևը և վերագործարկեք Apache-ն:

$ systemctl restart apache2

3. Կրկին փորձեք, մենք ստանում ենք սխալ.

Warning: mysqli_real_connect(): (HY000/2002): Connection refused in /usr/share/wordpress/wp-includes/wp-db.php on line 1488

Տվյալների բազան չի՞ աշխատում:

$ systemctl status mysql
Active: active (running)

Ինչ է պատահել? Մենք պետք է դա պարզենք: Դա անելու համար դուք պետք է մուտք գործեք MySQL, ինչպես նկարագրված է փաստաթղթավորում. Փաստաթղթային կետերից մեկը խորհուրդ է տալիս գրանցել տարբերակը skip-grant-tables в /etc/mysql/mysql.conf.d/mysqld.cnf. Այստեղ կա նաև բանալին՝ AugustaAdaKingByron:

Օգտագործողի իրավունքների ուղղում 'wp'@'localhost'. Մենք գործարկում ենք MySQL-ը, այն հասանելի ենք դարձնում ցանցի միջոցով՝ մեկնաբանելով կոնֆիգուրայի տարբերակը skip-networking.

4. Այս քայլերից հետո սկսվում է վեբ սերվերը, սակայն կայքը դեռ չի աշխատում, քանի որ

Warning: require_once(/usr/share/wordpress/wp-content/themes/twentysixteen/footer.php): failed to open stream: Permission denied in /usr/share/wordpress/wp-includes/template.php on line 562

Մենք խմբագրում ենք ֆայլի իրավունքները:

$ chmod 644 /usr/share/wordpress/wp-content/themes/twentysixteen/footer.php

Մենք թարմացնում ենք էջը, գնում ենք կայք և գտնում բանալին՝ BjarneStroustrup: Մենք գտանք բոլոր երեք բանալիները, մեր տնօրենը կարող է աշխատել, մենք վերծանել ենք հաշվապահական ֆայլերը։ Բոլորը երջանիկ են, և ձեզ շատ աշխատանք է սպասվում ընկերությունում ենթակառուցվածքների, պահուստավորման և անվտանգության ապահովման համար:

2. Երկրորդ փուլ

Անհրաժեշտ էր լուծել վերլուծությունների հավաքագրման խնդիրը։ Բոլորը սիրում են վերլուծություն՝ ով է այն օգտագործում, որտեղ և ինչ քանակությամբ: Մենք գտանք մի դեպք, որին բոլոր ինժեներները կարող են այս կամ այն ​​ձևով հանդիպել կյանքում:

2.1. Հետաքրքիր փաստեր

Մեր խաղացողներից մեկը խաղի առաջին 10 րոպեների ընթացքում մուտքագրեց ճիշտ ստեղնը, և առաջին ժամում մենք ունեցանք առաջատար, ով կատարեց առաջադրանքը:

2.2. Զորավարժություններ

Դուք գնացիք ընկերությունում աշխատելու, մենեջերները եկան ձեզ մոտ և խնդրեցին գտնել, թե ում են նամակներ ուղարկում Աֆրիկայից: Դրանց հիման վրա մենք պետք է կառուցենք ստացողների լավագույն 21 հասցեները: Ստացողների հասցեների առաջին տառերը բանալին են: Մի բան՝ փոստային սերվերը, որով ուղարկվել են նամակները, չի բեռնվում։ Բոլորն ակնկալում են հարցի արագ լուծում։

2.3. Լուծում

1. Սերվերը չի բեռնվում fstab-ում գոյություն չունեցող swap բաժանման պատճառով, բեռնելիս համակարգը փորձում է տեղադրել այն և խափանում է: Ինչպե՞ս բեռնել:

Ներբեռնեք նկարը, մենք ներբեռնեցինք CentOS 7, բեռնեք Live CD/DVD-ից (Troubleshooting -> Rescue), տեղադրեք համակարգը, խմբագրեք /etc/fstab. Մենք անմիջապես գտնում ենք առաջին բանալին՝ GottfriedWilhelm11646Leibniz:

Ստեղծել փոխանակում.

$ lvcreate -n swap centos -L 256M
$ sync && reboot

2. Ինչպես միշտ, գաղտնաբառ չկա, պետք է փոխել արմատային գաղտնաբառը վիրտուալ մեքենայի վրա: Մենք սա արդեն արել ենք առաջին առաջադրանքում։ Մենք փոխում ենք և հաջողությամբ մուտք ենք գործում սերվեր, բայց այն անմիջապես անցնում է վերաբեռնման: Սերվերը ծանրաբեռնված է այնպիսի արագությամբ, որ դուք նույնիսկ ժամանակ չունեք ուշադիր նայելու բոլոր տեղեկամատյանները։ Ինչպե՞ս հասկանալ, թե ինչ է կատարվում:

Կրկին մենք բեռնում ենք livecd-ից, ուշադիր ուսումնասիրում ենք համակարգի տեղեկամատյանները և, ամեն դեպքում, նայում ենք cron-ին, քանի որ նման պարբերականությունը: Այնտեղ մենք գտնում ենք խնդիրը և երկրորդ բանալին՝ Alan1912MathisonTuring:

Անհրաժեշտ է /etc/crontab ջնջել կամ մեկնաբանել տողը echo b > /proc/sysrq-trigger.

3. Որից հետո սերվերը բեռնվել է, և դուք կարող եք կատարել մենեջերի առաջադրանքը՝ «Որո՞նք են հասցեները Աֆրիկայում»: Այս տեղեկատվությունը ընդհանուր առմամբ հասանելի է հանրությանը: Այս տեղեկատվությունը կարող եք գտնել ինտերնետում՝ օգտագործելով «ip address africa», «geoip database» արտահայտությունները: Խնդիրը լուծելու համար դուք կարող եք օգտագործել ազատ հասանելի հասցեների բաշխման տվյալների բազաները (geoip): Մենք որպես ստանդարտ օգտագործել ենք տվյալների բազան MaxMind GeoLite2, հասանելի է Creative Commons Attribution-ShareAlike 4.0 լիցենզիայի ներքո:

Փորձենք լուծել մեր խնդիրը՝ օգտագործելով միայն Linux համակարգի կոմունալ ծառայությունները, բայց ընդհանուր առմամբ այն կարելի է լուծել բազմաթիվ եղանակներով՝ օգտագործելով տեքստի զտիչ կոմունալ ծառայություններ և օգտագործելով ծրագրավորման տարբեր լեզուներով սկրիպտներ:

Սկզբից մենք պարզապես կստանանք «ուղարկող-ստացող IP» զույգերը փոստի մատյանից /var/log/maillog (եկեք կառուցենք էլփոստի հասցեատերերի աղյուսակ՝ ուղարկողի IP): Դա կարելի է անել հետևյալ հրամանով.

$ cat /var/log/maillog | fgrep -e ' connect from' -e 'status=sent' | sed 's/[]<>[]/ /g' | awk '/connect from/ {ip=$11} /status=sent/ {print $10" "ip}' > log1.txt

Եվ մինչ մենք կշարունակենք աֆրիկյան հասցեների տվյալների բազա կազմելը, եկեք նայենք ուղարկողների լավագույն IP հասցեներին:

$ cat log1.txt | cut -d' ' -f1 | sort | uniq -c | sort -r | head -n 40
5206 [email protected]
4165 [email protected]
3739 [email protected]
3405 [email protected]
3346 [email protected]

Դրանցից բոլորի մեջ տառերի քանակով ակնհայտորեն աչքի են ընկնում վերեւից առաջին երեք ստացողները։ Եթե ​​դուք ընկալեք ուղարկողների IP հասցեները, որոնք հասցեներ են ուղարկվել այս լավագույն 3-ից, ապա կնկատեք որոշակի ցանցերի ակնհայտ գերակշռություն.

$ cat log1.txt | fgrep '[email protected]' | cut -d' ' -f2 | sort | cut -d'.' -f1 | uniq -c | sort -r | head
831 105
806 41
782 197
664 196
542 154
503 102
266 156
165 45
150 160
108 165

105/8, 41/8, 196/8,197/8 ցանցերի մեծ մասը հատկացված է ԱՖՐԻՆԻԿ-ին՝ ինտերնետ ռեսուրսներ բաշխող հինգ տարածաշրջանային ինտերնետ գրանցողներից մեկին: AFRINIC-ը հասցեների տարածություն է տարածում Աֆրիկայում: Իսկ 41/8-ը վերաբերում է ԱՖՐԻՆԻԿԻՆ ամբողջությամբ։

https://www.nic.ru/whois/?searchWord=105.0.0.0 
https://www.nic.ru/whois/?searchWord=41.0.0.0

Այսպիսով, խնդրի պատասխանը, ըստ էության, բուն մատյանում է։

$ cat log1.txt | fgrep -e '105.' -e '41.' -e '196.' -e '197.' -e '154.' -e '102.' | awk '{print $1}' | sort | uniq -c | sort -r | head -n 21
4209 [email protected]
3313 [email protected]
2704 [email protected]
2215 [email protected]
1774 [email protected]
1448 [email protected]
1233 [email protected]
958 [email protected]
862 [email protected]
762 [email protected]
632 [email protected]
539 [email protected]
531 [email protected]
431 [email protected]
380 [email protected]
357 [email protected]
348 [email protected]
312 [email protected]
289 [email protected]
282 [email protected]
274 [email protected]

Այս փուլում մենք ստանում ենք «LinuxBenedictTorvadst» տողը:

Ճիշտ բանալին՝ «LinusBenedictTorvalds»:

Ստացված տողը պարունակում է տառասխալ վերջին 3 նիշերի ճիշտ ստեղնի հետ կապված: Դա պայմանավորված է նրանով, որ մեր ընտրած ցանցերը ամբողջությամբ նվիրված չեն աֆրիկյան երկրներին և այն բանին, թե ինչպես են էլ.

Աֆրիկյան երկրներին հատկացված խոշորագույն ցանցերի բավարար ճշգրտմամբ կարելի է ճշգրիտ պատասխան ստանալ.

$ cat log1.txt | fgrep -e' '105.{30..255}. -e' '41. -e' '196.{64..47}. -e' '196.{248..132}. -e' '197.{160..31}. -e' '154.{127..255}. -e' '102.{70..255}. -e' '156.{155..255}. | awk '{print $1}' | sort | uniq -c | sort -r | head -n 21
3350 [email protected]
2662 [email protected]
2105 [email protected]
1724 [email protected]
1376 [email protected]
1092 [email protected]
849 [email protected]
712 [email protected]
584 [email protected]
463 [email protected]
365 [email protected]
269 [email protected]
225 [email protected]
168 [email protected]
142 [email protected]
111 [email protected]
 96 [email protected]
 78 [email protected]
 56 [email protected]
 56 [email protected]
 40 [email protected]

Խնդիրը կարող է լուծվել նաև այլ կերպ.
Ներբեռնեք MaxMind-ը, բացեք այն, և հաջորդ երեք հրամանները նույնպես լուծում են մեր խնդիրը:

$ cat GeoLite2-Country-Locations-ru.csv | grep "Африка" | cut -d',' -f1 > africaIds.txt
$ grep -Ff africaIds.txt GeoLite2-Country-Blocks-IPv4.csv | cut -d',' -f1 > africaNetworks.txt
$ grepcidr -f africaNetworks.txt log1.txt | cut -d' ' -f1 | sort | uniq -c | sort -r | head -n21

Այսպես թե այնպես, մենք ի վերջո հաշվարկեցինք վիճակագրությունը, և մենեջերները ստացան այն տվյալները, որոնք անհրաժեշտ էին աշխատելու համար:

3. Երրորդ փուլ

Երրորդ փուլը որոշ չափով նման է առաջինին. անհրաժեշտ է նաև շտկել ջերմ լամպի սպասարկումը, բայց ամեն ինչ ավելի բարդ է, քան առաջին առաջադրանքում:

3.1. Հետաքրքիր փաստեր

Առաջին 15 րոպեների ընթացքում երեք խաղացող գտան առաջին բանալին, փուլի մեկնարկից 2 ժամ 20 րոպե անց մեր հաղթողը կատարեց առաջադրանքը:

3.2. Զորավարժություններ

Դուք գնացել եք աշխատելու մի ընկերությունում, որտեղ ընկերության բոլոր փաստաթղթերը պահվում են ներքին Վիքի սերվերում: Անցյալ տարի մի ինժեներ սերվերի համար պատվիրեց 3 նոր սկավառակ՝ ի լրումն գոյություն ունեցող մեկի՝ պատճառաբանելով, որ համակարգը սխալ հանդուրժող լինելու համար սկավառակները պետք է տեղադրվեն ինչ-որ զանգվածների մեջ: Ցավոք սրտի, դրանց տեղադրումից մի քանի շաբաթ անց ինժեները արձակուրդ է գնացել Հնդկաստան և չի վերադարձել։

Սերվերը մի քանի տարի աշխատել է առանց խափանումների, սակայն մի քանի օր առաջ ընկերության ցանցը կոտրել են։ Համաձայն հրահանգների՝ անվտանգության աշխատակիցները սերվերից հեռացրել են սկավառակները և ուղարկել դրանք ձեզ։ Փոխադրման ընթացքում մեկ սկավառակ անդառնալիորեն կորել է։

Մենք պետք է վերականգնենք Վիքիի ֆունկցիոնալությունը, առաջին հերթին մեզ հետաքրքրում է վիքի էջերի բովանդակությունը։ Տեքստի որոշակի հատված, որը եղել է այս վիքիի էջերից մեկում, 1C սերվերի գաղտնաբառը է և շտապ անհրաժեշտ է այն ապակողպելու համար։

Բացի այդ, ինչ-որ տեղ վիքի էջերում կամ մեկ այլ վայրում մատյան սերվերի և տեսահսկման սերվերի գաղտնաբառեր կային, որոնք նույնպես ցանկալի կլիներ վերականգնել, առանց դրանց միջադեպի հետաքննությունն անհնար է։ Ինչպես միշտ, մենք ակնկալում ենք հարցի արագ լուծում։

3.3. Լուծում

1. Մենք փորձում ենք հերթով բեռնել այն սկավառակներից, որոնք ունենք և ամենուր, որտեղ մենք ստանում ենք նույն հաղորդագրությունը.

No bootable medium found! System halted 

Դուք պետք է բեռնեք ինչ-որ բանից: Կենդանի CD/DVD-ից բեռնումը (Troubleshooting -> Rescue) նորից օգնում է: Բեռնելիս մենք փորձում ենք գտնել boot partition-ը, չենք կարողանում գտնել այն, հայտնվում ենք պատյանում: Փորձում ենք ուսումնասիրել, թե ինչ և ինչպես անել սկավառակների հետ։ Հայտնի է, որ նրանք երեքն են։ Դրա համար ավելի շատ գործիքներ կան CentOS-ի 7-րդ տարբերակում, որտեղ կան հրամաններ blkid կամ lsblk, որոնք մեզ ցույց են տալիս սկավառակների մասին ողջ տեղեկատվությունը։

Ինչպես և ինչ ենք մենք անում.

$ ls /dev/sd*

Միանգամից ակնհայտ է դառնում, որ

/dev/sdb1 - ext4
/dev/sdb2 - часть lvm
/dev/sda1 и /dev/sdc1 - части рейда
/dev/sda2 и /dev/sdc2 - про них ничего не известно на текущий момент

Մենք տեղադրում ենք sdb1, պարզ է, որ սա CentOS 6-ի boot partition-ն է:

$ mkdir /mnt/sdb1 && mount /dev/sdb1 /mnt/sdb1

Ակնհայտ է, որ մենք գնում ենք grub բաժին և այնտեղ գտնում ենք առաջին բանալին՝ James191955Gosling անսովոր ֆայլում:

2. Մենք ուսումնասիրում ենք pv-ները և lv-ները, քանի որ աշխատում ենք LVM-ի հետ: Տեսնում ենք, որ պետք է լինի 2 ֆիզիկական հատոր, մեկը չի գտնվում և բողոքում է կորած իդից։ Մենք տեսնում ենք, որ պետք է լինի 2 տրամաբանական հատոր՝ արմատ և փոխանակում, մինչդեռ արմատը մասամբ կորած է (ծավալի P հատկանիշը)։ Հնարավոր չէ բարձրանալ, ինչը ցավալի է: Մենք իսկապես նրա կարիքն ունենք:

Եվս 2 սկավառակ կա, մենք նայում ենք, հավաքում և տեղադրում ենք դրանք.

$ mdadm --examine --verbose --scan
$ mdadm --assemble --verbose --scan
$ mkdir /mnt/md127 && mount /dev/md127  /mnt/md127 

Մենք նայում ենք, մենք կարող ենք տեսնել, որ սա CentOS 6-ի բեռնման միջնորմն է և այն, ինչ արդեն տեղադրված է: /dev/sdb1, և այստեղ նորից նույն բանալին՝ DennisBMacAlistairCRitchie:
Տեսնենք, թե ինչպես է այն հավաքվում /dev/md127.

$ mdadm --detail /dev/md127

Տեսնում ենք, որ այն պետք է հավաքված լիներ 4 սկավառակից, բայց երկուսից է հավաքվել /dev/sda1 и /dev/sdc1, դրանք պետք է լինեին համակարգում 2 և 4 համարները։ Մենք ենթադրում ենք, որ սկսած /dev/sda2 и /dev/sdc2 Կարող եք նաև զանգված հավաքել։ Անհասկանալի է, թե ինչու դրանց վերաբերյալ մետատվյալներ չկան, բայց սա ադմինի խղճի վրա է, ով ինչ-որ տեղ Գոայում է: Մենք ենթադրում ենք, որ պետք է լինի RAID10, չնայած կան տարբերակներ։ Մենք հավաքում ենք.

$ mdadm --create --verbose /dev/md0 --assume-clean --level=10 --raid-devices=4 missing /dev/sda2 missing /dev/sdc2

Մենք նայում ենք blkid, pvs, lvs: Մենք հայտնաբերում ենք, որ մենք հավաքել ենք ֆիզիկական ծավալ, որը նախկինում մեզ պակասում էր:

lvroot-ը անմիջապես վերանորոգվեց, մենք տեղադրում ենք այն, բայց նախ միացնում ենք VG-ն.

$ vgchange -a y
$ mkdir /mnt/lvroot && mount /dev/mapper/vg_c6m1-lv_root /mnt/lvroot 

Եվ ամեն ինչ կա, ներառյալ հիմնական հիմնական գրացուցակի բանալին - /root/sweet:

3. Մենք դեռ փորձում ենք վերակենդանացնել մեր սերվերը, որպեսզի այն նորմալ գործարկվի: Բոլոր տրամաբանական հատորները մեր /dev/md0 (որտեղ մենք գտանք ամեն ինչ) քաշեք այն /dev/sdb2, որտեղ ի սկզբանե աշխատել է ամբողջ սերվերը:

$ pvmove /dev/md0 /dev/sdb2
$ vgreduce vg_c6m1 /dev/md0

Մենք անջատում ենք սերվերը, հեռացնում ենք 1-ին և 3-րդ սկավառակները, թողնում ենք երկրորդը, բեռնում ենք Live CD/DVD-ից Rescue-ի մեջ: Գտեք boot partition-ը և վերականգնեք bootloader-ը grub-ում.

root (hd0,0)
setup (hd0)

Մենք պոկում ենք բեռնման սկավառակը և հաջողությամբ բեռնում, բայց կայքը չի աշխատում:

4. Վեբ կայք գործարկելու երկու տարբերակ կա՝ կարգավորել Apache-ն զրոյից կամ օգտագործել nginx՝ նախապես արդեն կազմաձևված php-fpm-ով:

$ /etc/init.d/nginx start
$ /etc/init.d/php-fpm start

Վերջապես, դուք պետք է գործարկեք MySQL.

$ /etc/init.d/mysqld start

Այն չի սկսվի, և պատասխանը կայանում է նրանում /var/log/mysql. Հենց լուծեք խնդիրը MySQL-ով, կայքը կաշխատի, գլխավոր էջում կլինի բանալին՝ RichardGCCMatthewGNUStallman! Այժմ մեզ հասանելի է 1C, և աշխատակիցները կկարողանան ստանալ իրենց աշխատավարձերը։ Եվ ինչպես միշտ, դուք դեռ շատ աշխատանք ունեք ընկերությունում ենթակառուցվածքների և անվտանգության հաստատման համար:

Մենք կարող ենք ևս մեկ անգամ կիսվել գրքերի ցանկով, որոնք օգնեցին մեզ և մեր մասնակիցներին պատրաստվել խաղին. linux.mail.ru/books.

Շնորհակալություն մեզ հետ լինելու համար: Հետևե՛ք հաջորդ խաղերի հայտարարություններին:

Source: www.habr.com

Добавить комментарий