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

Як ви знаєте, CentOS 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

 

Проблема полягає в тому, що короткі списки 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 баз даних ВАКУУМ і ПРОІНДЕКСУВАТИ. Debian в той час rebradinranite є версії продуктів Mozilla. Під час переходу від Icedowe на Thunderbird я, Я не defragmentiral основі, до цих пір в мій поштовий клієнт закінчитися серйозні кількість листів, електронною поштою рахунки і сервери, користувачів і паролі. Сценарій ідентична один з мого попереднього посту з тільки невелика модифікація для де шукати файли 🙂

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 є набагато більш правильним способом (без простору) і вам не доведеться змінити розділювач.

З тих пір, як google почав як https сайти, Маючи більш масового установки SSL- і де ви можете. В цілому, на додаток до більше домагання на серверах, що у нас є і деградації у швидкості. Гарна річ є, що HTTP2 стандарт для більш ніж через рік-півтора інтегровані всі основні браузери і сервери й http підтримки рівень стабілізації. На жаль, немає ні стабільний пакунки debian тримати в основних http-сервери HTTP2. Варіанти, які є необхідними для нас діяти HTTP2:

  • Apache > 2.4.17
  • Nginx > 1.9.5
  • Інші приватні не викликав мене (Lighttpd можливо запланували…..)

Mešanicata для мене є великий і відповідно для використання залежить від apache або nginx. Я як і раніше не грає до нехай вільно на http2 apache debian 8 З тих пір я ніколи не мав, але все це так repoto backports, Він не буде великою проблемою. Для nginx вже грали кілька разів. В цілому, кроки, кілька і відносно простий:

  1. Додати nginx офіційний РЕПО – в debian є 1.6 x vesiâta. 🙄
  2. Встановити openssl себе від backports, наразі 1.0.2 (k) – Що нам потрібно для ALPN обслуговування для всіх працює а швидко
  3. ви встановити на devscripts – Це час, щоб поділитися, що буде bildnem наш пакет, тому що офіційна скомпільований з openssl 1.0.1 t, яка не працює ALPN і не браузери реагують добре і працює, тільки якщо http2 обороти його
  4. inkrementirame версія провести не інструменти, як ciganiâta і є нова версія тільки до sinkenm sorsovete

Давайте почнемо, крок за кроком

Додати nginx РЕПО

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

Додавання бібліотеки openssl dev k 1.0.2 і в іншому випадку bildnem його знову з 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

 

Зараз застряг на його додати бібліотеки, необхідні для компіляції nginx

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

Входити до papta де razarhiviran є джерелом nginx в моєму випадку це nginx 1.10.3 працює команда з якої версії inkrementirate, Я особисто віддаю перевагу, щоб додати 1 на цьому побудувати

debchange --newversion 1.10.3-1

Після того, як ви додати в список змін і можна приступити до фактичної компіляції

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

Кілька роз'яснень про конфігурація команди:

-нас - uc кажуть скрипт не “підписаний” .DSC і зміни файлів.. і щоб скрипт ігнорувати файли для управління версіями. -B генерувати двійкові єдиний пакет. -j як з зробити скільки паралельно процесу перекомпіляції 🙂

 

Як тільки ви закінчили вище процес ми повинні встановити наші нові пакети. Якщо ви вже встановили nginx є краще, щоб видалити його

apt remove nginx nginx-*

Також не погана ідея для резервного копіювання папки в nginx/etc. В цілому, під час оновлення 1.6.5 щоб 1.10.3 У мене не було ніяких драми, але ви ніколи не знаєте. Нові paktei розташовані в папку верхнього рівня та повинні бути встановлені з командою таких як:

dpkg -i ../*.deb

Якщо все пройшло гладко, вам доведеться грати nginx процесу та налаштування http2, яка вже не мета цієї статті.