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

Както си знаете CentOS 5 е EOL (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.
&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 огледалото. В момент на напълно ясно създание и здрав разум знам, че няма да получа каквито и да било ъпдейти което не е цел на упражнението, а искаме просто да има работещ yum с който да инсталирам пакет който ми е необходим. За целта закоментираме всички mirrorlist променливи и добавяме baseurl в /etc/yum.repos.d/CentOS-Base.repo. Накрая получаваме yum 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

Накрая играем едно yum clean all && yum update. Ако всичко завърши без да получим грешка значи сме завършили успешно схемата и можем спокойно да си инсталираме остарелите пакети.

 

Mozilla Thunderbird

Идеята е идентична както в поста ми Firefox databases VACUUM and REINDEX. От известно време Debian разкараха ребрадинраните версии на Mozilla продуктите. При миграцията от Icedowe към Thunderbird се замислих, че не съм си дефрагментирал базата, а досега през email клиента ми са изтекли сериозно количество писма, email акаунти и сървъри, потребители и пароли. Скрипта е идентичен с този от предишният ми пост само с лека модификация за къде да търси файловете 🙂

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 е с доста по правилен път (без space) и не се налага да се прави промяна на delimiter.