W Linuxach jest ciekawie i różnorodnie… dzięki temu się nie nudzimy. Jeśli chcesz doinstalowywać do swojej instlacji Pythona dodatkowe pakiety, to miło byłoby mieć pip (podobno jego nazwę należy rekurencyjnie rozwinąć do pip installs python) Co jeśli pip nie jest zainstalowany? Zakładam, że mamy na systemie Pythona 3. W takim przypadku zaczynamy od instalacji pakietu […]
Archiwum za miesiąc 2022-03
Python/Linux: Instalalacja pip / pip3
Ansible: Włączenie firewalla ufw w kilku krokach
A czemu by nie? Czemu by nie zadbać o potwierdzony i ciągle wymuszany stan firewalla na swoich serwerach? Nim jednak włączymy ufw, upewnijmy się, że firewall będzie akceptował połączenia na port 22 SSH. W tym przypadku zezwalamy tez na połączenie na port 80. Dopiero ostatni krok, to rzeczywiste włączenie firewalla:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
- name: Add role for OpenSSH community.general.ufw: rule: allow port: 22 proto: tcp - name: Create firewall exception for WWW community.general.ufw: rule: allow port: 80 proto: tcp #delete: yes - name: Activate UFW community.general.ufw: state: enabled |
Jeśli z kolei chcielibyśmy […]
Ansible: instalacja pakietu
Definiując w playbooku instalację pakietu przez ansible można to zrobić na RedHat, Centos, Fedora o tak:
1 2 3 4 5 |
tasks: - name: install nginx yum: name: vsftpd state: present |
no ale, jeśli masz Ubuntu, to należałoby użyć apt:
1 2 3 4 5 |
tasks: - name: install vsftpd apt: name: nginx state: present |
Co kraj to obyczaj, co edycja to inna instalacja… ale można również skorzystać z modułu packages – jedna uniwersalna metoda:
1 2 3 4 5 |
tasks: - name: Install nginx package: name: nginx state: present |
Linux: Krótki przewodnik instalacji nginx i ufw firewall
nginx na dobre wyparł już ze świata Linuxa starego poczciwego httpd/Apache (zdanie z przymróżeniem oka). Oto krótki przewodnik instalacji nginx na Ubuntu Zaczynamy od instalacji samego pakietu:
1 2 |
sudo apt update sudo apt install nginx |
Podczas instalacji pakietu dzieje się jedna fajna rzecz. Nginx dodaje reguły aplikacyjne do firewalla ufw. Można je wylistować korzystając z:
1 |
sudo ufw app list |
Są trzy domyślne zestawy: HTTP, HTTPS […]
PostgreSQL: Sequences – co to jest i jak ich używać?
Jest wiele sytuacji, w których w bazie danych trzeba zapisać unikalne informacje, oznaczone unikalnym identyfikatorem. Tak jest zresztą nie tylko w bazach danych. Idziesz do urzędu, a na wejściu musisz pobrać numerek, dzięki czemu od razu jesteś zakolejkowany 🙂 Obiektem, który w bazie danych generuje kolejne wartości jest tzw. SEQUENCE. Bardzo podstawowa definicja sequence może […]
PostgreSQL: Liczba rekordów w każdej tabeli
Jeden z ostatnich kroków migracji danych, to sprawdzenie, czy migracja „niczego nie zgubiła”. Potencjalnie można się np. spodziewać, że tuż po zakończeniu migracji, jakiś zbłąkany użytkownik dopisał swoje rekordy do źródłowej bazy danych, a my tego rekordu nie przenieśliśmy. Jeden z „topornych” sposobów sprawdzenia, czy żaden rekord nie zostanie utracony, jest po prostu policzenie rekordów […]
PostgreSQL: Wykrywanie tabel bez primary key i dodawanie primary key
Niektóre mechanizmy PostgreSQL, jak np. replikacja logiczna wymagają, aby tabele posiadały primary key. Dlatego przyda się wiedzieć, czy baza danych spełnia wymogi dla replikacji logicznej. Oto polecenie, które wyświetli informację o tabelach bez primary key:
1 2 3 4 5 6 7 8 9 10 11 |
select tab.table_schema, tab.table_name from information_schema.tables tab left join information_schema.table_constraints tco on tab.table_schema = tco.table_schema and tab.table_name = tco.table_name and tco.constraint_type = 'PRIMARY KEY' where tab.table_type = 'BASE TABLE' and tab.table_schema not in ('pg_catalog', 'information_schema') and tco.constraint_name is null order by table_schema, table_name; |
I co jeśli takie tabele się znajdą? Ogólnie masz kłopot, ale w najlepszym przypadku, znajdzie się w tabelach kolumna, […]