Blog (107)
Komentarze (2.3k)
Recenzje (0)
@webnullcz. 3 | W Uniksach to prostsze

cz. 3 | W Uniksach to prostsze

12.02.2011 | aktual.: 13.02.2011 15:54

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

378639

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).

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ę

378663

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.

378676

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? :>

Wybrane dla Ciebie
Komentarze (52)