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

Идеята е идентична както в поста ми VAKUUM i ponovo INDEKSIRATI Firefox bazama podataka. От известно време 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 което вече не е цел на тази статия.