Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

cz. 3 | W Uniksach to prostsze

Witam, w tej części pokażę Wam jakim sposobem można łatwo stworzyć plikopartycję pod Uniksami i jakie są jej zastosowania.

Przy pomocy plikopartycji możemy stworzyć nową partycję o dowolnym rozmiarze oraz systemie plików i zapisać ją do zwykłego pliku na innej partycji, brzmi skomplikowanie?

Jakie są zalety plikopartycji?


+ Możliwość łatwego stworzenia plikopartycji oraz jej sformatowania
+ Nie ma potrzeby aby grzebać w tablicy partycji - zwłaszcza kiedy jest uruchomiony na niej system
+ Bardzo łatwe operacje na takiej partycji, łatwe przenoszenie, montowanie

Jakie może być zastosowanie plikopartycji?

Przy pomocy plikopartycji możemy stworzyć restrykcyjny system plików dla konkretnego użytkownika w systemie - dzięki czemu nie będzie on mógł wykonywać czynności na które Mu nie pozwolimy - przykładem wykonywanie własnych skryptów i programów (noexec).

r   e   k   l   a   m   a

Plikopartycję można zamontować identycznym sposobem jak zwykłą partycję, najczęściej z tymi samymi bądź podobnymi opcjami czyli:


ro - tylko do odczytu
rw - do odczytu i zapisu
exec - można wykonywać pliki binarne/skryptowe znajdujące się na partycji
noexec - brak możliwości wykonywania plików binarnych/skryptowych z partycji
auto - może być montowana przy pomocy mount -a
noauto - nie może być montowana przy pomocy mount -a

Tworzenie plikopartycji

Najpierw wypadałoby stworzyć plik wypełniony zerami o rozmiarze partycji czyli:


dd if=/dev/zero of=/usr/partitions/partycja-ext4 count=50 bs=1M

50+0 przeczytanych recordów
50+0 zapisanych recordów
skopiowane 52428800 bajtów (52 MB), 0,0995173 s, 527 MB/s

count - wielkość w megabajtach
if - plik lub strumień z którego kopiowane są dane
of - plik docelowy do którego dd zapisuje dane

Dla pewności możemy sprawdzić czy utworzony plik ma taki rozmiar jaki chcieliśmy:


du -sh /usr/partitions/partycja-ext4

Jeżeli wszystko się zgadza - możemy przejść do formatowania na wybrany przez Nas system plików.

Następnie warto by sprawdzić obsługę systemów plików w systemie:

ls /sbin |grep mkfs

Na Moim przykładzie z uwagi na to, że używam Gentoo lista jest bardzo krótka (jądro skompilowałem tylko z potrzebnymi Mi modułami i systemami plików bądź tymi podstawowymi):

webnull-gentoo-desktop webnull # ls /sbin |grep mkfs
mkfs
mkfs.bfs
mkfs.cramfs
mkfs.ext2
mkfs.ext3
mkfs.ext4
mkfs.ext4dev
mkfs.minix

Zakładam, że zainteresowani będziecie systemem plików ext-4 dlatego ten oto właśnie system plików wezmę za przykład:

mkfs.ext4 /usr/partitions/partycja-ext4

mke2fs 1.41.14 (22-Dec-2010)
/usr/partitions/partycja-ext4 nie jest specjalnym urządzeniem blokowym.
Kontynuować mimo to? (t,n) t
Etykieta systemu plików=
Typ OS: Linux
Rozmiar bloku=1024 (log=0)
Rozmiar fragmentu=1024 (log=0)
Stride=0 bloków, szerokość Stripe=0 bloków
12824 i-węzłów, 51200 bloków
2560 bloków (5.00%) zarezerwowanych dla superużytkownika
Pierwszy blok danych=1
Maksymalna liczba bloków systemu plików=52428800
7 grup bloków
8192 bloków w grupie, 8192 fragmentów w grupie
1832 i-węzłów w grupie
Kopie zapasowe superbloku zapisane w blokach: 
	8193, 24577, 40961

Zapis tablicy i-węzłów: zakończono                      
Tworzenie kroniki (4096 bloków): wykonano
Zapis superbloków i podsumowania systemu plików: wykonano

Ten system plików będzie automatycznie sprawdzany co każde 20 montowań
lub co 180 dni, zależnie co nastąpi pierwsze. Można to zmienić poprzez
tune2fs -c lub -i.

Montujemy plikopartycję

Aby zamontować plikopartycję z poziomu konsoli wystarczy użyć mount na przykładzie:

mount -o loop /usr/partitions/partycja-ext4 /media/partycja

czy

mount -o loop,ro,noexec /usr/partitions/example-user1 /home/example

Następnie można sprawdzić czy plikopartycja została zamontowana poleceniem mount bądź df -h.

root@webnull-oneill:~# mount |grep loop
/dev/loop0 on /home/example type ext4 (rw,noexec)

root@webnull-oneill:~# df -h |grep loop
/dev/loop0             49M  4,8M   42M  11% /home/example

Aby odmontować czyli odczepić system plików od głównej gałęzi należy wykonać:

umount /home/example

A jak zrobić to w Windows(R)?

Przestawiłem sposób Uniksowy, teraz poproszę kogoś aby przestawił Mi jak wykonać podobną operację w systemie Windows.

Oczywiście pomijam SWAP, oraz archiwa ISO i podobne - chodzi o system plików typu ext-4, reiserfs, fat32, ntfs czy zfs pełnosprawny z obsługą odczytu i zapisu po zamontowaniu.

Powyższy obrazek pochodzi z http://techdunes.com/2010/08/18/create-virtual-drive-free-windows-7-bu...

Tworzenie wirtualnego dysku twardego w Windows jest prawie, że równie proste:

diskpart
create vdisk file=C:\plikopartycja.vhd maximum=20000
select vdisk file=C:\plikopartycja.vhd
attach vdisk

Tylko jak stworzyć partycji z pod konsoli i je sformatować na wybrany system plików? :> 

Komentarze