Քանի որ դուք գիտեք, CentOS 5 ËoL է (End-of-Life) մարտի 31-ից 2017. Որը հանգեցնում է հետեւյալ շատ հետաքրքիր խնդիր:

# yum update
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
 Eg. Invalid release/
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
 Eg. Invalid release/
removing mirrorlist with no valid mirrors: /var/cache/yum/extras/mirrorlist.txt
Error: Cannot find a valid baseurl for repo: extras

 

Խնդիրն այն է, որ կարճ ցուցակները Centos հայելիներ 5 Արդեն նախագիծն ու փորձել անմիջականորեն ստանալ բովանդակության ձեռք բերել հրաժարվելուց հետո:

# curl 'http://mirrorlist.centos.org/?release=5&arch=i386&repo=os'
Invalid release

 

Ընդհանուր առմամբ, ընդհանուր առմամբ այդ ամենից խելամիտ գաղափար է reinstall թիթեղներն հետ նորմալ բաշխման, որ աջակցում է աշխատանքային բաշխիչ բարելավում. Ցավոք, իմը չէ, որ այդպես է, եւ դա չի դիմանում որպես տարբերակ սեղանի վրա. Այնպես որ, մենք պետք է խաղալ մի քիչ gypsy սխեմա – սկսում են օգտագործել կամար հայելի. Ներկայումս ամբողջությամբ պարզ էակ է եւ մեղսունակությունը գիտեմ,, Ես չեմ ստանա որեւէ թարմացումներ, որ դա ոչ թե նպատակը զորավարժություններին, եւ պարզապես ուզում ենք ունենալ աշխատում է Յամ է տեղադրել փաթեթը, որ ես պետք է. Այդ նպատակով մեկնաբանել են բոլոր mirrorlist փոփոխականները եւ ավելացնել baseurl է /etc/yum.repos.d/CentOS-Base.repo. Վերջապես մենք ստանում Յամ ռեպո տեսակից

[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
baseurl=http://vault.centos.org/5.11/os/i386/
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
baseurl=http://vault.centos.org/5.11/updates/i386/
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
baseurl=http://vault.centos.org/5.11/extras/i386/
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

Վերջապես խաղալ Յամ մաքուր && ՅԱՄ թարմացման. Ако всичко завърши без да получим грешка значи сме завършили успешно схемата и можем спокойно да си инсталираме остарелите пакети.

 

Mdadm իմ սիրելի ընկեր, բայց ինչ-որ ահավոր նյարդայնացնում է շատ – պարբերական ստուգման և ресинк առողջության անվտանգության RAID array- օրինակ, կան տվյալներ bad sector-, որ, իր հերթին, ճնշում է գործադրում մեքենա IO. Ընդհանուր առմամբ, հետո մեկ ժամ, գտել է մեղավորներին – кронове որոնք իրականացվում են, որպես կանոն, մոտ 1h-ի երեկոյան ամեն կիրակի. Գաղափարը պարզ է – անշուշտ, ինչ-որ մի զանգված, գտնվում է գերազանց վիճակում եւ ոչ մի դրամա տեղեկատվության. Դա լավ է, բայց մեկ է ինձ երևում է շատ, ուստի նրա преконфигурирах, որ рънва յուրաքանչյուր առաջին ամսվա.

Համար Redhat համակարգերի, ածանցյալ ճանապարհը kroon է /etc/cron.d/raid-check. Համար Debian համակարգերի, հավերժական պարահանդես distrotsi ճանապարհը /etc/cron.d/mdadm. Кроновете, իր հերթին, աղաչել bash սցենարներ /usr/sbin/raid-check համար CentOS etc եւ /usr/share/mdadm/checkarray համար Debian և ընկերներ. Պարամետրերի սցենարի ընդունում /etc/sysconfig/raid-check կամ, համապատասխանաբար, /etc/default/mdadm որտեղ կարող է լինել արգելված է ամբողջությամբ check-իսկ, որ շատ խելացի, որպես գաղափար է.

 

Յուրաքանչյուր ոք, ով զբաղվում է պրոֆեսիոնալ հետ web hosting գիտի, թե ինչ վտանգ է ներկայացնում վարակված օգտվողները հետ չարամիտ, web shells etc. "Обшият այստեղ օգտագործվում է maldet մեկը ոչ մի վատ սցենար. Նա տարբերվում է 3 բաներ

  1. Ահավոր դանդաղ
  2. Ահավոր դանդաղ են ընթանում, եւ եթե նրան ազատ արձակել ռեժիմով մոնիտորինգի չի изгаври սերվերի վրա դուք
  3. Աջակցում է սեփական բազայի հետ, md5/hex дефиници վատ կոդ.

Հենց վերջին առանձնահատկությունն է, այն օգտակար, քանի որ, ամեն ինչից զատ, կարող է събмитваш ֆայլերը, որոնք հայտնաբերվել էին մինչ այժմ եւ ավելի ուշ փուլում պետք է հասնել բազայի. Ինչպես կիսվել կետ 1 ու 2 նրա արագությունը սարսափելի ցածր է – ցածր ծանրաբեռնվածության մեքենայի վրա 70к ֆայլի отсканировали մեկ-մեկուկես ժամ. Այդ պատճառով ես սկսեցի օգնել իմ լավ ընկեր, ShadowX հետ malmon – այլընտրանք maldet գրված է python մի քիչ ճկունություն. Ցավոք, ժամանակի սղության պատճառով (հիմնականում, բայց ոչ միայն) մենք չենք довършили նախագծի, որը տվյալ պահին շատ օգտակար է – բավականին սխալներ կան որոնք պետք է մաքրել. Անցած օրերին ինձ հաճախորդների հետ, վարակված CryptoPHP որոնք ունեին հսկայական public_html ֆայլերը ~60к+ inod-օգտագործողի. Քանի որ միասին պետք է ստուգվել 200к ֆայլ որ խոշոր հաշիվների այն տեւում 5+ ժամ ես որոշեցի тунинговам կազմաձեւման maldet, նվազեցնել ֆայլերը, որոնք պետք է ստուգվի ինչ-որ բան ավելի խելամիտ տեղը եւ ժամանակը. Մինչեւ ընտրության конфа նկատել է հետեւյալ տողերը

# Attempt to detect the presence of ClamAV clamscan binary
# and use as default scanner engine; up to four times faster
# scan performance and superior hex analysis. This option
# only uses ClamAV as the scanner engine, LMD signatures
# are still the basis for detecting threats.
# [ 0 = disabled, 1 = enabled; enabled by default ]
clamav_scan=1

Հետաքրքիր է… Ակնհայտ է, որ կա հնարավորություն օգտագործել ClamAV – ով նույնպես աչքի չի ընկնում մեծ արագությամբ, բայց, ինչու չէ, փորձեք այն. Արագ ես տեղադրել

/scripts/update_local_rpm_versions --edit target_settings.clamav installed

/scripts/check_cpanel_rpms --fix --targets=clamav

Թողարկել maldet-իսկ փոքրիկ թղթապանակ – չեմ տեսնում տարբերություն արագությամբ եւ վարքի – օգտագործել է իր perl-ски սկաների փոխարենը clamav. Հետո կարճատեւ փորում, ըստ կոդ maldet ես գտել հետեւյալ տողերը

 clamscan=`which clamscan 2> /dev/null`
 if [ -f "$clamscan" ] && [ "$clamav_scan" == "1" ]; then
        eout "{scan} found ClamAV clamscan binary, using as scanner engine..." 1
    for hit in `$clamscan -d $inspath/sigs/rfxn.ndb -d $inspath/sigs/rfxn.hdb $clamav_db -r --infected --no-summary -f $find_results 2> /dev/null | tr -d ':' | sed 's/.UNOFFICIAL//' | awk '{print$2":"$1}'`; do

Мдааа, ես մի ստուգելու clamscan и за моя голяма изненада открих че clamav изобщо не е в PATH-a ами тъпият Cpanel го е оставил само в /usr/local/cpanel/3rdparty/bin/ от където той си използва бинарките. Един бърз ln реши проблема:

ln -s /usr/local/cpanel/3rdparty/bin/clamscan /usr/bin/clamscan

При повторно сканиране maldet вече горно съобщава

{scan} found ClamAV clamscan binary, using as scanner engine...

След като вече използва ClamAV maldet приключва сканирането си 3-4-5 пъти по бързо в сравнение с преди. Теста показа – 70к inod-а ги изтъркла за около 25 мин което си е около 3 пъти и половина по бързо в сравнение с преди.

Մինչ այդ, սկսել են հերթական random % % 50 ’тинки OS ես նկատի ունեմ, որ ամեն օր ես պետք է նրա վարչարարությունը եւ գիտեմ նրա առաջին դեմքի եզակի թվի բավականին լավ. Այսօր ես էլ ժամանակին, որպեսզի изтествам նոր մոգություն нечувана և երբեք չի տեսել գործառույթները համար թարմացումները диструбитивен (կեղծ) 😀 . Առաջին բանը, որ ինձ գրավեց: սա, որ RedHat իր անսահման իմաստության որոշել է դադարեցնել սպասարկումը х86 ճարտարապետության 🙄 . Напълно съм наясно че сме 2014-та година и сървърни процесори с 32 քիչ հրահանգներ բացակայում է վաղուց. Мда ама какво правят потребителите на малки VPS-и – 64-bit ինտերնետ ոտքերը ավելի շատ շրջանակներ, ինչպես եք նայում դրան, եթե դուք ունեք բարակ վիրտուալ հարմարվողական հետ 512MB-1GB ram պայքարելու է յուրաքանչյուր мегабай նրանից չի прахосаш 20-30% այն պարզապես օգտագործել մեծ սեթ են հրահանգներ. Препсувах քանի որ ես инсталил х86 CentOS եւ բարձրացնել մեկ 64-bit ինտերնետ. Միանգամից տեսա տարբերությունը ISO-ին – ~100МБ նվազագույն 6.5. Препсувах եւս մեկ անգամ. Ես տեղադրել այն կրկին виртуалката, ինչպես ես որոշեցի տեսնել, RedHat, թե որքան լավ է կատարել իր աշխատանքը – ես անում /var /usr առանձին LVM բաժինները 😈 . Հետո տեղադրման ես թարմացրել բոլոր փաթեթները ես տեղադրել և apache, php, mysql և bind – հետաքրքիր էր, թե արդյոք բռնկվել сървисите. Ես բացեցի այն, թե ինչպես է լավ աշակերտուհին ուղեցույց CentOS-ի համար թարմացվել է և սկսել է խելոք-խելոք իր համար պետք է քայլ առ քայլ. Երբ ես հասա այն պահը, սկսել իրական թարմացնել այս пумия ինձ изряза, че имам критичен проблем 🙄 . "Եզը պատասխանել է ելքը – мдаааа /usr չի կարող առանձին բաժին 😆 ես գիտեի, որ պետք է հիասթափված Jim Whitehurst եւ ընկերության. Բացի “մեկը:” խնդիր է, բավականին շատ հաղորդագրությունների մասին չստորագրված փաթեթներ, ֆայլերի համար конфизи որոնք չեն համապատասխանում և այլն. WTF նույնիսկ եղել են հօգուտ 3-րդ պահոցները բոլոր նրանց հայելիներ смъкнах չի արել որեւէ պարամետրերը պարզապես տարրական yum install. Արդեն ամեն ինչ պարզ էր, ուստի առանց այլևայլի форсирах upgrade. Reboot կրկին հնազանդ ինչպես ինձ հուշում է, ի վերջո, սցենարը, եւ ամեն ինչ ավարտվում են /usr բաժնում. Ես շատ ծույլ, որ փորձեք, որպեսզի նրա фиксна, ինչևէ, ամեն ինչ եղել է միայն գիտական նպատակն է, ոչ թե ապրանք-սերվերի, որ надграждам այս պահին. Ես բռնել преинсталирах նրա виртуалката, քանի որ այս անգամ ամեն ինչ իր набутах է 1 բաժին. Նաեւ վերցրել դաս, որեւէ վերազինման որեւէ լրացուցիչ сървъси, տեղադրելուց հետո ուղղակի թարմացումները. Վերջնական քայլ-կրկին pop up досаният երկխոսությունը, որն ինձ ասաց., որ ես ունեմ բավականին Բարձր խնդիրներ – անվավեր փաթեթներ, конфизи եւ այլն, բայց կարող է տեւել. Ես գիտեի, որ տանը անում են նրանց, թե ինչպես բաներ պետք է. Reboot կրկին ու зачаках – о какво чудо ъпгрейда приключи успешно. И всичко работеше или поне зареждането на системата така и не пробвах да инсталирам допълнителни пакети, но halt командата си зависвашехух все пак трябваше да има бъг 💡 . След тая цялата тарапана реших да инсталирам на чисто Centos 7 да видим дали ще ръмжи за /boot дял в LVM – 6.5 не позволява такава дързост. Стартирах си ISO-то и бях меко казано шокиран от инсталаторавсичко беше крайно не удобноподредено”, напълно алогично с цел да е красиво. Հետո ինչ-որ պայքարի հաջողվել է իր նպատակին, եւ աղա, տեղադրել եւ грянет, որ անհրաժեշտ է, որպեսզի նրա մարել /boot-իսկ դուրս LVM-a 👿 Դա չափազանց լուրջ է եւ նյարդայնացնում է, եթե ինչ-ինչ պատճառներով մոռացել է, որ չափը загрузочного բաժին է 200МБ եւ понатрупаш հին միջուկներ, թե ինչ է տեղի ունենում.

Ընդհանուր առմամբ, ոչինչ չի սպասում, եւ չնայած ես հիասթափված CentOS.

Ինչպես псувам RHEL ու CentOS shit-իսկ կա ինչ-որ բաներ, որոնք նրանց հորինել բավական գրագետ. Օրինակ, ավելացնելով մեծ քանակությամբ լրացուցիչ IP-հասցեների շատ լավ առաջադրանք. Ընդհանուր առմամբ, եթե դուք պետք է ավելացնել մեծ թվով հասցեներ ես разписал մեկ բաշ skriptche որում ցիկլը կատարել տվյալ գործողություն, որ ձեռքերը չի աշխատում. "Centos/RHEL մարդիկ այն հնարել են բավականին հաճելի է range ֆայլը. Ընդհանուր առմամբ ստեղծել ֆայլը /etc/sysconfig/network-scripts/ifcfg-eth0-range0. Тук заменяме eth0 със името мрежовият адаптер ако не е eth0. След което добавяме следното съдържание

IPADDR_START=192.168.0.129
IPADDR_END=192.168.0.254
NETMASK=255.255.255.128
CLONENUM_START=0

като аргументите са

  • IPADDR_STARTначален IP адрес
  • IPADDR_ENDкраен адрес
  • NETMASKмрежова маска
  • CLONENUM_STARTномерация от която да започнат мрежовите адаптер eth0:0 в нашият случай