2021-12-26
No właśnie, czy Linux jest prosty? Podejrzewam, że operacja wyrostka robaczkowego jest prosta, ale tylko dla doświadczonego chirurga. Jeśli bierzesz się za cos po raz pierwszy, to będzie trudno. Spróbuję tu opisać kilka rzeczy, które powinne być proste, a tymczasem… oceń sam/a
Poniższy opis nie jest manualem na temat tego jak w Ubuntu Desktop włączyć tryb hibernacji po zamknięciu klapki laptopa, to po prostu zbiór czynności, które wykonałem u siebie, żeby to wszystko razem w końcu zadziałało, bo na początku nie chciało.
Hibernacja w Linuxie wykorzystuje swap-a. Zgodnie z najnowszymi zaleceniami, jeśli komputer dysponuje dużą ilością pamięci, to swap może być mały. BŁĄÐ. Jeśli chcesz skorzystać z hibernacji, to swap musi pomieścić całą pamięć RAM, więc musi być duży. Na moim systemie mam 8 GB RAM, domyślny swap miał rozmiar 2GB, więc zmieniłem konfigurację na wykorzystanie 10 GB na swap.
Mam również wrażenie, że ów swap nie może być plikiem swap znajdującym się gdzieś w systemie plików, tylko że powinna to być osobna partycja.
Wyłączenie swap-a w pliku:
sudo swapon --all
pokazuje, jaki swap aktualnie jest dostępny (u mnie 2 GB). Jeśli chcesz sprawdzić jaka część swapa jest wykorzystywana obecnie na systemie, to użyj
grep -i swap /proc/meminfo
i życzę wyniku wskazującego, że swap nie jest używany Czytaj dalej »
2021-12-13
Dobrym zwyczajem jest zmieniać hasło od czasu do czasu. Dlatego administratorzy wymuszają na użytkownikach regularne zmiany, np co 30 lub 90 dni. A co jeśli się wybierasz na dłuższy urlop i zastanawiasz sie, czy po powrocie uda ci się zalogować? Wystarczy sprawdzić, kiedy hasło ma wygasnąć:
Jeśli trzeba sprawdzić hasło użytkownika domenowego uruchom polecenie
net user <nazwa_uzytkownika> /domain
jeśli mowa jest o użytkowniku lokalnym wystarczy pominąć opcję /domain:
net user <nazwa_uzytkownika> /domain
W wyniku odszukaj „Password expires”:
...
Password last set 18-10-21 07:57:50
Password expires 18-11-21 07:57:50
Password changeable 19-10-21 07:57:50
Password required Yes
User may change password Yes
...
Last logon 26-07-21 08:35:28
...
2021-12-12
Zainteresowanym polecam udział w przyszłych edycjach konferencji PostgreSQL Build. Ostatnia w jakiej uczestniczyłem to europejska edycja 2021.
https://www.postgresbuild.com/agenda
Jak to na konferencjach bywa, było poruszanych mnóstwo tematów. 2 dni pełne wykładów podzielonych na kilka równoległych ścieżek. Organizatorzy przyjęli koncepcję nagrywania sesji wcześniej i odtwarzania ich w trakcie konferencji. Wielką zaletą konferencji jest to, że po każdej sesji wykładowej odbywała się sesja Q&A, gdzie było można na żywo zadawać do prowadzących pytania. Pomysł nagrywania sesji wcześniej daje też to, że demonstracje są udane. Może trochę brakuje „dreszczyku emocji”, kiedy prowadzący demonstrację musi na bieżąco rozwiązywać problemy, ale… co tam – fajnie, że w konferencji można uczestniczyć z domu i fajnie, że można zadawać pytania do samodzielnie wybranych sesji.
Jedna z sesji spodobała mi się szczególnie. Pełna dynamiki, humoru, pytań i odpowiedzi sesja Haki Benita pod tytułem „Mniej znane funkcjonalności PostgreSQL” (Lesser Known PostgreSQL Features). Zobacz zresztą bloga autora – ile kreatywności wymaga rozwiązanie konkretnych problemów i … koniec końców, jak proste te rozwiązania są:
https://hakibenita.com/postgresql-unknown-features
2021-12-08
Skoro już masz Linuxa i skoro ten Linux ma świadczyć w sieci jakieś usługi, to może warto byłoby przypisać mu stały adres IP? Oto, jak to zrobić:
Ustal aktualną adresację sieci
Twój system teraz już pracuje w jakieś sieci, pewnie dostaje adres IP przez DHCP. Jeśli ta sieć jest zarządzana przez administratora, który sam decyduje o adresacji, to zatrzymaj się ze swoją zmianą i skontaktuj się z administratorem. Zazwyczaj admini określają jakie adresy IP są rozdzielane przez serwer DHCP, a jakie można sobie ukraść i przypisać ręcznie do swojego komputera. Tutaj jednak, tym problemem się nie przejmuję, ale Ty musisz.
Poleceniem
ip addres
można wyświetlić informację o aktualnie przypisanym adresie IP
W wyświetlonym wyniku powinno się udać odnaleźć aktualnie wykorzystywany adres IP:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:15:5d:01:0b:05 brd ff:ff:ff:ff:ff:ff
inet 192.168.137.220/24 brd 192.168.137.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::8adb:ccf3:d4ed:4331/64 scope link noprefixroute
valid_lft forever preferred_lft forever
Tutaj jest to 192.168.137.220. Dodatkowy zapis /24 określa maskę sieci. W tym przypadku początkowy adres 192.168.137.0 to adres sieci, maską jest 255.255.255.0 a sam komputer otrzymał 192.168.137.220. Twój admin może np. powiedzieć, że możesz używać adresu 192.168.137.100, cała reszta, czyli sieć i maska sieci pozostaną prawdopodobnie takie same.
Warto też znać adres gateway, przez który odbywa się komunikacja z całą siecią zewnętrzną, w tym z Internetem. Wyświetlisz go poleceniem
ip route
U mnie wynik wygląda tak:
default via 192.168.137.1 dev eth0 proto static metric 100
192.168.137.0/24 dev eth0 proto kernel scope link src 192.168.137.100 metric 100
Gateway to adres wskazywany w pierwszej linijce czyli 192.168.137.1
Co się jeszcze może przydać to adres DNS. Często jest to ten sam adres, co gateway, ale żeby uzyskać pewność, należałoby zajrzeć do pliku /etc/resolv.conf. Jeśli adresu nie znamy, to pomijając pewne zagrożenia security można zaryzykować używanie adresu serwera Google: 8.8.8.8
Mając te informacje możemy przejść do zmian: Czytaj dalej »
2021-12-07
Kiedy chcesz automatyzować instalację PostgreSQL w Azure przyda się zestaw poleceń dostępny w module Az.PostgreSql. Niestety nie jest on domyślnie instalowany nawet w Cloud Shell.
Komenda do instalacji:
Install-Module -Name Az.PostgreSql
Po instalacji warto sprawdzić czy i w jakiej wersji ten moduł jest dostępny:
Getl-Module -Name Az.PostgreSql
ModuleType Version PreRelease Name ExportedCommands
---------- ------- ---------- ---- ----------------
Script 0.8.0 Az.PostgreSql {Get-AzPostgreSqlConfiguration, Get-AzPostgreSqlConnectionString, Get-AzPostgreSqlFirewallRule, Get-AzPostgreSqlFlexibleServer…}
Teraz widać, że moduł jest i ma mnóstwo fajnych komend. Ich dokładniejszy opis jest np. tu:
https://docs.microsoft.com/en-us/powershell/module/az.postgresql/?view=azps-6.6.0
Natomiast sama dokumentacja modułu jest tu:
https://www.powershellgallery.com/packages/Az.PostgreSql
2021-11-28
Nie kazda tworzona w Azure usluga powinna byc widoczna publicznie w internecie. Co zrobic, jesli do takiej maszyny chcesz sie jednak zalogowac z zewnatrz swojej sieci? Usluga Bastion moze w tym pomoc. Bastion pozwala na podlaczenie sie do maszyny zdalnej pulpitem lub ssh poprzez przegladarke
Wymagania
– VLAN – pewnie juz masz
– VM podpiety do VLAN – tez pewnie juz masz
– Odpowiednie uprawnienia i otwarty port do VM – z tym moze byc roznie, ale jesli to Twoje zabawki, to tez je masz
Instrukcje
– do sieci wirtulanej dodaj podsiec o nazwie AzureBastionSubnet. Ta siec musi miec maske /26 lub mniejsza. Domyslnie Azure proponuje /24 – tez jest ok
– dodaj obiekt Bastion. Nazwij go jak chcesz, okresl jego wlasciwosci jak chcesz, ale dwie rzeczy sa wazne: Nalezy wybrac ten sam region, wtedy w liscie prezentujacej sieci wirtualne pokaze sie twoja siec, a w liscie podsieci utworzona w poprzednim kroku podsiec
– prawie gotowe! Przejdz do maszyny wirtualnej, do sekcji Bastion i tam… wypelnij dane dotyczace polaczenia do tej maszyny – kliknij connect i gotowe!
Potencjalne problemy:
– na liscie nie ma vnet, w ktorym chcesz utworzyc Bastion – sprawdz, czy bastion jest tworzony w tym samym regionie, co VLAN
– pojawia sie komunikat o braku podsieci AzureBastionSubnet – no to upewnij sie czy ona jest, czy ma dobra nazwe i maske podsieci
https://docs.microsoft.com/en-us/azure/bastion/tutorial-create-host-portal
2021-11-27
Nie kazdy serwer musi pelnic role serwera. Zdarzaja sie maszyny, ktore pracuja po prostu jako klient. W przypadku postgresql wymagane bedzie wtedy zainstalowanie narzedzi klienckich.
Swietnie sie zapowiadajace polcenie:
sudo apt install postgresql-client-common
moze jednak sprawic niespodzianke. Po probie polaczenia mozna otrzymac blad:
Error: You must install at least one postgresql-client-<version> package
O co chodzi? Ten pakiet zawiera tylko linki do innych juz wczesniej zainstalowanych binariow. Pewnie fajnie sie sprawdzi, jesli na danym serwerze bylo by zainstalowanych kilka clustrow postgresql, a ty pracujac z nimi preferujesz wybrac tylko jedna wersje klienta. Ale my na poczatku zalozylismy, ze system jest „goly” – nie ma na nim postgresql server. Co zrobic? Trzeba samodzielnie zdecydowac sie na wersje, ktora bedzie wykorzystywana i uruchomic np.:
sudo apt -y install postgresql-client-12
Teraz mozna juz bedzie polaczyc sie do postgresql:
psql "host=**** port=5432 dbname=postgres user=**** password='****' sslmode=require"
https://stackoverflow.com/questions/28290488/get-error-you-must-install-at-least-one-postgresql-client-version-package-whe