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

Kot veste CentOS 5 EOL je (Konec življenja) od 31. marca 2017. Ki vodi do naslednjega zelo zanimiv problem:

# 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

 

Težava je v tem, da so kratke sezname CentOS ogledali 5 že brca v in poskušali neposredno dobili vsebine, pridobljeno po zavrnitvi:

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

 

V Splošna najbolj smotrno ideja, da ponovno namestiti kositra z normalno porazdelitvijo, ki podpira delovno raziskujejo distribucijsko nadgradnjo. Na žalost moje ni tako in da ne stojijo kot opcija na mizi. Tako smo morali igrati malo ciganske shemo – začnejo uporabljati Vault ogledalo. V tem trenutku je popolnoma jasno bitje in razumnosti vedeti, Jaz ne bodo prejeli nobene posodobitve, ki je ne cilj vaje, in samo želim, da imajo delo z yum namestite paket, da moram. Za ta namen je komentiral vse mirrorlist spremenljivke in dodajte baseurl v /etc/yum.repos.d/CentOS-Base.repo. Končno smo dobili yum repo na vrsto

[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

Končno imajo yum clean all && posodobitev yum. Ако всичко завърши без да получим грешка значи сме завършили успешно схемата и можем спокойно да си инсталираме остарелите пакети.

 

Mozilla Thunderbird

Ideja je, enako kot moj post VAKUUMSKI Firefox baz podatkov in 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.

Kot je google začel ljubezen https strani, poleg tega je masa namestitev SSL in kje lahko. Običajno, tudi več ustrahovanja za strežnike smo in razkroja v hitrosti. Dobro, kaj HTTP2 standard je že več kot pol vključevanje v vse večje http strežniki in brskalniki, in vsebino, ki je dokaj stabilna. Na žalost, ne debian stabilno paketov, ki ponujajo HTTP2 podporo v osnovni strežnikov http,. Različice, ki jih potrebujemo za delo v HTTP2, kot sledi:

Imam mecanizata velika in je odvisna od uporabe apache ali proof. Nisem še igral za potiskanje debian apache http2 8 ker nimam backports, vendar repoto je tako, to ni velik problem,. Za proof igrali smo nekajkrat. Kot pravila, navodila in nekaj relativno enostavno:

  1. Dodajte uradni proof repo – različica debian - 1.6.x 🙄
  2. Namestite iz backports openssl v trenutku, ko je 1.0.2 k – moramo ALPN podpore za hitro delo
  3. devscripts ga namestite – tukaj je čas, da delite, da bo bildner naš paket, saj je uradni bilo prevedeno z openssl različica 1.0.1 v t, ki ne deluje ALPN in brskalniki ne odziva in teče http2-samo če forcers
  4. incremential različico, ne da bi drži tiganita pakete, kot je v novi različici, le potopu Aravete

Začnimo korak za korakom

Dodaj proof retrogradno

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

Dodaj openssl 1.0.2 k in dev knjižnice, v nasprotnem primeru bo bildner tudi z 1.0.1 t, da nam ni cilj

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

 

Zdaj je še dodati knjižnice zahtevane za kodno prevajanje proof

apt install devscripts

apt build-dep nginx

mkdir nginx-build

cd nginx-build

apt-get source nginx

Če boste delali pravilno, bi morali imeti strukturo vrste

~/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 изпълнявате команда с която инкрементирате версията, Jaz osebno raje dodajte 1 trenutno gradijo

debchange --newversion 1.10.3-1

Po njem dodati dnevnik-kot izbira, lahko nadaljujete s prevajanjem

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

Malo pojasnila na konfiguracijo ukaz:

-nas -uc pravijo, skript ni “znaki” .dsc in .spremembe datoteke. -i in -I sile skript prezreti datoteke za nadzor različic. -B samo ustvari binarni paket. -j in ko vam bo, koliko vzporeden proces zbiranja 🙂

 

Po končanem prejšnjem postopku mora biti nameščen naše nove pakete. Če ste že namestili proof-to je dobro, morate odstraniti

apt remove nginx nginx-*

Също не лоша идея е да си направите бекъп на nginx папката в /etc. По принцип при ъпгрейд от 1.6.5 za 1.10.3 нямах драми но никога не се знае. Новите пактеи се намират в папката от по горно ниво и следва да се инсталират с команда от рода на:

dpkg -i ../*.deb

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