Archiwum kategorii: Linux

Linux – sfdisk i zabezpieczenie listy partycji na dyskach

Proste polecenie dodane do crona (patrz niżej) pozwala zapisać aktualną listę partycji do plików. Pliki w formacie dump-a z polecenia sfdisk mogą być wykorzystane do otworzenia układu partycji.

for DISK in `sfdisk -l 2>/dev/null  | grep Disk | sed 's/[:\/]/ /g' | awk '{ print $3}'`;do sfdisk -d /dev/$DISK > /backups/disks_layout/${DISK}.out;  done

W moim przypadku uzyskujemy pliki:

[root@centos storage1]# ls -l /backups/disks_layout/
total 12
-rw-r--r-- 1 root root 412 Jul 13 19:31 hda.out
-rw-r--r-- 1 root root 251 Jul 13 19:31 sda.out
-rw-r--r-- 1 root root 250 Jul 13 19:31 sdb.out

a przykładowy plik ma postać:

[root@centos storage1]# cat sdb.out
# partition table of /dev/sdb
unit: sectors

/dev/sdb1 : start=       63, size=2930272002, Id= c
/dev/sdb2 : start=        0, size=        0, Id= 0
/dev/sdb3 : start=        0, size=        0, Id= 0
/dev/sdb4 : start=        0, size=        0, Id= 0

Linux – lista dysków twardych w systemie

Przygotowując się do najgorszego należy widzieć jakie dyski mamy w systemie (by móc później otworzyć taką samą konfuracje dysków), tylko jak to sprawdzić? Najprościej użyć fdisk -l ;). Jeżeli nie podamy urządzenia, które nas intersuje, wylistuje informację o wszystkich dyskach!

[root@centos data1]# fdisk -l | grep "Disk"
Disk /dev/hda: 40.0 GB, 40020664320 bytes
Disk /dev/sda: 1500.2 GB, 1500299395072 bytes
Disk /dev/sdb: 1500.3 GB, 1500301910016 bytes

Wynik polecenia proponowałbym zapisywać na twardy dysk co jakiś czas (np. raz w tygodniu) i umiesczać w backupie. Pozwoli nam to w najgorszym przypadku odczytać plik z kopii zapasowej, na jego podstawie stworzyć tablicę partycji i wtedy można już używać Baculy ;).

Linux: Bacula – bscan – przykład

[root@centos storage1]# bscan -v -m FileStorage_USBDisk2 -V  USB2Volume002
bscan: butil.c:281 Using device: "FileStorage_USBDisk2" for reading.
13-Jul 07:41 bscan JobId 0: Ready to read from volume "USB2Volume002" on device "FileStorage_USBDisk2" (/backups/bacula/storages/storage1).
bscan: bscan.c:308 Using Database: bacula, User: bacula
bscan: bscan.c:450 Pool record for File found in DB.
bscan: bscan.c:464 Pool type "Backup" is OK.
bscan: bscan.c:474 Media record for USB2Volume002 found in DB.
bscan: bscan.c:492 Media type "File" is OK.
bscan: bscan.c:502 VOL_LABEL: OK for Volume: USB2Volume002
bscan: bscan.c:520 SOS_LABEL: Found Job record for JobId: 6
13-Jul 07:43 bscan JobId 0: End of Volume at file 0 on device "FileStorage_USBDisk2" (/backups/bacula/storages/storage1), Volume "USB2Volume002"
bscan: bscan.c:337-6 ========== JobId=0 ========
bscan: bscan.c:337-6 ========== JobId=6 ========
bscan: bscan.c:342 Create JobMedia for Job BackupLaptopCzz60610.2010-07-13_06.12.01_12
bscan: bscan.c:966 Updated Media record at end of Volume: USB2Volume002
13-Jul 07:43 bscan JobId 0: End of all volumes.
bscan: bscan.c:966 Updated Media record at end of Volume: USB2Volume002
bscan: bscan.c:637 End of all Volumes. VolFiles=0 VolBlocks=0 VolBytes=50,084,965
Records would have been added or updated in the catalog:
1 Media
1 Pool
1 Job
397 File
[root@centos storage1]#

Linux: CentOS 5 i Bacula

CentOS to system operacyjny, który jest przekompilowaną komercyjną wersją dystrybucji RedHat Enterprise (z pewnymi wyjątkami). Jako że RedHat Enterprise  jest powszechnie używany postanowiłem zainstalować CentOS-a ;). Niestety brakuje w nim dużo oprogramowania dostępnego w normalnych dystrybucjach :/ Jakby ktoś szukał Baculi, znajdzie pod adresem: http://www.pramberger.at/peter/services/repository/rhel5/ (będzie działać także w CentOS-ie).

Linux: LVM na dysku USB

Spędziłem pół dnia męcząc się z nowym dyskiem USB, postanowiłem wyrzucić partycję NTFS i stworzyć tam partycje linuskowe z LVM-ami. Wszystko ładnie dało się zrobić, tylko że po restarcie nic nie było! Po pół dniu walki okazało się że vg na dysku nie jest automatycznie włączane :D. Prosta komenda rozwiązuje to:

[root@centos etc]# vgchange -a y datavg3
2 logical volume(s) in volume group "datavg3" now active

Tak wiem, powinienem to wiedzieć jako Linux specialist 😉

Linux: RPM – tworzenie własnych pakietów

Planuje napisanie własnej aplikacji wspomagającej prowadzenie kursów no i oczywiście najlepiej, gdyby była ona dostarczana w postaci pakietów. Aplikacja będzie składała się z kilku skryptów perlowych więc nic nie będzie kompilowane. No i tutaj zaczeły się problemy: wszystkie HOWTO, wpisy w blogach itp pokazywały jak ściągnąć aplikacje napisane w C/C++, skompilować itd. No więc po dłuższej bitwie doszedłem jak to zrobić:

  • Skrypty należy umieścić w katalogu BUILD, struktura zależy od Ciebie,
  • katalog SOURCES może być pusty ;),
  • BuildArch ustaw na noarch,
  • zdefinuj sobie BuildRoot, tam rpmbuild będzie umieszczał katalogi w czasie tworzenia pakietu,

Nie zapomnij też zdefiniować sekcji %clean, straciłem trochę czasu by znaleźć, czemu rpmbuild raportuje mi pliki, których nie powinno być ;). Otóż sekcja clean pozwala czyścić katalog BuildRoot przed stworzeniem nowego pakietu (tak samo jak i po). Życzcie mi powodzenia przy tworzeniu tej aplikacji 🙂