През изминалият уикенд се изтъркаля TuxCon 2017. Според повечето хора съм се справил прилично добре с лекцията ми. Аз персонално не съм съвсем доволен, определено има много неща върху които да работя, защото планувам да не е последната ми подобна изява за в бъдеще. Ако трябва да съм честен по голямата част от презентацията почти не си я спомням, беше като в транс. Спомням си откъслечни моменти в които поглеждам часовника и установявам, че е изтекло прилично количество време.

Определено не беше никак лесно, дори като се има на предвид, че аудиторията беше изключително тясно насочена и нямаше някаква голяма бариера с публиката.

 

DN42 е един прекрасен проект който ви дава възможност да развивате вашите BGP умения без да чупите продуктова среда, без да ви се налага да имате скъпи устройства с които да си правите лаборатория да си правите симулации с GNS3. Същевременно да не е чисто лабораторна среда при която няма проблеми от реалният свят. Участвам с 1 node в проекта от около година. Един от проблемите в проекта е 1:1 с реалният святкогато някой ти обяви префикси които не трябва да обявява. Понеже съм мързелив и не ми се пише на ръка филтри все път, реших проблема с елементарен bash скрипт които ми генерира prefix-list с име dn42 и в него наливам валидните префикси.

#!/bin/bash</pre>
vtysh -c 'conf t' -c "no ip prefix-list dn42"; #drop old prefix list

while read pl
do
vtysh -c 'conf t' -c "$pl"; #insert prefix list row by row
done < <(curl -s https://ca.dn42.us/reg/filter.txt | grep -e ^[0-9] | awk '{ print "ip prefix-list dn42 seq " $1 " " $2 " " $3 " ge " $4 " le " $5}' | sed "s_/\([0-9]\+\) ge \1_/\1_g;s_/\([0-9]\+\) le \1_/\1_g");
vtysh -c 'wr' #write new prefix list

Списъка с валидните предикси се взема https://ca.dn42.us/reg/filter.txt от където и основният конвейр + малко модификации от моя страна за да може да се генерира префикс листа. Командите се изпълняват през vtysh.

იყიდება 4 თვის in a row, კონფერენცია უფასო პროგრამული და აპარატურული TuxCon. პირადად ჩემთვის ეს არის ყველაზე ძლიერი პლოვდივში კონფერენციაზე, რომელიც გაიმართება, მას შემდეგ, რაც ისინი განკუთვნილია არა მხოლოდ დეველოპერები, და სამიზნე აუდიტორია ბევრად უფრო დიდი აუდიტორია, ძალიან ფერადი. თუ ჩემი მეხსიერება ტყუის, მე არ ვფიქრობ, რომ, მე გაუშვა გამომცემლობა ჯერჯერობით. მენჯის არის ყოველწლიური გამოცემა იყო მორგებული ჩემთვის, როგორც მე მაქვს იდეა. მე ვაპირებ ვისაუბრო dnsdist და, რომ ეს სასარგებლოა თქვენი ინფრასტრუქტურის. თემა, რომელიც მე საუბარი, მე აირჩია თავს. Почувствах нужда да я покажа на света, тъй като е относително млада, а до момента почти не съм намерил нещо в нея която да не ми харесва. Не помня кога беше последният път когато ме впечатли толкова много нещо ново и същевременно да работи изключително добре.

როგორც მოგეხსენებათ, CentOS 5 EOL არის (სიცოცხლის დასასრული) 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.
&nbsp;Eg. Invalid release/
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
&nbsp;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 უკვე მან და ცდილობენ პირდაპირ content შემდეგ მიღებული უარი:

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

 

ზოგადად, საერთო ჯამში, ყველაზე გონივრული იდეა გადაყენება თუნუქის ნორმალური განაწილების, რომელიც მხარს უჭერს სამუშაო გამანაწილებელ განახლება. სამწუხაროდ ნაღმი არ არის საქმე, რაც არ დგას, როგორც ვარიანტი მაგიდაზე. ასე რომ, ჩვენ უნდა ითამაშოს პატარა ბოშა სქემა – დაიწყოს გამოყენება Vault mirror. ამ დროისათვის სრულიად ნათელია არსება და საღი აზრის ვიცი,, მე არ მიიღოს ნებისმიერი განახლებები, რომ არ არის სწავლების მიზანია, და უბრალოდ მინდა მუშაობის yum ინსტალაცია პაკეტი, რომელიც მე უნდა. ამ მიზნით კომენტარი ყველა mirrorlist ცვლადები და დაამატოთ baseurl in /etc/yum.repos.d/CentOS-Base.repo. საბოლოოდ მივიღებთ yum რეპო ტიპის

[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

ბოლოს ითამაშოს yum სუფთა ყველა && yum update. თუ ყველაფერი დასრულდა გარეშე შეცდომა, მაშინ ჩვენ წარმატებით დასრულდა სქემა და ჩვენ შეგვიძლია უსაფრთხოდ დააყენოთ მოძველებული პაკეტები.

 

Mozilla Thunderbird

იდეა იდენტურია ორივე ჩემი პოზიცია Firefox ბაზები ვაკუუმი და REINDEX. გარკვეული დროის განმავლობაში მან rebradinranite Debian ვერსიები Mozilla პროდუქცია. Upon მიგრაციის Icedowe to Thunderbird ეგონა, მე არ defragment თქვენს მონაცემთა ბაზაში, და ჯერჯერობით ფოსტით კლიენტს I გავიდა სერიოზული თანხის წერილებს, ელ ანგარიშები და სერვერები, წევრებს და პაროლები. სკრიპტი იდენტურია, რომ ჩემი წინა პოსტი მხოლოდ მცირედი მოდიფიკაცია, სად უნდა ვეძებოთ ფაილი 🙂

Linux ვერსია

for db in $(find ~/.thunderbird/$(grep Path ~/.thunderbird/profiles.ini | cut -d'=' -f2) -maxdepth 1 -name "*.sqlite" -type f)
do
echo "VACUUM ${db}"
sqlite3 ${db} VACUUM
sqlite3 ${db} REINDEX
done

Mac OS ვერსია

for db in $(find ~/Library/Thunderbird/$(grep Path ~/Library/Thunderbird/profiles.ini | cut -d'=' -f2)  -maxdepth 1  -name "*.sqlite" -type f)
do
echo "VACUUM && REINDEX ${db}"
sqlite3 "${db}" VACUUM;
sqlite3 "${db}" REINDEX;
done

განსხვავებით ნახვა საქაღალდეში Firefox, რომ Thunderbird საკმაოდ სწორ გზაზე (без სივრცეში) და არა, რათა ცვლილება delimiter.