През изминалият уикенд се изтъркаля 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.

עבור השנה הרביעית ברציפות, יתקיים הכנס על חומרה ותוכנה חופשית 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 כבר בועט פנימה בניסיון להשיג שיג תוכן ישירות לאחר סירוב:

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

 

בשנת כוללת כללית ברעיון הנבון ביותר כדי להתקין מחדש את הפח עם התפלגות נורמלית שתומכת עובדים שדרוג חלוקתי. לרוע המזל שלי הוא לא המקרה והוא אינו עומד כאופציה על השולחן. אז היינו צריך לשחק ערכת צועני קטנה – להתחיל להשתמש המראה Vault. כרגע לגמרי ברור יצור ושפיות יודע, אני לא אקבל עדכונים כי הוא לא המטרה של התרגיל, ופשוט רוצה לעבוד עם יאם להתקין חבילה שאני צריך. לשם כך ציין את כל המשתנים 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

לבסוף לשחק יאם נקי כל && עדכון יאם. Ако всичко завърши без да получим грешка значи сме завършили успешно схемата и можем спокойно да си инсталираме остарелите пакети.

 

Mozilla Thunderbird

הרעיון הוא זהה בשני במעמדי Firefox מאגרי ואקום או יצירת אינדקס. מזה זמן בועט גרסאות דביאן rebradinranite של מוצרי Mozilla. עם המעבר מ Icedowe כדי Thunderbird חשבו, אני לא לאחות מסד הנתונים שלך, ועד כה באמצעות לקוח הדוא"ל עברתי כמות רצינית של אותיות, חשבונות דוא"ל ושרתים, משתמשים וסיסמאות. התסריט הוא זהה לזה של ההודעה הקודמת שלי עם שינויים קלים בלבד עבור איפה לחפש קבצים 🙂

גרסת לינוקס

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

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 הוא די על המסלול הנכון (שטח без) ולא צורך לבצע שינוי מפריד.