Linux Quest. Taya murna ga masu nasara kuma gaya mana game da mafita ga ayyukan

Linux Quest. Taya murna ga masu nasara kuma gaya mana game da mafita ga ayyukan

A ranar 25 ga Maris mun bude rajista don Linux Quest, Wannan Wasa ce ga masoya da ƙwararrun tsarin aiki na Linux. Wasu ƙididdiga: mutane 1117 sun yi rajista don wasan, 317 daga cikinsu sun sami aƙalla maɓalli ɗaya, 241 sun sami nasarar kammala aikin matakin farko, 123 - na biyu da 70 sun tsallake mataki na uku. Yau wasanmu ya zo karshe kuma muna taya wadanda suka yi nasara murna!

  • Alexander Teldekov ya zama na farko.
    Alexander ya ce a ransa cewa shi ne ya fi kowa tsarin kula da tsarin. Yana zaune a Volgograd, yana gudanar da tsarin Unix iri-iri na kusan shekaru ashirin. Na sami damar yin aiki a masu samar da Intanet, banki, da mai haɗa tsarin. Yanzu yana aiki mai nisa a cikin ƙaramin kamfani, yana aiki akan kayan aikin girgije don babban abokin ciniki na ƙasashen waje. Yana son karantawa da sauraron kiɗa. Game da Wasan, Alexander ya ce yana son wasan gaba ɗaya, yana son irin waɗannan ayyuka. A yayin hira a ɗaya daga cikin kamfanoni na yi wani abu mai kama da Hackerrank, yana da ban sha'awa.
  • Wuri na biyu - Roman Suslov.
    Novel daga Moscow. Yana da shekaru 37. Yana aiki a matsayin injiniyan Linux/Unix a Jet Infosystems. A wurin aiki, dole ne in gudanar da warware matsalar Linux/Unix Systems + SAN. Abubuwan sha'awa sun bambanta: tsarin Linux, shirye-shirye, injiniyan baya, tsaro na bayanai, Arduino. Game da Wasan Roman ya lura cewa yana son wasan gabaɗaya. “Na dan mike kwakwalwata kuma na huta daga rayuwar yau da kullun na aikin yau da kullun. 🙂 Ina so in sami ƙarin ayyuka, in ba haka ba kafin in sami lokaci don ɗanɗano shi, wasan ya riga ya ƙare. "
  • Na uku - alex3d.
    Alex yana zaune a Moscow kuma yana aiki a cikin haɓaka software. "Na gode da gasar, yana da ban sha'awa don gwada gwaninta na google-fu."

Hakanan a cikin jerin ƴan wasa 10 da suka fi fice:

  • Yevgeniy Saldayev
  • Markel Mokhnachevsky
  • Konstantin Konosov
  • Pavel Sergeev
  • Vladimir Bovaev
  • Ivan Bubnov
  • Pavlo Klets

Mun fahimci cewa akwai zaɓuɓɓuka da yawa don magance duk matsalolinmu; an bayyana wasu hanyoyin da za a iya magance su a ƙasa.

1. Mataki na farko

Mun kira shi "Shin da gaske kai admin ne?", Tun da aikin ya kasance mai sauƙi - don gyara sabis na fitila mai dumi.

1.1. Abubuwa masu ban sha'awa:

'Yan wasa biyu ne suka sami makullin farko a cikin mintuna 15 na farkon wasan, kuma a cikin sa'a ta farko muna da shugabanni uku da suka kammala aikin.

1.2. Motsa jiki

Kun tafi aiki a kamfani inda na dogon lokaci babu ƙwararrun ƙwararrun fasahar bayanai. Kafin ka fara tsara abubuwa, kana buƙatar magance matsalar ƙonewa wanda ke toshe aikin ofishin.

Matar mai tsaftacewa ta kama igiyar wutar lantarki na majalisar uwar garken tare da mop. An dawo da wutar lantarki, amma gidan yanar gizo mai mahimmanci har yanzu baya aiki. Gidan yanar gizon yana da mahimmanci saboda kamfanin bai damu sosai game da tsaro na bayanai ba, kuma a babban shafin wannan za ku iya samun kalmar sirrin mai gudanarwa na kwamfutar Shugaba a cikin madaidaicin rubutu.

Kwanakin baya an canza kalmar sirri, amma kowa ya manta da sabon, director ba zai iya aiki ba. Akwai jita-jita cewa akwai ƙarin maɓallai akan wannan na'ura da za su iya taimaka mana mu gano kwafin ajiyar takardun lissafin.

Kowa yana tsammanin a gaggauta warware matsalar!

1.3. Magani

1. Da farko, kana bukatar ka canza tushen kalmar sirri a kan kama-da-wane inji domin samun damar yin amfani da shi. Lokacin farawa, mun lura cewa wannan shine Ubuntu 16.04 Server.

Don sake saita tushen kalmar sirri, muna sake kunna na'ura, lokacin da ake lodawa, a lokacin da aka nuna menu na grub, je zuwa gyara abun Ubuntu tare da maɓallin "e". Shirya layin Linux, ƙara shi zuwa ƙarshe init=/bin/bash. Muna lodi ta hanyar Ctrl + x, muna samun bash. Maida tushen tare da rw, canza kalmar wucewa:

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

Kar a manta game da daidaitawa, sake yi.

2. Sharadi yana cewa uwar garken gidan yanar gizon mu baya aiki, duba:

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

Wato, a zahiri, Apache yana gudana, amma yana amsawa tare da lambar 404. Bari mu kalli saitin:

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

Hakanan akwai maɓalli a nan - StevenPaulSteveJobs.

Duba hanya /usr/share/WordPress - babu irin wannan, amma akwai /usr/share/wordpress. Shirya saitin kuma sake kunna Apache.

$ systemctl restart apache2

3. Sake gwadawa, mun sami kuskure:

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

Database ba ya gudana?

$ systemctl status mysql
Active: active (running)

Akwai matsala? Muna bukatar mu gane shi. Don yin wannan, kuna buƙatar samun dama ga MySQL, kamar yadda aka bayyana a ciki takardun. Ɗaya daga cikin takaddun takaddun yana ba da shawarar cewa mu yi rajistar zaɓi skip-grant-tables в /etc/mysql/mysql.conf.d/mysqld.cnf. Hakanan akwai maɓalli anan - AugustaAdaKingByron.

Gyara haƙƙin mai amfani 'wp'@'localhost'. Mun ƙaddamar da MySQL, sanya shi samun dama akan hanyar sadarwar, yin sharhin zaɓi a cikin saitin skip-networking.

4. Bayan waɗannan matakan, uwar garken gidan yanar gizon yana farawa, amma shafin har yanzu bai yi aiki ba saboda

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

Muna gyara haƙƙoƙin fayil ɗin.

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

Muna sabunta shafin, je zuwa shafin kuma nemo maɓalli - BjarneStroustrup! Mun sami dukkan maɓallan guda uku, daraktan mu na iya aiki, mun ɓoye fayilolin lissafin. Kowa yana farin ciki, kuma kuna da aiki da yawa a gabanku don kafa abubuwan more rayuwa, adanawa da tsaro a cikin kamfanin.

2. Mataki na biyu

Ya zama dole don magance matsalar tattara bayanai. Kowane mutum yana son nazari - wanda ke amfani da shi, inda kuma a cikin wane adadi. Mun fito da wani lamari wanda duk injiniyoyi za su iya haduwa da su ta wata siga ko wata a rayuwa.

2.1. Abubuwa masu ban sha'awa

Ɗaya daga cikin 'yan wasanmu ya shigar da maɓalli daidai a cikin minti 10 na farko na wasan, kuma a cikin sa'a na farko mun sami jagora wanda ya kammala aikin.

2.2. Motsa jiki

Ka je aiki a kamfani, manajoji sun zo wurinka suka ce ka nemo wa aka aika wasiku daga Afirka. Muna buƙatar gina manyan adiresoshin masu karɓa guda 21 bisa ga su. Haruffa na farko na adiresoshin masu karɓa sune maɓalli. Abu ɗaya: uwar garken wasikun da aka aiko da wasiƙun ta cikinsa ba ya ɗauka. Kowa yana tsammanin a gaggauta warware matsalar!

2.3. Magani

1. Sabar ba ta yin boot saboda wani ɓangaren swap ɗin da ba ya wanzu a fstab; lokacin da ake lodawa, tsarin yana ƙoƙarin hawa shi kuma ya rushe. Yadda ake taya?

Zazzage hoton, mun zazzage CentOS 7, taya daga Live CD/DVD (Shirya matsala -> Ceto), hawa tsarin, gyara /etc/fstab. Nan da nan muka sami maɓallin farko - GottfriedWilhelm11646Leibniz!

Ƙirƙiri musanya:

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

2. Kamar yadda kullum, babu kalmar sirri, kana bukatar ka canza tushen kalmar sirri a kan kama-da-wane inji. Mun riga mun yi wannan a cikin aikin farko. Muna canzawa kuma mun samu nasarar shiga uwar garken, amma nan da nan ya shiga sake yi. An yi lodin uwar garken a cikin irin wannan gudun wanda ba ka da lokacin duba duk rajistan ayyukan a hankali. Yadda za a gane abin da ke faruwa?

Har ila yau muna taya daga livecd, a hankali nazarin rajistan ayyukan kuma, kawai idan, duba cikin cron, tun da irin wannan lokaci-lokaci. A can mun sami matsalar da maɓallin na biyu - Alan1912MathisonTuring!

Bukatar ciki /etc/crontab share ko sharhi daga layi echo b > /proc/sysrq-trigger.

3. Bayan haka uwar garken ta loda, kuma za ku iya kammala aikin manajoji: "Mene ne adiresoshin a Afirka?" Wannan bayanin gabaɗaya yana samuwa ga jama'a. Kuna iya samun wannan bayanin akan Intanet ta amfani da kalmomin "IP address africa", "geoip database". Don magance matsalar, zaku iya amfani da bayanan rarraba adireshi kyauta (geoip). Mun yi amfani da ma'aunin bayanai a matsayin ma'auni MaxMind GeoLite2, akwai ƙarƙashin lasisin Ƙirƙirar Commons Attribution-ShareAlike 4.0.

Bari mu yi ƙoƙarin magance matsalarmu ta amfani da kayan aikin tsarin Linux kawai, amma gabaɗaya ana iya magance ta ta hanyoyi da yawa: ta amfani da kayan aikin tace rubutu da amfani da rubutun a cikin harsunan shirye-shirye daban-daban.

Don farawa, kawai za mu sami nau'i-nau'i na "IP mai karɓa-mai karɓa" daga log ɗin saƙo /var/log/maillog (bari mu gina tebur na masu karɓar imel - mai aikawa IP). Ana iya yin wannan tare da umarni mai zuwa:

$ 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

Kuma kafin mu ci gaba da tattara bayanan adiresoshin Afirka, bari mu kalli manyan adiresoshin IP na masu aikawa.

$ 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]

Daga cikin su duka, ukun farko masu karɓa daga sama sun fito fili a cikin adadin haruffa. Idan kun yi amfani da adiresoshin IP na masu aikawa da aka aika zuwa adiresoshin daga wannan saman 3, za ku lura da fifikon wasu cibiyoyin sadarwa:

$ 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

Yawancin cibiyoyin sadarwa 105/8, 41/8, 196/8,197/8 an keɓe su ga AFRINIC - ɗaya daga cikin masu rijistar Intanet na yanki guda biyar waɗanda ke rarraba albarkatun Intanet. AFRINIC tana rarraba sararin adireshi a duk faɗin Afirka. Kuma 41/8 yana nufin AFRINIC gaba daya.

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

Don haka, amsar matsalar ita ce, a zahiri, a cikin log ɗin kanta.

$ 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]

A wannan mataki muna samun kirtani "LinuxBenedictTorvadst".

Maɓallin madaidaici: "LinusBenedictTorvalds".

Sakamakon kirtani ya ƙunshi typo dangane da maɓalli daidai a cikin haruffa 3 na ƙarshe. Wannan ya faru ne saboda gaskiyar cewa cibiyoyin sadarwar da muka zaɓa ba su keɓe gaba ɗaya ga ƙasashen Afirka ba da kuma yadda ake rarraba imel tsakanin adiresoshin IP a cikin log ɗin mu.

Tare da isassun ƙayyadaddun ƙayyadaddun manyan hanyoyin sadarwa da aka ware wa ƙasashen Afirka, ana iya samun madaidaicin amsa:

$ 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]

Hakanan za'a iya magance matsalar ta wata hanya.
Zazzage MaxMind, cire kaya, kuma umarni uku na gaba suma suna magance matsalarmu.

$ 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

Wata hanya ko wata, ƙarshe mun ƙididdige ƙididdiga, kuma manajoji sun karɓi bayanan da suke buƙata don aiki!

3. Mataki na uku

Mataki na uku yana da ɗan kama da na farko - kuna buƙatar gyara sabis ɗin fitila mai dumi, amma duk abin ya fi rikitarwa fiye da aikin farko.

3.1. Abubuwa masu ban sha'awa

A cikin mintuna 15 na farko, 'yan wasa uku sun sami maɓallin farko; sa'o'i 2 da mintuna 20 bayan fara wasan, wanda ya ci nasararmu ya kammala aikin.

3.2. Motsa jiki

Kun je aiki don kamfani inda ake adana duk takaddun kamfani akan sabar Wiki na ciki. A bara, wani injiniya ya ba da umarnin sabbin diski guda 3 ga uwar garken ban da daya da ke akwai, yana mai cewa don tsarin ya zama mai jurewa kuskure, ana buƙatar sanya diski a cikin wasu nau'ikan. Sai dai kash, bayan ‘yan makonni da kafuwarsu, injiniyan ya tafi hutu zuwa Indiya, bai dawo ba.

Sabar ta yi aiki ba tare da gazawa ba tsawon shekaru da yawa, amma kwanaki biyu da suka gabata an yi kutse ta hanyar sadarwar kamfanin. Bisa ga umarnin, jami'an tsaro sun cire faifai daga uwar garken kuma sun aiko muku da su. Lokacin sufuri, faifai ɗaya ya ɓace ba tare da yuwuwa ba.

Muna buƙatar dawo da ayyukan Wiki; da farko, muna sha'awar abubuwan da ke cikin shafukan wiki. Wani ɗan rubutun da ke ɗaya daga cikin shafukan wannan wiki shine kalmar sirri ta uwar garken 1C kuma ana buƙatar gaggawa don buɗe shi.

Bugu da kari, a wani wuri a shafukan wiki ko a wani wurin akwai kalmomin sirri na uwar garken log da kuma sabar sa ido na bidiyo, wanda kuma za a so a dawo da su, idan ba tare da su ba, binciken abin da ya faru ba zai yiwu ba. Kamar kullum, muna sa ran za a warware matsalar cikin gaggawa!

3.3. Magani

1. Muna kokarin yin boot daya bayan daya daga faifan da muke da su kuma a duk inda muke samun saƙo iri daya:

No bootable medium found! System halted 

Kuna buƙatar taya daga wani abu. Bugawa daga CD/DVD kai tsaye (Shirya matsala -> Ceto) yana sake taimakawa. Lokacin loading, muna ƙoƙarin nemo ɓangaren taya, ba za mu iya samun shi ba, mun ƙare a cikin harsashi. Muna ƙoƙarin yin nazarin abin da kuma yadda za a yi da faifai. An san cewa su uku ne. Akwai ƙarin kayan aikin don wannan a cikin sigar 7th na CentOS, inda akwai umarni blkid ko lsblk, wanda ke nuna mana duk bayanan game da faifai.

Ta yaya kuma abin da muke yi:

$ ls /dev/sd*

Nan da nan ya tabbata cewa

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

Mun hau sdb1, a bayyane yake cewa wannan shine ɓangaren taya na CentOS 6.

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

Babu shakka, mun je sashin grub kuma mu sami maɓallin farko a can - James191955Gosling a cikin wani sabon fayil.

2. Muna nazarin pvs da lvs, tun da muna aiki tare da LVM. Mun ga cewa ya kamata a sami juzu'i na jiki guda 2, ɗaya ba a samo shi ba kuma yana koka game da asarar uid. Mun ga cewa ya kamata a sami kundin ma'ana guda 2: tushe da musanya, yayin da tushen ya ɓace kaɗan ( sifa ta P). Ba zai yiwu a hau ba, wanda abin tausayi ne! Muna bukatarsa ​​sosai.

Akwai ƙarin faifai guda 2, muna duba su, mu haɗa kuma mu dora su:

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

Muna duba, zamu iya ganin cewa wannan shine ɓangaren taya na CentOS 6 da kwafin abin da ke kunne. /dev/sdb1, kuma a nan kuma maɓalli iri ɗaya - DennisBMacAlistairCRitchie!
Bari mu ga yadda ake hada shi /dev/md127.

$ mdadm --detail /dev/md127

Mun ga cewa ya kamata a haɗa shi daga faifai 4, amma an haɗa shi daga biyu /dev/sda1 и /dev/sdc1, yakamata su zama lambobi 2 da 4 a cikin tsarin. Muna ɗauka cewa daga /dev/sda2 и /dev/sdc2 Hakanan zaka iya tattara tsararru. Ba a bayyana dalilin da yasa babu metadata akan su ba, amma wannan yana kan lamiri na admin, wanda ke wani wuri a cikin Goa. Muna ɗauka cewa ya kamata a sami RAID10, kodayake akwai zaɓuɓɓuka. Muna tattara:

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

Muna kallon blkid, pvs, lvs. Mun gano cewa mun tattara juzu'in jiki wanda a baya mun rasa.

Nan da nan aka gyara lvroot, mun hau shi, amma da farko kunna VG:

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

Kuma komai yana can, gami da maɓalli a cikin tushen tushen gida - / tushen/mai dadi.

3. Har yanzu muna kokarin farfado da uwar garken mu ta yadda za ta fara aiki yadda ya kamata. Duk kundin ma'ana daga mu /dev/md0 (inda muka sami komai) ja shi zuwa /dev/sdb2, inda duk uwar garken ya fara aiki.

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

Muna kashe uwar garken, cire diski 1 da 3, bar na biyu, taya daga Live CD/DVD zuwa Ceto. Nemo ɓangaren taya kuma mayar da bootloader a cikin grub:

root (hd0,0)
setup (hd0)

Muna yaga faifan taya kuma mu yi lodi cikin nasara, amma rukunin yanar gizon ba ya aiki.

4. Akwai zaɓuɓɓuka guda biyu don ƙaddamar da gidan yanar gizon: saita Apache daga karce ko amfani da nginx tare da php-fpm an riga an saita su a gaba:

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

A ƙarshe, kuna buƙatar fara MySQL:

$ /etc/init.d/mysqld start

Ba zai fara ba, kuma amsar tana ciki /var/log/mysql. Da zaran kun warware matsalar tare da MySQL, rukunin yanar gizon zai yi aiki, a babban shafin za a sami maɓalli - RichardGCCMatthewGNUStallman! Yanzu muna da damar yin amfani da 1C, kuma ma'aikata za su iya karɓar albashinsu. Kuma kamar kullum, kuna da ayyuka da yawa a gaba don kafa ababen more rayuwa da tsaro a cikin kamfanin.

Hakanan za mu iya sake raba jerin littattafan da suka taimaka mana da mahalarta mu shirya don wasan: linux.mail.ru/books.

Na gode da kasancewa tare da mu! Kasance da mu don sanarwar wasanni na gaba!

source: www.habr.com

Add a comment