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.

Mozilla Thunderbird

Идеята е идентична както в поста ми Firefox databases VACUUM and 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.

Један паметан трик да се побољша брзину фирефок бровсер као вакуум склите заснива своју податке. Процес ВАЦУУМ Дропс базу података као она на тај начин дефрагментацију, смањио величину и потражња Убрзава, диск усаге ефикасније и евентуално смањила оптерећење на диску као прочитане у низу сектора мене. Генерално ово се односи на било коју базу података која аутоматски не вакуум / дефраг себе.

Процес дефрагментацијом из базе података Фирефок је прилично тривијалан – извршити склите3 ДБ-фајл ВАЦУУМ профил директоријум фирефок. У линук пут до њега је обично ~ / .мозилла / Фирефок / Рандом-наме.дефаулт. У принципу, требало би само 1 ваш директоријум у .мозилла / фирефок ако имате више можете проверити ~ / .мозилла / Фирефок / профилес.ини на одговарајући директоријум је профил вашег бровсера. Тъй като не ми се занимава да извършвам процеса на ръка разписах елементарен скрипт с който да дефрагментирам базите данни:

for db in $(find ~/.mozilla/firefox/$(grep Path ~/.mozilla/firefox/profiles.ini | cut -d'=' -f2) -maxdepth 1 -name "*.sqlite" -type f)
do
   echo "VACUUM ${db}"
   sqlite3 ${db} VACUUM
   sqlite3 ${db} REINDEX
done

След изпълняване на скрипта търсенето в history-то и самото зареждане на лисика е чувствително по бързо. Скрипта предполагам че с малки модификации може да се ползва и в Mac OS.

p.s Ето варианта и за Mac OS Xтестван на Mac OS X Sierra. Налага се да форсираме делимитъра да е нов ред заради space в пътя до папката в която се съдържа профила на firefox

OIFS="$IFS"
IFS=$'\n'
for db in $(find ~/Library/Application\ Support/Firefox/$(grep Path ~/Library/Application\ Support/Firefox/profiles.ini | cut -d'=' -f2)  -maxdepth 1  -name "*.sqlite" -type f)
do
echo "VACUUM && REINDEX ${db}"
sqlite3 "${db}" VACUUM;
sqlite3 "${db}" REINDEX;
done

сертификација у ипв6.хе.нет имају дневне тестова које дају 1 додатни поен након прошао све тестове главне. Мора бити 100 такав тест за максималне резултате 😐 . Сами тестови су потпуно тривијално

  • трацероуте
  • ВИ АААА
  • ДИГ ПТР
  • пинг
  • Ко је

Највише непријатно је да сам тестирање мора бити јединствена, тј не можете да користите домен два пута 🙂 између осталог су мало досадан 🙄 – ни један изазов само шлаг 5 ЦЛИ-команде у њој и цопи / пасте резултат у свом сајту.

Као лењ и администратор који воли да чини живот лакшим написа брзо један једноставан Басх-то обави прљави посао за мене

#!/bin/bash

hr() {
  local start=$'\e(0' end=$'\e(B' line='qqqqqqqqqqqqqqqq'
  local cols=${COLUMNS:-$(tput cols)}
  while ((${#line} < cols)); do line+="$line"; done
  printf '%s%s%s\n' "$start" "${line:0:cols}" "$end"
}

if [ -z $1 ]
then
  echo "Append domain afert the script name!!!"
  exit
fi

IP=$(dig $1 AAAA +short)

if [ -z ${IP} ]
then
  echo "$1 dont have valid IPv6 record"
else
  reset
  traceroute6 $1
  hr
  dig $1 AAAA
  hr
  dig -x ${IP}
  hr
  ping6 -c3 ${IP}
  hr 
  whois ${IP}
fi

Као што се може видети сценарио је лудо једноставан. Пошаљи домен онда потврђује да ли ИПв6 уноса и ако се ради дневне тестове за њу. Већина најбоља део – функција ХР који исписује линија преко ширине екрана је преузет из басх хакери.

Једна од ствари која ме највише нервира много је када ЦЛИ цопи / преместите велике директоријуме Немам појма шта проценат од укупног износа сам сишао. На жалост цп / МВ имају сличне надлежности и да се прибегавају алтернативама. Постоји много могућности, али мене лично као Волим користећи рсинц уместо пц / МВ. је све то изградио – задржавање права над фајловима и директоријумима, прогрес бар и способност за брисање копиране датотеке.

У суштини сам 2 alias-а които вършат повече от чудна работа:

alias cpi='rsync -a --info=progress2'
alias mvi='rsync -a --info=progress2 --remove-source-files'