Linux Quest. Nga mihi ki nga toa me korero mai mo nga otinga o nga mahi

Linux Quest. Nga mihi ki nga toa me korero mai mo nga otinga o nga mahi

I te Maehe 25th i whakatuwherahia e matou te rehitatanga mo Linux Quest, he Taakaro tenei mo te hunga aroha me nga tohunga o te punaha whakahaere Linux. Ko etahi o nga tatauranga: 1117 nga tangata i rehita mo te keemu, 317 o ratou i kitea kotahi te kii, 241 i tutuki pai te mahi o te wahanga tuatahi, 123 - te tuarua me te 70 i eke ki te wahanga tuatoru. I tenei ra kua mutu ta tatou keemu ka mihi ki a tatou toa!

  • Ko Alexander Teldekov te waahi tuatahi.
    I kii a Alexander ki a ia ano ko ia te tino kaiwhakahaere punaha. Kei Volgograd e noho ana, e whakahaere ana i nga momo punaha rite Unix mo te rua tekau tau. I kaha ahau ki te mahi i roto i nga kaiwhakarato Ipurangi, he peeke, he kaiwhakauru punaha. Inaianei kei te mahi mamao ia i roto i tetahi kamupene iti, e mahi ana i nga hanganga kapua mo tetahi kaihoko nui ke. He pai ki te panui me te whakarongo waiata. Mo te Keemu, i kii a Alexander he pai ki a ia te keemu katoa, he pai ki a ia nga mahi penei. I te wa o tetahi uiuinga i tetahi o nga kamupene i mahia e au tetahi mea e rite ana ki a Hackerrank, he mea whakamere.
  • Tuarua - Roman Suslov.
    He pukapuka no Moscow. 37 ona tau. Ka mahi hei miihini Linux/Unix i Jet Infosystems. I te mahi, me whakahaere ahau me te raru i nga punaha Linux/Unix + SAN. He rereke nga hiahia: nga punaha Linux, te kaupapa, te miihini whakamuri, te haumaru korero, Arduino. Mo te Keemu i kii a Roman he pai ki a ia te keemu katoa. "I whakaroa paku aku roro, ka okioki ahau i nga mahi hina o ia ra. 🙂 Kei te pirangi au kia maha ake nga mahi, ki te kore i mua i taku wa ki te whakamatau, kua mutu te keemu.
  • Tuatoru - alex3d.
    Kei Moscow a Alex e noho ana, e mahi ana i te whanaketanga rorohiko. "Mauruuru koe mo te whakataetae, he rawe te whakamatautau i aku pukenga google-fu."

Kei roto ano i te rarangi o nga kaitakaro 10 pai rawa atu:

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

Kei te mohio matou he maha nga waahanga hei whakaoti i o maatau raruraru katoa; ko etahi o nga otinga ka taea te korero i raro nei.

1. Te wahanga tuatahi

I huaina e matou "He tino kaiwhakahaere koe?", na te mea he tino ngawari te mahi - ki te whakatika i tetahi ratonga rama mahana.

1.1. Nga Meka Whakamere:

Tokorua nga kaitakaro i kite i te matua tuatahi i nga meneti 15 tuatahi o te keemu, a, i te haora tuatahi ka toru nga kaiarahi i whakaoti i te mahi.

1.2. Korikori tinana

I haere koe ki te mahi i roto i tetahi kamupene kua roa nei kaore he tohunga mohio mo te hangarau korero. I mua i to tiimata ki te whakatakoto i nga mea, me whakaoti e koe te raru wera e aukati ana i nga mahi o te tari.

Ka mau te wahine horoi i te taura hiko o te rūnanga tūmau me te mopi. Kua whakahokia mai te mana, engari karekau tonu e mahi tetahi paetukutuku tino nui. He mea nui te paetukutuku na te mea kaore te kamupene i te tino awangawanga mo te haumarutanga korero, a kei te wharangi matua o tenei ka kitea e koe i roto i nga tuhinga maamaa te kupuhipa a te kaiwhakahaere mo te rorohiko a te Tumuaki.

I tera ra i hurihia te kupuhipa, engari kua wareware te katoa ki te mea hou, kaore e taea e te kaiwhakahaere te mahi. He korero korero he nui ake nga taviri i runga i tenei miihini hei awhina i a maatau ki te whakamaarama i te kape taapiri o nga tuhinga kaute.

Kei te tumanako te katoa kia tere te whakatau i te take!

1.3. Rongoa

1. Tuatahi, me huri koe i te kupuhipa pakiaka i runga i te miihini mariko kia uru atu ai koe ki reira. Ka tiimata ana, ka kite matou ko te Ubuntu 16.04 Server tenei.

Hei tautuhi i te kupuhipa pakiaka, ka whakaara ano tatou i te miihini, i te wa e utaina ana, i te wa e whakaatuhia ana te tahua grub, haere ki te whakatika i te mea Ubuntu me te paatene "e". Whakatikahia te raina linux, taapiri atu ki te mutunga init=/bin/bash. Ka utaina e matou ma te Ctrl+x, ka whiwhi matou i te bash. Whakahoutia te pakiaka ki te rw, hurihia te kupuhipa:

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

Kaua e wareware ki te tukutahi, whakaara ano.

2. Ko te ahuatanga e kii ana kaore e mahi to maatau paetukutuku, tirohia:

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

Ko te tikanga, kei te rere a Apache, engari ka whakautu me te waehere 404. Me titiro ki te whirihora:

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

He matua ano kei konei - StevenPaulSteveJobs.

Te tirotiro i te ara /usr/share/WordPress - kaore he mea pera, engari tera ano /usr/share/wordpress. Whakatikahia te whirihora me te whakaara ano i a Apache.

$ systemctl restart apache2

3. Ngana ano, ka whiwhi tatou i te hapa:

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

Karekau te pātengi raraunga e rere ana?

$ systemctl status mysql
Active: active (running)

He aha te take? Me mohio tatou. Ki te mahi i tenei, me uru koe ki MySQL, pera me te korero i roto tuhinga. Ko tetahi o nga tohu tuhinga e kii ana kia rehita matou i te whiringa skip-grant-tables в /etc/mysql/mysql.conf.d/mysqld.cnf. He matua ano kei konei - AugustaAdaKingByron.

Te whakatika i nga mana kaiwhakamahi 'wp'@'localhost'. Ka whakarewahia e matou a MySQL, kia uru atu ki runga i te whatunga, me te korero i te whiringa kei te whirihora skip-networking.

4. I muri i enei mahi, ka timata te tūmau tukutuku, engari kaore tonu te pae e mahi na te mea

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

Ka whakatikahia e matou nga mana ki te konae.

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

Ka whakahouhia e matou te wharangi, haere ki te waahi ka kitea te matua - BjarneStroustrup! I kitea e matou nga taviri e toru, ka taea e to maatau kaiwhakahaere te mahi, i wetekina e matou nga konae kaute. Kei te harikoa nga tangata katoa, a he maha nga mahi kei mua i a koe ki te whakarite hanganga, taapiri me te haumarutanga i roto i te kamupene.

2. Te wahanga tuarua

He mea tika ki te whakaoti i te raru o te kohi tātaritanga. He pai ki nga tangata katoa nga tātaritanga - ma wai e whakamahi, kei hea me te aha te rahinga. I puta mai he keehi ka tutaki nga miihini katoa i tetahi ahua, i tetahi atu ranei o te ao.

2.1. Nga Meka Whakamere

I uru mai tetahi o a matou kaitakaro ki te ki tika i roto i nga meneti 10 tuatahi o te keemu, a i roto i te haora tuatahi ka whai rangatira matou i oti te mahi.

2.2. Korikori tinana

I haere koe ki te mahi i te kamupene, i tae mai nga kaiwhakahaere ki a koe me te tono ki a koe kia kitea ko wai nga reta i tukuna mai i Awherika. Me hanga e matou nga wahitau kaiwhiwhi 21 runga i runga i a raatau. Ko nga reta tuatahi o nga wahitau o nga kaiwhiwhi te mea matua. Kotahi te mea: ko te tūmau mēra i tukuna ai nga reta kaore e utaina. Kei te tumanako te katoa kia tere te whakatau i te take!

2.3. Rongoa

1. Kare te kaimau i te puhipuhi na te kore o te waahi whakawhiti i roto i te fstab, i te wa e utaina ana, ka ngana te punaha ki te whakairi ka pakaru. Me pehea te peke?

Tikiake i te ahua, i tangohia e matou te CentOS 7, whakaoho mai i te Live CD / DVD (Rapanga -> Whakaoranga), whakairihia te punaha, whakatika /etc/fstab. Ka kitea e matou te matua tuatahi - GottfriedWilhelm11646Leibniz!

Waihanga whakawhiti:

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

2. I nga wa katoa, kaore he kupuhipa, me whakarereke koe i te kupuhipa pakiaka i runga i te miihini mariko. Kua mahia e matou tenei i te mahi tuatahi. Ka huri tatou ka uru pai ki te tūmau, engari ka uru tonu ki te whakaara ano. He nui te utaina o te kaimau i te tere karekau koe e whai taima ki te ata titiro ki nga raarangi katoa. Me pehea te mohio ki nga mea kei te tupu?

Ka peke ano tatou mai i te livecd, ata tirotirohia nga raarangi punaha, me te mea, ka titiro ki te cron, na te mea he waahi pera. I reira ka kitea te raruraru me te matua tuarua - Alan1912MathisonTuring!

Me ki roto /etc/crontab muku, korero ranei i te rarangi echo b > /proc/sysrq-trigger.

3. I muri i te utaina o te tūmau, ka taea e koe te whakaoti i nga mahi a nga kaiwhakahaere: "He aha nga wahitau i Awherika?" E waatea ana enei korero ki te marea. Ka kitea e koe enei korero i runga i te Ipurangi ma te whakamahi i nga kianga "ip address africa", "geoip database". Hei whakatau i te rapanga, ka taea e koe te whakamahi i nga papaunga korero tohatoha wahitau (geoip). I whakamahia e matou te papanga raraunga hei paerewa MaxMind GeoLite2, e waatea ana i raro i te raihana Creative Commons Attribution-ShareAlike 4.0.

Me ngana tatou ki te whakatau i ta maatau raru ma te whakamahi i nga taputapu punaha Linux anake, engari i te nuinga o te waa ka taea te whakaoti ma te maha o nga huarahi: te whakamahi i nga taputapu tātari tuhinga me te whakamahi i nga tuhinga i roto i nga momo reo hotaka.

Hei timata, ka whiwhi noa tatou i nga takirua "kaituku-kaiwhiwhi IP" mai i te raarangi mēra /var/log/maillog (Me hanga he ripanga mo nga kaiwhiwhi imeera - IP kaituku). Ka taea tenei ma te whakahau e whai ake nei:

$ 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

A, i mua i te haere tonu ki te whakahiato i tetahi papaa raraunga o nga wahitau o Awherika, me titiro ki nga wahitau IP o runga o nga kaituku.

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

I roto ia ratou katoa, ko nga kaiwhiwhi tuatahi e toru mai i runga ka tino kitea te ahua o te maha o nga reta. Mena ka kitea e koe nga wahitau IP o nga kaituku i tukuna ki nga wahitau mai i tenei 3 o runga, ka kite koe i te mana nui o etahi whatunga:

$ 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

Ko te nuinga o nga whatunga 105/8, 41/8, 196/8,197/8 kua tohaina ki AFRINIC - tetahi o nga rehita ipurangi e rima e tohatoha ana i nga rauemi Ipurangi. Ka tohatoha a AFRINIC i nga waahi korero puta noa i Awherika. A ko te 41/8 e tohu ana mo AFRINIC katoa.

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

No reira, ko te whakautu ki te raru, ko te tikanga, kei roto tonu i te raarangi.

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

I tenei wahanga ka whiwhi tatou i te aho "LinuxBenedictTorvadst".

Tika tika: "LinusBenedictTorvalds".

Kei roto i te aho ka puta he hapa e pa ana ki te ki tika i roto i nga tohu e 3 o mua. Ko tenei na te mea ko nga whatunga i tohua e matou kaore i tino whakatapua ki nga whenua o Awherika me te huarahi e tohatohahia ai nga imeera e nga wahitau IP i roto i ta maatau raarangi.

Ma te nui o nga korero mo nga whatunga nui rawa atu kua tohaina ki nga whenua o Awherika, ka taea te whakautu tika:

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

Ka taea hoki te whakatau i te raru ma tetahi atu huarahi.
Tangohia a MaxMind, wetewetehia, me nga whakahau e toru e whai ake nei hei whakaoti i to maatau raru.

$ 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

I tetahi huarahi, i tetahi atu ranei, i te mutunga ka tatauhia e matou nga tatauranga, a ka whiwhi nga kaiwhakahaere i nga raraunga e hiahiatia ana hei mahi!

3. Te wahanga tuatoru

Ko te waahanga tuatoru he ahua rite ki te tuatahi - me whakatika ano e koe te ratonga rama rama, engari he uaua ake nga mea katoa i te mahi tuatahi.

3.1. Nga Meka Whakamere

I nga meneti 15 tuatahi, e toru nga kaitakaro i kite i te matua tuatahi; 2 haora me te 20 meneti i muri mai i te tiimata o te atamira, ka oti te mahi a to tatou toa.

3.2. Korikori tinana

I haere koe ki te mahi mo tetahi kamupene kei te rongoa nga tuhinga kamupene katoa ki runga i te tūmau Wiki o roto. I tera tau, ka tono tetahi miihini kia 3 nga kōpae hou mo te tūmau hei taapiri atu ki tetahi o naianei, me te kii ko te punaha kia kore e he, me whakanoho nga kopae ki etahi momo huinga. Engari, he wiki torutoru i muri i to raatau whakaurunga, ka haere te miihini ki te hararei ki Inia, kaore i hoki mai.

He maha nga tau i mahi ai te kaimau me te kore rahua, engari i nga ra e rua kua hipa kua taumanutia te whatunga o te kamupene. E ai ki nga tohutohu, i tangohia e nga kaimahi haumaru nga kōpae mai i te tūmau ka tukuna atu ki a koe. I te wa e kawe ana, i ngaro tetahi kōpae.

Me whakahoki ano i te mahi a Wiki; tuatahi, e aro ana matou ki nga korero o nga wharangi wiki. Ko tetahi wahi o te tuhinga kei runga i tetahi o nga wharangi o tenei wiki ko te kupuhipa mo te tūmau 1C me te hiahia tere ki te iriti.

I tua atu, i tetahi waahi i runga i nga wharangi wiki, i tetahi atu waahi ranei kei reira nga kupuhipa mo te kaitirotiro rangitaki me te kaitirotiro ataata, he mea pai ki te whakaora; ki te kore ratou, kaore e taea te tirotiro i te aitua. Ka rite ki nga wa katoa, e tumanako ana matou ki te whakatau tere mo te take!

3.3. Rongoa

1. Ka ngana matou ki te whakaara takitahi mai i nga kopae kei a matou me nga waahi katoa ka whiwhi matou i taua karere:

No bootable medium found! System halted 

Me peke koe i tetahi mea. Ko te whakaoho mai i te CD Live / DVD (Rapanga -> Whakaoranga) ka awhina ano. I te wa e utaina ana, ka ngana taatau ki te rapu i te wehenga boot, kaore e kitea, ka mutu taatau ki te anga. E ngana ana matou ki te ako he aha me pehea te mahi ki nga kopae. E mohiotia ana e toru o ratou. He maha atu nga taputapu mo tenei i te putanga 7th o CentOS, kei reira nga whakahau blkid ranei lsblk, e whakaatu ana i nga korero katoa mo nga kōpae.

Me pehea me te aha ta matou mahi:

$ ls /dev/sd*

Ka kitea tonu tera

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

Ka whakairihia e matou te sdb1, he maarama koinei te wehenga whawhai o CentOS 6.

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

Ma te mohio, ka haere tatou ki te waahanga grub ka kitea te ki tuatahi ki reira - James191955Gosling i roto i te konae rerekee.

2. Ka ako matou i nga pvs me nga lvs, na te mea ka mahi tahi matou me te LVM. Ka kite matou kia 2 nga pukapuka tinana, karekau i kitea tetahi ka amuamu mo te wai ngaro. Ka kite tatou kia 2 nga pukapuka arorau: te pakiaka me te whakawhiti, i te mea kua ngaro te pakiaka (te huanga P o te rōrahi). Kaore e taea te eke, he pouri! Kei te tino hiahia matou ki a ia.

E 2 atu nga kopae, ka tirohia, ka whakahiato, ka whakairihia:

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

Ka titiro tatou, ka kite tatou koinei te wehenga boot o CentOS 6 me te taarua o nga mea kei runga. /dev/sdb1, a kei konei ano te kii kotahi - DennisBMacAlistairCRitchie!
Kia kite tatou pehea te whakahiato /dev/md127.

$ mdadm --detail /dev/md127

Ka kite tatou me i huihui mai i nga kopae e 4, engari i huihuia mai i te rua /dev/sda1 и /dev/sdc1, me whai nama 2 me te 4 i roto i te punaha. Ka whakaarohia e matou na /dev/sda2 и /dev/sdc2 Ka taea hoki e koe te kohikohi i te huinga. Kaore i te maarama he aha kaore he metadata i runga i a raatau, engari kei runga i te hinengaro o te kaiwhakahaere, kei tetahi waahi kei Goa. Ki ta matou whakaaro me RAID10, ahakoa he whiringa. Ka kohia e matou:

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

Ka titiro matou ki te blkid, pvs, lvs. Ka kitea e matou kua kohia e matou he rōrahi tinana i ngaro i mua.

I whakatika tonu a lvroot, ka utaina e matou, engari i te tuatahi whakahohe VG:

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

Na kei reira nga mea katoa, tae atu ki te matua i roto i te whaiaronga whare pakiaka - /root/sweet.

3. Kei te ngana tonu matou ki te whakaora i to matou tūmau kia timata noa. Nga pukapuka arorau katoa mai i a maatau /dev/md0 (i kitea e matou nga mea katoa) toia ki /dev/sdb2, i mahi tuatahi ai te tūmau katoa.

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

Ka whakawetohia e matou te tūmau, tango i nga kōpae 1 me te 3, waiho te tuarua, pekehia mai i te Live CD/DVD ki Rescue. Kimihia te wehewehenga boot me te whakaora i te bootloader ki te grub:

root (hd0,0)
setup (hd0)

Wewetehia e matou te kōpae boot ka utaina pai, engari kaore te pae e mahi.

4. E rua nga whiringa ki te whakarewa i tetahi paetukutuku: whirihorahia te Apache mai i te wahanga ka whakamahi ranei i te nginx me te php-fpm kua oti te whirihora i mua:

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

Hei whakamutunga, me timata koe ki te MySQL:

$ /etc/init.d/mysqld start

E kore e timata, kei roto te whakautu /var/log/mysql. Ka whakaoti koe i te raruraru me MySQL, ka mahi te pae, kei runga i te wharangi matua he matua - RichardGCCMatthewGNUStallman! Inaianei kua whai waahi taatau ki te 1C, ka whiwhi nga kaimahi i o raatau utu. Ka rite ki nga wa katoa, he maha nga mahi kei mua i a koe ki te whakatu i nga hanganga me te haumarutanga i roto i te kamupene.

Ka taea ano e matou te tiri i tetahi rarangi pukapuka i awhina i a matou me a matou kaiuru ki te whakarite mo te keemu: linux.mail.ru/books.

Mauruuru koe mo te noho ki a matou! Kia mataara mo nga panui mo nga keemu e whai ake nei!

Source: will.com

Tāpiri i te kōrero