Kiedy użycie ln -s nie jest możliwe, np zasoby webdav

Jaki czas temu próbując dodać nowy zasób webdav, który musiał być linkiem, webdav odmawiał posłuszeństwa. Twierdził, że katalog nie może być linkiem a link twardy nie działa z folderami. Jednak istnieje ominięcie tego problemu:

Jeżeli zamontujesz system plików z przełącznikiem --bind, tworzony jest dodatkowy punkt zamontowania urządzenia/systemu plików. To rozwiązuje problem nie działającego ln -s bez potrzeby tworzenia nowych struktur katalogowych.

Facebooktwittergoogle_plusreddit

MySQL zamiana tekstu

Od czasu do czasu potrzebujemy zmienić jakiś tekst w bazie danych. Jest to trywialne jeżeli tekst znajduje się w pojedynczej kolumnie. Wtedy można użyć np. mysql cli:

Problem jednak pojawia się kiedy tekst jest w więcej niż jednej tabeli lub gdy nie wiemy gdzie się znajduje. Wtedy można użyć sztuczki polegającej na zrzuceniu bazy do pliku, podmianie tekstu w pliku i zaimportowaniu go do bazy:

Facebooktwittergoogle_plusreddit

Kopia/duplikat bazy mysql

Kiedy potrzebujemy działającej kopi bazy by np. uruchomić kopię wordpressa należy wykonać kilka czynności:

Następnie, utwórzmy kopię oryginalnej bazy do pliku:

Komenda ta zrzuci całą bazę database_to_copy do pojedynczego pliku db-copy.sql. Następnie musimy zaimportować ten zrzut do nowo utworzonej bazy db_copy.

Facebooktwittergoogle_plusreddit

Instalacja PIP na Linuxie

Można by pomyśleć, żę wystarczy zainstalować Pythona używając naszego ulubionego menagera pakietów, nic bardziej mylnego. Ale jesteśmy już prawie u celu.

Facebooktwittergoogle_plusreddit

Debagowanie stref bind-a i jego pliku konfiguracyjnego

Podczas ręcznego zarządania strefami i samym bind-em zdarzyć się może, żę omsknie się palec i zrobimy tak zwane typo. Nic strasznego, zacznijmy od podstaw:

Pierwsza komenda sprawdza plik konfiguracyjny named.conf, druga sprawdza czy domena jest poprawnie skonfigurana w danej strefie. Trzecia i ostatnia powie nam co bind-owi się nie podoba i dla czego nie chce się uruchomić.

Typową pomyłką jest ręczna edycja i przeładowanie strefy podpisanej kluczem prywatnym. Bardzo prosty fix na ten problem

Facebooktwittergoogle_plusreddit

Nagios – konfiguracja sieci/urządzeń

Jeżeli nie posiadasz działającej instalacji Nagiosa możesz skorzystać z Nagios – Instalacja na Debian 9

Dodajmy strukturę katalogów dzięki, której łatwiej będzie nam zarządzać plikami z konfiguracją:

Nie wszyscy mamy możliwość korzystania z ‚inteligentnych’ urządzeń sieciowych – życie to nie bajka 🙂

Oto przykładowy plik z konfiguracją dla takiego urządzenia:

Możemy stworzyć kilka switchy za pomocą poniższej definicji:

Wspólne zmienne dla danego typu urządzeń można wkładać do jednego worka, którym jest szablon, a następnie korzystać z niego przy definicji poszczególnych urządzeń, tak jak zrobiliśmy to powyżej.

Najczęstsze typy szablonów to : linux-server (wiele więcej można zobaczyć w tym pliku /usr/local/nagios/etc/objects/templates.cfg )

Po dodaniu nowych plików .cfg pamiętaj by nadać im uprawnienia użytkownika nagios tak, by nagios był w stanie przeczytać ich zawartość. Potem wystarczy zrestartowanie nagiosa.Facebooktwittergoogle_plusreddit

Dlaczego przechodzę z Baikal na Radicale (CalDav i CardDav)

Saber/Dav jest głównym komponentem projektu Baikal, aktualnie poszukiwana jest osoba, która zostanie opiekunem projektu (cała historia po angielsku)

Jakiś czas temu przeniosłem moje zasoby z Kalendarza Googla na rzecz otwarto źródłowych, hostowanych przezemnie rozwiązań.

Nigdy nie dostrzegłem problemów związanych z dostępnością – może moje potrzeby były wystarczająco małe 🙂

W żadnym stopniu nie obwieszczam, że Baikal umarł – jeżeli interesuje Ciebie Baikal może przeczytać poprzednie posty o nim (installacja, aktualizacja)

Jeżeli chodzi o mnie, jedyny problem jaki miałem z Baikal-em była bardo problematyczna konfiguracja dzielenia się kalendarzami. Jest to możliwe ale bardzo problematyczne i nazwijmy sobie to po imieniu „brzydkie”. Oczywiście zapowiedziano opcję współdzielenia kalendarzy, która miała być dodana po wielkim przepisywaniu kodu do php7.0+silex, ale zabrakło ludzi, opiekuna, czasu… Na szczęście w między czasie znalazłem Radicale, nie posiada on współdzielenia, które można przeklikać przez stronę www, ale posiada bardzo WIELKĄ zaletą, którą są współdzielone strefy (sharing zones), uprawnienia użytkowników (user rights) dzięki czemu jedną prostą komendą byłem w stanie współdzielić jeden kalendarz między wieloma użytkownikami.

Żadne z rozwiązań (Baikal czy też Radicale) nie wpierało narzędzi migracyjnych. Jednak nic nie stało na przeszkodzi by zapisać stary kalendarz lokalnie i zaimportować go w nowym kalendarzu.Facebooktwittergoogle_plusreddit

MySQL row size too large (>8126)

Błąd ten z reguły związany jest z źle zaprojektowaną tabelą. Tabelą, która używa wiele pól przechowujących tekst. Najlepszym rozwiązaniem byłoby przeprojektowanie tabeli, niestety czasem taka opcja nie wchodzi w grę i trzeba ratować co się da:

Rozwiązaniem, które z reguły przynosi najlepszy rezultat jest:

 Facebooktwittergoogle_plusreddit

Wypakowanie wybranego pliku z archiwum tar.gz

Na marginesie, komenda ta nie jest super szybka jeżeli pracujemy na dużych archiwach.Facebooktwittergoogle_plusreddit