Linux క్వెస్ట్. విజేతలకు అభినందనలు మరియు టాస్క్‌లకు పరిష్కారాల గురించి మాకు తెలియజేయండి

Linux క్వెస్ట్. విజేతలకు అభినందనలు మరియు టాస్క్‌లకు పరిష్కారాల గురించి మాకు తెలియజేయండి

మార్చి 25న మేము రిజిస్ట్రేషన్ ప్రారంభించాము Linux క్వెస్ట్, ఇది Linux ఆపరేటింగ్ సిస్టమ్ యొక్క ప్రేమికులు మరియు నిపుణుల కోసం ఒక గేమ్. కొన్ని గణాంకాలు: 1117 మంది ఆట కోసం నమోదు చేసుకున్నారు, వారిలో 317 మంది కనీసం ఒక కీని కనుగొన్నారు, 241 మంది మొదటి దశ యొక్క పనిని విజయవంతంగా పూర్తి చేసారు, 123 మంది రెండవ దశను పూర్తి చేసారు మరియు 70 మంది మూడవ దశలో ఉత్తీర్ణులయ్యారు. ఈ రోజు మా ఆట ముగిసింది మరియు మేము మా విజేతలను అభినందిస్తున్నాము!

  • అలెగ్జాండర్ టెల్డెకోవ్ మొదటి స్థానంలో నిలిచాడు.
    అలెగ్జాండర్ తనకు తాను అత్యంత విలక్షణమైన సిస్టమ్ అడ్మినిస్ట్రేటర్ అని చెప్పాడు. వోల్గోగ్రాడ్‌లో నివసిస్తున్నారు, సుమారు ఇరవై సంవత్సరాలుగా వివిధ Unix-వంటి వ్యవస్థలను నిర్వహిస్తున్నారు. నేను ఇంటర్నెట్ ప్రొవైడర్లు, బ్యాంక్ మరియు సిస్టమ్ ఇంటిగ్రేటర్‌లో పని చేయగలిగాను. ఇప్పుడు అతను ఒక చిన్న కంపెనీలో రిమోట్‌గా పని చేస్తున్నాడు, పెద్ద విదేశీ కస్టమర్ కోసం క్లౌడ్ ఇన్‌ఫ్రాస్ట్రక్చర్‌పై పని చేస్తున్నాడు. సంగీతం చదవడం మరియు వినడం ఇష్టం. గేమ్ గురించి, అలెగ్జాండర్ తనకు ఆట మొత్తం ఇష్టమని, అలాంటి పనులను ఇష్టపడతానని చెప్పాడు. కంపెనీలలో ఒకదానిలో ఒక ఇంటర్వ్యూలో నేను హ్యాకర్‌ర్యాంక్ మాదిరిగానే చేసాను, ఇది ఆసక్తికరంగా ఉంది.
  • రెండవ స్థానం - రోమన్ సుస్లోవ్.
    మాస్కో నుండి ఒక నవల. అతడికి 37 ఏళ్లు. Jet Infosystemsలో Linux/Unix ఇంజనీర్‌గా పని చేస్తున్నారు. పనిలో, నేను Linux/Unix సిస్టమ్స్ + SANని నిర్వహించాలి మరియు ట్రబుల్షూట్ చేయాలి. ఆసక్తులు విభిన్నంగా ఉంటాయి: Linux సిస్టమ్స్, ప్రోగ్రామింగ్, రివర్స్ ఇంజనీరింగ్, ఇన్ఫర్మేషన్ సెక్యూరిటీ, Arduino. గేమ్ గురించి రోమన్ మొత్తం గేమ్‌ను ఇష్టపడుతున్నట్లు పేర్కొన్నాడు. "నేను నా మెదడులను కొద్దిగా విస్తరించాను మరియు రోజువారీ పని యొక్క బూడిద రంగు రోజువారీ జీవితం నుండి విరామం తీసుకున్నాను. 🙂 నేను మరిన్ని టాస్క్‌లను కలిగి ఉండాలనుకుంటున్నాను, లేకుంటే దాని రుచి చూసేందుకు నాకు సమయం దొరికేలోపు, గేమ్ అప్పటికే ముగిసింది.
  • మూడవది - alex3d.
    అలెక్స్ మాస్కోలో ఉంటూ సాఫ్ట్‌వేర్ డెవలప్‌మెంట్‌లో పనిచేస్తున్నాడు. "పోటీకి ధన్యవాదాలు, నా గూగుల్-ఫు నైపుణ్యాలను పరీక్షించడం ఆసక్తికరంగా ఉంది."

10 అత్యుత్తమ ఆటగాళ్ల ర్యాంకింగ్‌లో కూడా:

  • Yevgeniy Saldayev
  • మార్కెల్ మోఖ్నాచెవ్స్కీ
  • కాన్స్టాంటిన్ కోనోసోవ్
  • పావెల్ సెర్జీవ్
  • వ్లాదిమిర్ బోవావ్
  • ఇవాన్ బుబ్నోవ్
  • పావ్లో క్లెట్స్

మా సమస్యలన్నింటినీ పరిష్కరించడానికి అనేక ఎంపికలు ఉన్నాయని మేము అర్థం చేసుకున్నాము; సాధ్యమయ్యే కొన్ని పరిష్కారాలు క్రింద వివరించబడ్డాయి.

1. మొదటి దశ

మేము దానిని "మీరు నిజంగా నిర్వాహకులా?" అని పిలిచాము, ఎందుకంటే పని చాలా సులభం - వెచ్చని దీపం సేవను సరిచేయడానికి.

1.1 ఆసక్తికరమైన నిజాలు:

ఆట యొక్క మొదటి 15 నిమిషాల్లో ఇద్దరు ఆటగాళ్ళు మొదటి కీని కనుగొన్నారు మరియు మొదటి గంటలో టాస్క్‌ను పూర్తి చేసిన ముగ్గురు నాయకులు ఉన్నారు.

1.2 వ్యాయామం

మీరు చాలా కాలంగా సమర్థ సమాచార సాంకేతిక నిపుణుడు లేని కంపెనీలో పని చేయడానికి వెళ్లారు. మీరు క్రమంలో విషయాలు పెట్టడం ప్రారంభించడానికి ముందు, మీరు ఆఫీసు పనిని నిరోధించే బర్నింగ్ సమస్యను పరిష్కరించాలి.

క్లీనింగ్ లేడీ మాప్‌తో సర్వర్ క్యాబినెట్ పవర్ కేబుల్‌ను పట్టుకుంది. పవర్ పునరుద్ధరించబడింది, కానీ చాలా ముఖ్యమైన వెబ్‌సైట్ ఇప్పటికీ పని చేయడం లేదు. వెబ్‌సైట్ ముఖ్యమైనది ఎందుకంటే కంపెనీ సమాచార భద్రత గురించి పెద్దగా ఆందోళన చెందదు మరియు దీని యొక్క ప్రధాన పేజీలో మీరు CEO యొక్క కంప్యూటర్ కోసం నిర్వాహక పాస్‌వర్డ్‌ను స్పష్టమైన వచనంలో కనుగొనవచ్చు.

మరుసటి రోజు పాస్వర్డ్ మార్చబడింది, కానీ అందరూ కొత్తది మర్చిపోయారు, దర్శకుడు పని చేయలేడు. అకౌంటింగ్ పత్రాల బ్యాకప్ కాపీని అర్థంచేసుకోవడంలో మాకు సహాయపడే మరిన్ని కీలు ఈ మెషీన్‌లో ఉన్నాయని పుకార్లు ఉన్నాయి.

సమస్యకు సత్వర పరిష్కారం లభిస్తుందని అందరూ ఆశిస్తున్నారు!

1.3. పరిష్కారం

1. అన్నింటిలో మొదటిది, మీరు వర్చువల్ మెషీన్‌కు యాక్సెస్‌ని పొందడానికి రూట్ పాస్‌వర్డ్‌ను మార్చాలి. ప్రారంభించేటప్పుడు, ఇది ఉబుంటు 16.04 సర్వర్ అని మేము గమనించాము.

రూట్ పాస్‌వర్డ్‌ను రీసెట్ చేయడానికి, మేము మెషీన్‌ను పునఃప్రారంభిస్తాము, లోడ్ చేస్తున్నప్పుడు, గ్రబ్ మెను ప్రదర్శించబడే సమయంలో, ఉబుంటు ఐటెమ్‌ను “e” బటన్‌తో సవరించడానికి వెళ్లండి. లైన్ లైనక్స్‌ను సవరించండి, దానిని చివరకి జోడించండి 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లో లేని స్వాప్ విభజన కారణంగా సర్వర్ బూట్ అవ్వదు; లోడ్ అవుతున్నప్పుడు, సిస్టమ్ దానిని మౌంట్ చేయడానికి ప్రయత్నిస్తుంది మరియు క్రాష్ అవుతుంది. ఎలా బూట్ చేయాలి?

చిత్రాన్ని డౌన్‌లోడ్ చేసాము, మేము CentOS 7ని డౌన్‌లోడ్ చేసాము, Live CD/DVD నుండి బూట్ చేసాము (ట్రబుల్షూటింగ్ -> రెస్క్యూ), సిస్టమ్‌ను మౌంట్ చేయండి, సవరించండి /etc/fstab. మేము వెంటనే మొదటి కీని కనుగొంటాము - GottfriedWilhelm11646Leibniz!

మార్పిడిని సృష్టించండి:

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

2. ఎప్పటిలాగే, పాస్‌వర్డ్ లేదు, మీరు వర్చువల్ మెషీన్‌లో రూట్ పాస్‌వర్డ్‌ను మార్చాలి. మేము దీన్ని ఇప్పటికే మొదటి పనిలో చేసాము. మేము సర్వర్‌ని మార్చాము మరియు విజయవంతంగా లాగిన్ చేస్తాము, కానీ అది వెంటనే రీబూట్‌లోకి వెళుతుంది. సర్వర్ చాలా వేగంతో ఓవర్‌లోడ్ చేయబడింది, మీకు అన్ని లాగ్‌లను జాగ్రత్తగా చూసే సమయం కూడా ఉండదు. ఏమి జరుగుతుందో అర్థం చేసుకోవడం ఎలా?

మళ్ళీ మేము livecd నుండి బూట్ చేస్తాము, సిస్టమ్ లాగ్‌లను జాగ్రత్తగా అధ్యయనం చేస్తాము మరియు అటువంటి ఆవర్తన కారణంగా క్రాన్‌ని పరిశీలించండి. అక్కడ మనకు సమస్య మరియు రెండవ కీ - Alan1912MathisonTuring!

లో అవసరం /etc/crontab లైన్‌ను తొలగించండి లేదా వ్యాఖ్యానించండి echo b > /proc/sysrq-trigger.

3. సర్వర్ లోడ్ అయిన తర్వాత, మీరు నిర్వాహకుల పనిని పూర్తి చేయవచ్చు: "ఆఫ్రికాలో చిరునామాలు ఏమిటి?" ఈ సమాచారం సాధారణంగా ప్రజలకు అందుబాటులో ఉంటుంది. మీరు "ip చిరునామా ఆఫ్రికా", "జియోప్ డేటాబేస్" అనే పదబంధాలను ఉపయోగించి ఇంటర్నెట్‌లో ఈ సమాచారాన్ని కనుగొనవచ్చు. సమస్యను పరిష్కరించడానికి, మీరు ఉచితంగా అందుబాటులో ఉన్న చిరునామా పంపిణీ డేటాబేస్‌లను (జియోఐప్) ఉపయోగించవచ్చు. మేము డేటాబేస్‌ను ప్రమాణంగా ఉపయోగించాము MaxMind GeoLite2, క్రియేటివ్ కామన్స్ అట్రిబ్యూషన్-షేర్అలైక్ 4.0 లైసెన్స్ క్రింద అందుబాటులో ఉంది.

లైనక్స్ సిస్టమ్ యుటిలిటీలను మాత్రమే ఉపయోగించి మా సమస్యను పరిష్కరించడానికి ప్రయత్నిద్దాం, కానీ సాధారణంగా దీనిని భారీ సంఖ్యలో మార్గాల్లో పరిష్కరించవచ్చు: టెక్స్ట్ ఫిల్టరింగ్ యుటిలిటీలను ఉపయోగించడం మరియు వివిధ ప్రోగ్రామింగ్ భాషలలో స్క్రిప్ట్‌లను ఉపయోగించడం.

ప్రారంభించడానికి, మేము మెయిల్ లాగ్ నుండి "పంపినవారు-గ్రహీత 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]

వీటన్నింటిలో, ఎగువ నుండి మొదటి ముగ్గురు గ్రహీతలు అక్షరాల సంఖ్య పరంగా స్పష్టంగా నిలుస్తారు. ఈ టాప్ 3 నుండి చిరునామాలకు పంపిన పంపినవారి IP చిరునామాలను మీరు గుర్తించినట్లయితే, మీరు నిర్దిష్ట నెట్‌వర్క్‌ల యొక్క స్పష్టమైన ప్రాబల్యాన్ని గమనించవచ్చు:

$ 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కి కేటాయించబడ్డాయి - ఇంటర్నెట్ వనరులను పంపిణీ చేసే ఐదు ప్రాంతీయ ఇంటర్నెట్ రిజిస్ట్రార్‌లలో ఇది ఒకటి. AFRINIC ఆఫ్రికా అంతటా చిరునామా స్థలాన్ని పంపిణీ చేస్తుంది. మరియు 41/8 పూర్తిగా AFRINICని సూచిస్తుంది.

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 అక్షరాలలో సరైన కీకి సంబంధించి అక్షర దోషాన్ని కలిగి ఉంది. మేము ఎంచుకున్న నెట్‌వర్క్‌లు పూర్తిగా ఆఫ్రికన్ దేశాలకు మరియు మా లాగ్‌లోని IP చిరునామాల మధ్య ఇమెయిల్‌లు పంపిణీ చేయబడే విధానానికి అంకితం కాకపోవడం దీనికి కారణం.

ఆఫ్రికన్ దేశాలకు కేటాయించిన అతిపెద్ద నెట్‌వర్క్‌ల యొక్క తగినంత వివరణతో, ఖచ్చితమైన సమాధానం పొందవచ్చు:

$ 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 (ట్రబుల్‌షూటింగ్ -> రెస్క్యూ) నుండి బూట్ చేయడం మళ్లీ సహాయపడుతుంది. లోడ్ చేస్తున్నప్పుడు, మేము బూట్ విభజనను కనుగొనడానికి ప్రయత్నిస్తాము, మేము దానిని కనుగొనలేము, మేము షెల్‌లో ముగుస్తుంది. మేము డిస్క్‌లతో ఏమి మరియు ఎలా చేయాలో అధ్యయనం చేయడానికి ప్రయత్నిస్తున్నాము. అందులో ముగ్గురు ఉన్నట్లు తెలిసింది. CentOS యొక్క 7వ వెర్షన్‌లో దీని కోసం మరిన్ని సాధనాలు ఉన్నాయి, ఇక్కడ ఆదేశాలు ఉన్నాయి blkid లేదా lsblk, ఇది డిస్కుల గురించిన మొత్తం సమాచారాన్ని మాకు చూపుతుంది.

మేము ఎలా మరియు ఏమి చేస్తాము:

$ ls /dev/sd*

అని వెంటనే తెలుస్తుంది

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

మేము sdb1ని మౌంట్ చేస్తాము, ఇది CentOS 6 యొక్క బూట్ విభజన అని స్పష్టమవుతుంది.

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

సహజంగానే మేము grub విభాగానికి వెళ్లి అక్కడ మొదటి కీని కనుగొంటాము - James191955Gosling అసాధారణ ఫైల్‌లో.

2. మేము LVMతో పని చేస్తున్నందున మేము pvs మరియు lvsలను అధ్యయనం చేస్తాము. 2 ఫిజికల్ వాల్యూమ్‌లు ఉండాలని మేము చూస్తున్నాము, ఒకటి లేదు మరియు పోయిన uid గురించి ఫిర్యాదు చేస్తుంది. మేము 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 నుండి రెస్క్యూలోకి బూట్ చేస్తాము. బూట్ విభజనను కనుగొని, గ్రబ్‌లో బూట్‌లోడర్‌ను పునరుద్ధరించండి:

root (hd0,0)
setup (hd0)

మేము బూట్ డిస్క్‌ను కూల్చివేసి విజయవంతంగా లోడ్ చేస్తాము, కానీ సైట్ పనిచేయదు.

4. వెబ్‌సైట్‌ను ప్రారంభించడానికి రెండు ఎంపికలు ఉన్నాయి: మొదటి నుండి అపాచీని కాన్ఫిగర్ చేయండి లేదా ముందుగానే కాన్ఫిగర్ చేసిన php-fpmతో nginxని ఉపయోగించండి:

$ /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.

మాతో ఉన్నందుకు ధన్యవాదాలు! తదుపరి ఆటల ప్రకటనల కోసం వేచి ఉండండి!

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి