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-та поредна година ще се проведе конференцията за свободен софтуер и хардуер TuxCon. Персонално за мен това е най силната Пловдивска конференция която се провежда, тъй като не е насочена само за разработчици, а целевата група е много по голяма и аудиторията е много цветна. Ако не ме лъже паметта не мисля, че съм пропускал издание досега. Таз годишното издание е по специално за мен, тъй като имам презентация. Ще говоря за dnsdist и за това дали е полезен за вашата инфраструктура. Темата за която ще говоря си я избрах сам. Почувствах нужда да я покажа на света, тъй като е относително млада, а до момента почти не съм намерил нещо в нея която да не ми харесва. Не помня кога беше последният път когато ме впечатли толкова много нещо ново и същевременно да работи изключително добре.

Као што знате ЦентОС 5 АЦМЕ је (Крај живота) од 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

 

Проблем је у томе кратке листе ЦентОС огледала 5 већ шутирање у и покушати да директно се садржај добијен после одбијања:

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

 

У општем Све у свему највише мудро идеја да поново инсталирате конзерву са нормалном расподелом који подржава рад дистрибутивна надоградњу. Нажалост, моја није случај и не стоји као опција на столу. Тако да смо морали да играмо гипси шему – почети да користи свод огледало. У овом тренутку потпуно јасно створење и лекарском зна, Нећу примати ажурирања да није циљ вежбе, и само желим да радим са иум да инсталирате пакет који ми треба. За ту сврху је прокоментарисао од свих Миррорлист променљиве и додати басеУрл у /етц/иум.репос.д/ЦентОС-Басе.репо. Коначно смо добили иум репо о врсти

[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 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.

Пошто Гоогле је почео да волим хттпс места, више потребно ангажовање ССЛ-а где си. Генерално више од узнемиравања за сервере и имају деградације у брзини. Добра вест је, да ХТТП2 стандард за више од годину и по дана је интегрисан у свим већим хттп сервера и претраживача и одржавање довољно стабилна. На жалост Дебиан стабилан нема пакета за одржавање ХТТП2 у главном хттп серверима. Верзије које морамо да радимо ХТТП2 су:

За мене збрка је велики и по зависи ужива Апацхе или Апацхе. Ја још нисам играо на својој вожњи апацхе хттп2 Дебиан 8 јер не имала, али бацкпортс репо га тако, то неће бити велики проблем. За нгинк смо већ играли неколико пута. У принципу су кораци мало и релативно једноставан:

  1. Додај нгинк службени репо – Дебиан издање, молим 1.6.х је 🙄
  2. Инсталирати ваш ОпенССЛ од бацкпортс је тренутно 1.0.2к – да треба да АЛПН налог за одржавање за све да раде и барзицхко
  3. инсталирали девсцриптс – Сада је време да се деле да ће билднем наш пакет јер званични је преведен са опенссл 1.0.1т да не ради АЛПН и претраживачи нису добро реагује и ради хттп2 само ако је приморана
  4. повећава верзија не држе Цигани са пакетима и као нове верзије једини извор за синкенм

Почнимо корак по корак

Додај нгинк репо

deb http://nginx.org/packages/debian/ codename nginx
deb-src http://nginx.org/packages/debian/ codename nginx

Додај опенссл 1.0.2к и Дев библиотеку иначе ћемо поново билднем са 1.0.1т не Наш циљ

echo 'deb http://ftp.debian.org/debian jessie-backports main' | tee /etc/apt/sources.list.d/backports.list

apt update && apt install libssl-dev -t jessie-backports

 

Сада лево додати библиотеке потребне за израду нгинк

apt install devscripts

apt build-dep nginx

mkdir nginx-build

cd nginx-build

apt-get source nginx

Ако се правилно ради морате имати структуру као

~/nginx-build # ll
total 1004
drwxr-xr-x 10 root root   4096 Feb 21 18:37 nginx-1.10.3
-rw-r--r--  1 root root 103508 Jan 31 17:59 nginx_1.10.3-1~jessie.debian.tar.xz
-rw-r--r--  1 root root   1495 Jan 31 17:59 nginx_1.10.3-1~jessie.dsc
-rw-r--r--  1 root root 911509 Jan 31 17:59 nginx_1.10.3.orig.tar.gz

Пријавите се у папта у којој корисницима код nginx у мом случају то је и nginx-1.10.3 покрени цомманд са којима инкрементирате верзија, Ја лично више волим да додам 1 да се изгради ово

debchange --newversion 1.10.3-1

Када додате изменениј-и, опционо да настави са стварним компилације

debuild -us -uc -i -I -b -j6

Мало појашњење о команде за конфигурацију:

-нас -уц кажу сценарио не “потписан” .ДСЦ и .цхангес фајлова. -ја i -ја изазвати сценарио да се занемаре фајлови контроле верзија. генерисати само бинарни пакет. као у како да паралелни процес за састављање 🙂

 

Након Горенаведени процес за инсталирање наше нове пакете. Ако сте већ инсталирали Апацхе је боље да уклоните

apt remove nginx nginx-*

Такође, није лоша идеја да направите резервну копију nginx фолдер у /etc. Generalno, kada obavljate nadogradnju s 1.6.5 da 1.10.3 Imao sam bez drame, ali nikad se ne zna. Novi paktei se nalaze u fascikli na gornjem nivou i treba da se instalira sa komande kao što:

dpkg -i ../*.deb

Ако всичко е минало гладко ви остава само да си пуснете nginx процеса и да си се конфигурира http2 което вече не е цел на тази статия.