DN42 выдатны праект, які дазволіць вам развіць свае навыкі без BGP-дэструктыўнай асяроддзя прадукту, без неабходнасці мець дарагое абсталяванне, з дапамогай якога зрабіць лабараторыю, каб зрабіць мадэляванне з GNS3. Пакуль не чыста лабараторных умовах, дзе няма рэальных праблем. ўдзельнічаць з 1 вузел праекта на працягу года. Адна з праблем у праекце 1:1 з рэальным светам – калі хто-то абвясціў прэфіксы не абвешчаныя. Таму што я лянівы, і я не рукапісныя фільтры яшчэ раз, Вырашыце праблемы з простай Баш скрыпт, які я генераваць прэфіксаў спіс імёнаў 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

Спіс даступных prediksi ўзяць HTTPS://ca.dn42.us/reg/filter.txt, дзе галоўны канвеер + невялікія мадыфікацыі з майго боку, каб мець магчымасць генерыраваць спіс прэфіксаў. Каманды выконваюцца ў vtysh.

Ужо чацвёрты год запар пройдзе канферэнцыя на тэму вольнага праграмнага забеспячэння і апаратных сродкаў 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

Нарэшце гуляць ні чыстае ўсе && абнаўленне ня. Калі ўсё скончылася без памылкі, то мы паспяхова завяршылі схему, і мы можам з упэўненасцю ўсталяваць састарэлыя пакеты.

 

Мозилла Тандерберд

Ідэя ідэнтычная як у маім становішчы Firefox базы дадзеных Вакуум і REINDEX. На працягу некаторага часу штурхаючы rebradinranite Debian версіі прадуктаў Mozilla,. Пасля міграцыі з Icedowe ў Thunderbird думаў, Я не дэфрагментаваць базу дадзеных, і да гэтага часу з дапамогай паштовага кліента я прайшоў сур'ёзнае колькасць лістоў, уліковых запісаў электроннай пошты і сервераў, Карыстальнікі і паролі. Сцэнар ідэнтычная маёй папярэдняй пасадзе толькі з невялікімі зменамі для таго, дзе шукаць файлы 🙂

версія для 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 з'яўляецца даволі правільны шлях (без прасторы) і не трэба рабіць змены delimiter.

Паколькі Google пачаў кахаць HTTPS сайтаў, больш неабходна разгортванне SSL-і дзе вы. У цэлым больш, чым дамаганняў для сервераў і маюць пагаршэнне хуткасці. Добрая навіна заключаецца ў тым, што http2 стандарт на працягу больш за паўтары гады інтэграваная ва ўсіх асноўных сервераў HTTP і браўзэраў і падтрыманне досыць стабільнай. На жаль Debian стабільнай няма пакетаў для падтрымання http2 ў асноўных сервераў HTTP. Версіі, якія мы павінны працаваць http2 наступным чынам:

Для мяне мешаніна вялікі і па залежыць карыстаецца Апач або Nginx. Я яшчэ не гуляў у іх запуску апача http2 з Debian 8 бо ён не меў, але Backports РЭПО бок гэта так, гэта не будзе вялікай праблемай. Для Nginx мы ўжо гулялі некалькі разоў. У цэлым крокі мала і адносна просты:

  1. Дадаць Nginx афіцыйны рэпазітар – на старонках Debian выданне, калі ласка 1.6.h з'яўляецца 🙄
  2. Усталюйце ваш OpenSSL з Backports ў цяперашні час 1.0.2k – што нам трэба ALPN парадак тэхнічнага абслугоўвання, каб усё працавала і barzichko
  3. Ўстаноўка абсталявання devscripts – Цяпер настаў час, каб падзяліцца, што будзе bildnem наш пакет, таму што чыноўнік быў сабраны з OpenSSL 1.0.1t, які не працуе ALPN і браўзэры не адказалі добра і працаваць http2 толькі калі ён вымушаны
  4. павялічваецца версія не трымаюць цыганак з пакетамі і ў якасці новай версіі толькі крыніцай для sinkenm

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

Дадаць Nginx РЭПО

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

Дадаць OpenSSL 1.0.2k і бібліятэка Паннаў у адваротным выпадку мы будзем bildnem зноў 1.0.1t нашы мэты не ўваходзіць

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

Увайсці ў папта у якой карыстальнікам код nginx ў маім выпадку гэта і nginx-1.10.3 выканаць каманду з якой инкрементирате версія, Я асабіста аддаю перавагу, каб дадаць 1 каб пабудаваць гэта

debchange --newversion 1.10.3-1

Пасля дадання змяненняў, і неабавязкова, каб перайсці да фактычнай кампіляцыі

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

Невялікае тлумачэнне па камандзе канфігурацыі:

-мы -uc сказаць, сцэнарый не “падпісаны” .ДСК і .changes файлы. і выклікаць скрыпт, каб ігнараваць файлы кіравання версіямі. генераваць толькі двайковы пакет. -J як і ў тым, як зрабіць паралельны працэс кампіляцыі 🙂

 

Пасля вышэйапісанага працэсу, каб усталяваць нашы новыя пакеты. Калі вы ўжо ўсталявалі Nginx лепш выдаліць

apt remove nginx nginx-*

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

dpkg -i ../*.deb

Калі ўсё прайшло гладка, вам застаецца толькі запусціць nginx працэс, і каб яго наладзіць http2 што ўжо не з'яўляецца мэтай гэтага артыкула.