DN42 on loistava projekti, joka antaa sinulle mahdollisuuden kehittää BGP taitoja rikkomatta tuoteympäristö, ilman, että tarvitsisi kalliita laitteita laboratorion tekemiseksi simulaatioiden tekemiseksi GNS3: lla. Samanaikaisesti sen ei pitäisi olla puhtaasti laboratorioympäristöä, jossa ei ole todellisen maailman ongelmia. Olen mukana 1 solmu projektissa noin vuoden ajan. Yksi projektin ongelmista on 1:1 todellisen maailman kanssa – kun joku ilmoittaa etuliitteet, joita heidän ei pitäisi ilmoittaa. Koska olen laiska ja en kirjoita suodattimia käsin koko ajan, Ratkaisin ongelman elementaalilla bash-skriptilla, joka luo etuliite-nimisen dn42 ja kaataa siihen kelvolliset etuliitteet.

#!/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

Voimassa olevien etuliitteiden luettelo otetaan https://ca.dn42.us/reg/filter.txt mistä pääputki + muutama muutos omalta puolelta, jotta voin luoda etuliitteitä. Komennot suoritetaan vtyshin kautta.

Neljäntenä peräkkäisenä vuonna järjestetään ilmainen ohjelmisto- ja laitteistokonferenssi Smokki. Henkilökohtaisesti minulle tämä on tehokkain Plovdiv konferenssi, joka pidetään, Koska se ei ole suunnattu vain kehittäjille, Ja kohderyhmä on paljon suurempi ja yleisö on hyvin värikäs. Jos muisti palvelee minua, en usko., Olen jäänyt painos toistaiseksi. Tämän vuoden painos on erityisesti minulle, Koska minulla on esitys. Aion puhua. kävi koulua dnsdist ja onko siitä hyötyä infrastruktuurillesi. Aihe aion puhua valitsin sen itse. Tunsin tarvetta näyttää se maailmalle, Koska se on suhteellisen nuori, Ja toistaiseksi olen tuskin löytänyt mitään siitä, että en pidä. En muista, kun se oli viimeinen kerta, kun tein vaikutuksen niin paljon uutta ja samalla toimivat poikkeuksellisen hyvin.

Kuten tiedät CentOS: n 5 eol (Elämän loppu) 31. maaliskuuta alkaen 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.
&amp;amp;amp;amp;nbsp;Eg. Invalid release/
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
&amp;amp;amp;amp;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 ne ovat jo kadonneet ja kun yritämme ottaa sisältöä suoraan, saamme seuraavan kieltäytymisen:

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

В общи линии като цяло най разумната идея е да преинсталирате тенекията с някоя нормална дистрибуция, която поддържа работещ дистрибутивен ъпгрейд. Valitettavasti näin ei ole minussa, ja tämä ei ole lainkaan vaihtoehto. Joten meidän piti pelata vähän mustalaisohjelmaa – alamme käyttää Holvin peili. Tunnen täysin selkeän olennon ja terveen järjen hetken, че няма да получа, каквито и да било ъпдейти което не е цел на упражнението, а искаме просто да има работещ yum с, който да инсталирам пакет, който ми е необходим. За целта за коментираме всички mirrorlist променливи и добавяме baseurl в /etc/yum.repos.d/CentOS-Base.repo. Накрая получаваме yum repo от вида на

[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&amp;amp;amp;amp;arch=$basearch&amp;amp;amp;amp;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&amp;amp;amp;amp;arch=$basearch&amp;amp;amp;amp;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&amp;amp;amp;amp;arch=$basearch&amp;amp;amp;amp;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

Lopuksi pelaamme yum clean all && yum päivitys. Jos kaikki loppuu saamatta virhettä, olemme onnistuneesti suorittaneet järjestelmän ja voimme asentaa vanhentuneet paketit turvallisesti.

Mozilla Thunderbird

Idea on identtinen viestini kanssa Firefox-tietokannat VACUUM ja REINDEX. Debian on menettänyt jo jonkin aikaa Mozilla-tuotteiden uudelleensijoitetut versiot. Kun muutin Icedowesta Thunderbirdiin, ajattelin sitä, että en ole eheyttänyt tietokantaani, ja toistaiseksi vakava määrä kirjeitä on vuotanut sähköpostiohjelmani kautta, sähköpostitilit ja palvelimet, käyttäjät ja salasanat. Komentosarja on identtinen edellisen viestini kanssa, mutta tiedostomuotoa on vähän muutettu 🙂

Linux-versio

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 -versio

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

Toisin kuin Firefoxin profiilikansio, Thunderbird's on aika hyvä tapa (ilman tilaa) eikä erotinta erottajaan vaadita.

Siitä lähtien google on alkanut rakastaa https-sivustoja, SSL: ien massamääräinen asennus vaaditaan mahdollisuuksien mukaan. Yleensä palvelimien häirinnän lisäksi myös nopeus heikkenee. Se on hyvä, että HTTP2 standardi on integroitu kaikkiin tärkeimpiin http-palvelimiin ja selaimiin yli puolitoista vuotta ja sen tuki on riittävän vakaa. Valitettavasti debian vakaalla ei ole HTTP2: ta tukevia paketteja pääasiallisissa http-palvelimissa. Tarvitsemme seuraavat versiot, jotta HTTP2 voi toimia::

Minulle sekoitus on iso ja riippuu apachesta tai nginxistä. En ole vielä pelannut debianin apacea http2 8 kuten minun ei tarvinnut, mutta takaporteissa repo on sellainen, se ei ole iso juttu. Sillä nginx on soittanut sitä jo useita kertoja. Vaiheet ovat yleensä useita ja suhteellisen yksinkertaisia:

  1. Lisäämme nginx-virallisen repon – Debian-versiossa versio on 1.6.x 🙄
  2. Openssl: n asentaminen takaisinporteista on tällä hetkellä 1.0.2k – tätä me tarvitsemme Kävi koulua ALPN ylläpito, jotta kaikki voi toimia ja olla nopea
  3. me asennamme devscriptit – Tässä on hetki jakaa, että rakennamme paketin, koska virallinen paketti on käännetty openssl 1.0.1t: lle, jossa ALPN ei toimi ja selaimet eivät vastaa hyvin ja http2 toimii vain, jos pakotat sen
  4. lisäämme versiota, jotta mustalaisia ​​ei pidetä pakettien kanssa ja kun on uusi versio, vain lähteiden synkronointiin

Aloitetaan askel askeleelta

Lisää nginx-repo

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

Lisäämällä openssl 1.0.2k ja dev-kirjasto, muuten rakennamme sen uudelleen 1.0.1t: llä, mikä ei ole tavoitteemme

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

 

Nyt on vielä lisättävä kirjastoja, joita tarvitaan nginx: n kääntämiseen

apt install devscripts

apt build-dep nginx

mkdir nginx-build

cd nginx-build

apt-get source nginx

Jos olet toiminut oikein, sinulla on oltava rakenne kuten

~/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 изпълнявате команда с която инкрементирате версията, Pidän henkilökohtaisesti mieluummin lisäämistä 1 nykyiseen rakennukseen

debchange --newversion 1.10.3-1

Kun olet lisännyt valitsemasi muutoslokin, voit jatkaa todelliseen kokoamiseen

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

Pieni selitys komentojen kokoonpanosta:

-meille -uc käske käsikirjoituksen olla “merkkejä” .dsc- ja .changes-tiedostot. -minä ja -minä saa skripti jättämään versionhallintotiedostot huomiotta. -B vain binaaripaketin luomiseksi. -j kuten tekemällä kuinka monta rinnakkaista prosessia käännetään 🙂

 

Kun yllä oleva prosessi on valmis, meidän pitäisi asentaa uudet paketit. Jos nginx on jo asennettuna, on hyvä idea poistaa se

apt remove nginx nginx-*

On myös hyvä idea varmuuskopioida nginx-kansio hakemistoon / etc. Pohjimmiltaan päivitettäessä 1.6.5 että 1.10.3 Minulla ei ollut draamoja, mutta et koskaan tiedä. Uudet pakkaukset sijaitsevat ylimmän tason kansiossa, ja ne tulisi asentaa esimerkiksi komennolla:

dpkg -i ../*.deb

Jos kaikki sujui sujuvasti, sinun on vain suoritettava nginx-prosessi ja määritettävä http2, mikä ei ole enää tämän artikkelin tavoite..