Ahoj,
koupil jsem si USB disk na zálohy, který chci přidat do systému OpenBSD. Problém byl, že jsem nevěděl, jak to udělat? Tak jsem trochu studoval a své zkušenosti tu krátce popíši. Snad někomu pomůžou.
1. než připojíte disk, zjistěte si jaké tam už máte disky. To se uděla jednoduchým příkazem.
# sysctl hw.disknames
hw.disknames=cd0:,sd0:86ffdedc8921a420,fd0:,sd1:7e8fab3a07f8dfba
2. Pak připojte disk a uvidíte co Vám tam přibylo.
U konkrétního případu se jedna o sd1 , ale i tak je to vcelku jasné co vše systém vidí. Např. cd0 - CDromka, fd0 - disketová mechanika a sd0 - systémový disk.
Samozřejmě, že člověk si není kolikrát jistý a tak tu máme další pomůcku. - disklabel
Pouzžití je jednoduché, např.:
# disklabel sd0
# /dev/rsd0c:
type: SCSI
disk: SCSI disk
label: Virtual disk
duid: 86ffdedc8921a420
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 255
sectors/cylinder: 16065
cylinders: 26108
total sectors: 419430400
boundstart: 64
boundend: 419425020
drivedata: 0
16 partitions:
# size offset fstype [fsize bsize cpg]
a: 1028128 15518816 4.2BSD 2048 16384 1 # /
b: 2441894 13076896 swap # none
c: 419430400 0 unused
d: 40949664 16546944 4.2BSD 2048 16384 1 # /usr
e: 2040256 57496608 4.2BSD 2048 16384 1 # /tmp
f: 4096480 64 4.2BSD 2048 16384 1 # /home
g: 359888064 59536896 4.2BSD 4096 32768 1 # /var
Takže zde vidíme, že tento disk je systémový, nyní zkusíme sd1 - to je ten USB.
# disklabel sd1
# /dev/rsd1c:
type: SCSI
disk: SCSI disk
label: Expansion Desk
duid: 7e8fab3a07f8dfba
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 255
sectors/cylinder: 16065
cylinders: 364801
total sectors: 5860533167
boundstart: 0
boundend: 5860533167
drivedata: 0
16 partitions:
# size offset fstype [fsize bsize cpg]
c: 5860533167 0 unused
i: 41940992 2048 MSDOS
j: 5818590080 41943040 4.2BSD 8192 65536 1
Zde vidíme, že mám vytvořeny dva oddíly. Jeden typu FAT32 (MSDOS) a druhy BSD4.2
Pokud bychom chtěli vytvořit nový oddíl, není se čeho bát, stačí použít funkci disklabel -E
Tímto příkazem přejdete do jednoduchého editoru. Kde si stačí pamatovat pár písmenek.
To jsou:
a - vytvoření nového oddílu, za a se dává písmeno nové jednotky, pokud už existuje nepustí vás to dále. - není co zdrbat.
# disklabel -E sd1
Label editor (enter '?' for help at any prompt)
> a j
Partition 'j' exists. Delete it first.
Pokud nevíte co vlastně už máte vytvořeno stačí si vypsat přehled a to se dělá písmenem p
> p
OpenBSD area: 0-5860533167; size: 5860533167; free: 2095
# size offset fstype [fsize bsize cpg]
c: 5860533167 0 unused
i: 41940992 2048 MSDOS
j: 5818590080 41943040 4.2BSD 8192 65536 1
pak už zbývají písmenka (samozře je tam více parametrů - popisují asi jen ty nejdůležitějši) d - ten vymaže vytvořený oddíl, parametr w - zapíše vytvořené oddíly a písmenko x a q ukončí editor pro vytváření oddílu, jeden bez zápisu a druhý se zápisem.
3. Oddíly už máme vytvořeny nyní je potřeba je jakoby naformátovat. V openbsd je přímo na to funkce a to newfs
Např.:
# newfs /dev/sd1j - tím se vytvoří souborový systém, jestli jsem to pochopil dobře tak tato funkce v BSD přidaná a formatuje disky vetší než 1TB.
4. Nyní musíme disk přípojit. tzv. na mountovat. Používá se na to funkce mount.
Než tuto funkci použijete je potřeba určit místo kam se disk připojí, proto se vytvoří adresař a tam disk přípojíme.
# mkdir /mnt/data
a pak samostatné připojení disku.
Pokud se při připojování objeví chyba, zkontrolujte jěšte souborový systém.
#fsck /dev/sd1j
# mount /dev/sd1j /mnt/data
pro kontrolu co a jak máme použijeme příkaz df -h - parametr h slouží aby se velikost vypisovala v MB, TB atd.
# df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/sd0a 492M 42.8M 425M 9% /
/dev/sd0f 1.9G 239M 1.6G 13% /home
/dev/sd0e 980M 16.0K 931M 0% /tmp
/dev/sd0d 19.2G 918M 17.4G 5% /usr
/dev/sd0g 170G 66.1G 95.6G 41% /var
/dev/sd1j 2.7T 24.9G 2.5T 1% /mnt/data
5. Tak nyní by mělo vše fungovat jak ma, ale pozor jen do restartu systému. Pak je potřeba disk znova namountovat. Abychom tomuto problému předešli je na to soubor fstab
Ten se vetšinou nachází v /etc/fstab. Kdyz si udělame vypis, není to nic složitého tam přidat řádek přes vi a nebo nano editor.
# cat /etc/fstab
86ffdedc8921a420.b none swap sw
86ffdedc8921a420.a / ffs rw 1 1
86ffdedc8921a420.f /home ffs rw,nodev,nosuid 1 2
86ffdedc8921a420.e /tmp ffs rw,nodev,nosuid 1 2
86ffdedc8921a420.d /usr ffs rw,wxallowed,nodev 1 2
86ffdedc8921a420.g /var ffs rw,nodev,nosuid 1 2
/dev/sd1j /mnt/zalohy ffs rw,nodev,nosuid 0 2
Na vypisu jde vidět že jsem použil /dev/sd1 ale jde podle manualu použi UUID číslo. Co je lepší to nevím. - poptám se.
Jinak trochu vysvětlení:
ffs - jaký je to souborový systém.
rw - na disk se může zapisovat i číst
0 - zalohování
2 - běžná kontrola disku. (default)
To je vše..
Pajka