Раздялата не е във думите,
раздялата е в премълчаното,
в страха, че нещо ще изгубиш,
в страха, че вече нищо нямаш.
Раздялата не е във времето,
в което тръгваш ти сама,
в което сбогом ти си вземаш,
раздялата е след това…

Преди няколко дни се навършиха 25 години Linux. Винаги когато чета писмото на Линус изпадам в едно такова силно забавно настроение. Нямам никакво намерение да обяснявам колко е важен Linux и каква роля играе в нашият живот. По скоро се замислих каква роля е изиграл в моят живот. След което изскочиха множество въпроси

  • Ако нямаше linux дали щях да бъда BSD или не дай си боже Windows админ ?
  • Дали щях да бъда администратор въобще
  • Какво щях да работя ако не бях администратор – програмист (опазил ме….)
  • Каква OS щях да използвам
  • Каква техника щях да използвам – телефон компютър – сигурно щях да съм поредният apple fan boy

От доста време не се занимавам с кодене и рядко ми се налага да чопля някакви извръщания в cli които не са UTF8 енкоднати. Днес ми се наложи да прегледам на бързо едни файлове и като го отворих почти веднага изпитах желание да направя rm -rf на папката където се съдържаха, някой малоумен индивид с половин мозъчна клетка е решил да напише коментарите си на кирилица. За щастие не супер адмиралските сили решават това недоразумение на природата с 1 ред в cli:

iconv -f cp1251 -t utf8 old_shitty_encoded_file -o new_good_encoded_file

Мисля че самите флагове говорят сами за себе си но нека да ги прегледаме на бързо:

  • -o outputfile
  • -t to-encoding
  • -t to-encoding

iconv има и друга много приятна екстра че може да транслитерира (където е възможно) като се зададе -t ASCII//TRANSLIT но за съжаление не работи с кирилица 🙂

Днес ми се наложи да пусна един fsck на един голям RAID масив ~6TB. В бързината не стартирах fsck с опция -C за да ми показва прогрес и след скромно чакане от 2 часа леко ми писна, че съм в неведение до къде е стигнала проверката. Готин трик за вече стартиран fsck да визуализира прогрес бар е:

kill -10 $(pidof fsck.ext3)

Изчаквате известно време при мен след около 2-3 мин се появи прогрес бара и показа 49% (кеф) още 3 часа чакане 🙁

Нека да сумаризираме какво правим изпращаме сигнал SIGUSR1 който оказва на fsck да показва прогрес бар. Ако искаме да го спрем по някаква причина 🙄 трябва да изпратим SIGUSR2 или

kill -12 $(pidof fsck.ext3)

Еми това е не е нещо супер сложно или трудно просто готин трик 🙂

Днес сутинрта започнах да си правя стандартния dist upgrade на един Debian сървър и Dovecot умря със следната грешка 🙂

[….] Starting IMAP/POP3 mail server: dovecotError: socket() failed: Address family not supported by protocol
Error: service(pop3-login): listen(::, 110) failed: Address family not supported by protocol
Error: socket() failed: Address family not supported by protocol
Error: service(pop3-login): listen(::, 995) failed: Address family not supported by protocol
Error: socket() failed: Address family not supported by protocol
Error: service(imap-login): listen(::, 143) failed: Address family not supported by protocol
Error: socket() failed: Address family not supported by protocol
Error: service(imap-login): listen(::, 993) failed: Address family not supported by protocol
Fatal: Failed to start listeners
failed!

 

Ако се загледате внимателно в нея грешката вади очите на човек  listen(::, 993) failed очевидно се опитва да слуша на ipv6 адрес който съм забранил 😈 . Решението е също толкова очевдино колкото и самата грешка – трябва да накараме dovecot да работи само на ipv4, което се постига с следният ред в /etc/dovecot/dovecot.conf
listen=0.0.0.0
След което удряме един бърз рестарт на Dovecot и всичко е по реда си и можем да продължим с дистрибутивният ъпгрейд