Dowiązania, i-węzły itp

System plików Linuksa (ext2 i jego nowsza wersja ext3 oraz ext4) ma budowę bardziej podobną do sieci niż korzenia drzewa.
Podstawowym pojęciem są tzw i-węzły (inodes). Są to struktury systemowe przechowujące informacje na temat plików
i katalogów przechowywanych na dysku. W nim są zapisane wszystkie dane dotyczące pliku: właściciel i grupa, rozmiar, czas utworzenia i modyfikacji, informacje dotyczące zapisu i odczytu, a także fizyczne położenie na dysku.
Każdy i-węzeł posiada numer ale nie nazwę, wiec plik nawet jej nie potrzebuję! Konsekwencją tego jest fakt, iż każdy katalog to tak naprawdę plik z zapisaną informacją o numerze i-węzła i nazwą oraz to, że do każdego pliku
można stworzyć wiele nazw. Tutaj dochodzimy do ważnych pojęć jakim są dowiązania sztywne i symboliczne.

Dowiązanie sztywne jest to wskazanie na ten sam plik w innym miejscu niż nastąpiło pierwsze dowiązanie.
Dla systemu plików nie ma więc różnicy skąd nastąpi interwencja na pliku bo i tak modyfikowany jest obiekt wskazywany przez i-węzeł. Ograniczeniem jest fakt iż dowiązanie twarde (sztywne) jest ograniczone do jednego
systemu plików. Dopiero usunięcie ostatniego dowiązania twardego powoduje usunięcie pliku z dysku.

Dowiązanie miękkie jest to wskazanie na dany plik, które może przekraczać systemy plików. Jednak usunięcie wskazywanego pliku powoduje iż plik faktycznie zostanie usunięty. Dowiązanie miękkie nie broni przed tym.
Można je porównać do skrótu z Windows’a.

Katalogi są traktowane jak zwykle pliki, jednak ze względów porządkowych zakazane jest tworzenie wielu dowiązań do jednego katalogu.

Formaty skrzynek pocztowych

Formaty skrzynek

Linuks posiada trzy formaty skrzynek pocztowych. Mbox, Mialbox i Maildir. Podział ten
uwidacznia historyczny rozwój aplikacji pocztowych.

Najstarszy to Mbox opierający się na pliku użytkownika w katalogu /var/spoll/mail/.

Następne rozwiązanie polegało na umieszczeniu skrzynki pocztowej w przestrzeni katalogu użytkownika.

Najnowszy pomysł,
czyli Maildir, to stworzenie katalogu poczty w którym każda wiadomość jest umieszczona
w osobnym pliku.

Konwersja skrzynek

mb2md

Program mb2md pozwala skonwertować skrzynki z formatu mbox do
Maildir. Jeżeli jako użytkownik chcesz skonwertować swoją skrzynkę
możesz użyć polecenia s linii poleceń z przełącznikiem -m:

admin@terminal-3-67:~$ mb2md -m
Converting /var/mail/admin to maildir: /home/admin/Maildir
Source Mbox is /var/mail/admin
Target Maildir is /home/admin/Maildir
13 messages.

Jeżeli chciałbyś wykonać inne czynności (np. z automatu zmienić użytkownikom format skrzynek przeczytaj dokumentacje do programu

ser2net: czyli jak połączyć się telnetem na port szeregowy

Ostatnio spotkałem się z dość prostym problemem: otóż mam kilka urządzeń, do których mam dostęp także przez konsole szeregowe. Zwyczajowo do konsol szeregowych łączyłem się przez program minicom ale w takim przypadku, gdy chce kolegom umożliwić zdalny dostęp do maszyn oznacza to iż musze utworzyć lokalne konta na serwerze. Najlepiej byłoby tego unikąć. Moim rozwiązaniem okazało się udostępnienie portu szeregowego przez port TCP przypomocy ser2net.

Czytaj dalej ser2net: czyli jak połączyć się telnetem na port szeregowy

Puppet: dodawanie reguł z plików lokalnych

Nie zawsze musimy korzystać z architektury klient-server. Czasem możemy po prostu wprowadzić reguły zapisane w plikach lokalnych:

[root@vz13505 manifests]# ls -l test_firewall.pp
-rw-r--r-- 1 root root 158 Mar  2 13:18 test_firewall.pp

[root@vz13505 manifests]# puppet apply test_firewall.pp
Warning: Could not retrieve fact fqdn
Notice: /Firewall[000 allow ssh]/ensure: created
Notice: Finished catalog run in 0.46 seconds
[root@vz13505 manifests]# cat test_firewall.pp

## test of firewall module from puppet lab (modul: puppetlabs-firewall)
firewall { '000 allow ssh':
  dport  => 22,
  action => accept,
  proto  => 'tcp',
}

OpenVPN + VPS: problem z urządzeniem /dev/net/tun

W przypadku VPS (Virtual Private Server) często się zdarza, że OpenVPN nie startuje, jako że nie jest włąćzony dostęp do urządzenia /dev/net/tun. Objaw jest następujący:

[root@vz13505 openvpn]# cat /dev/net/tun
cat: /dev/net/tun: Operation not permitted

W przypadku prawidłowego dostępu komunikat jest następujący:

[root@vz13505 log]# cat /dev/net/tun
cat: /dev/net/tun: File descriptor in bad state

CentOS 6: dodanie repozytorium rpmforge

Nie wszystkie pakiety są dostępne w stanadrdowej dystrybucji (np. OpenVPN). Czasem więc konieczne może być dodanie nowego repozytorium rpmforge.

1. Instalujemy klucz repozytorium

rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt

2. Instalujemy pakiet, który doda repozytirum

[root@vz13505 ~]# rpm -ivh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
Retrieving http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
Preparing...                ########################################### [100%]
   1:rpmforge-release       ########################################### [100%]

I teraz można instalować openvpn…