Wstęp
W systemie Linux każdą partycję możemy zamontować pod dowolny katalog w systemie. Najwygodniejsza, desktopowa, instalacja przewiduje najczęściej jedną partycję na przestrzeń dla katalogu root /. Jednak taka konfiguracja nie zawsze spisze się w systemach serwerowych, gdzie pewne katalogi z danymi chcielibyśmy zamieścić na przykład na partycji z RAID10 a inne wystarczy aby były na RAID5. Poza tym, czasami chcemy ustrzeć się sprzed zapełnieniem partycji gównej root / przed przepełnieniem logami, dlatego warto przygotować dla katalogu /var/log/ osobną partycję. Na tej stronie znajdziesz informacje jak montować partycje do katalogów systemu Linux.
Partycjonowanie
Jest wiele narzędzi do partycjonowania dysków - fdisk, cfdisk, gdisk, parted, graficzny gparted. Tutaj przedstawimy przkład najbardziej popularnego i nadal używanego fdisk.
Wyświetlenie listy partycji określonego dysku (tutaj /dev/sdb)
root@debian8-01:~# fdisk -l /dev/sdb Disk /dev/sdb: 500 MiB, 524288000 bytes, 1024000 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x00000000 Device Boot Start End Sectors Size Id Type /dev/sdb1 2048 411647 409600 200M 83 Linux /dev/sdb2 411648 1023999 612352 299M 83 Linux
Kasowanie partycji /dev/sdb2
root@debian8-01:~# fdisk /dev/sdb Welcome to fdisk (util-linux 2.25.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): p Disk /dev/sdb: 500 MiB, 524288000 bytes, 1024000 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x00000000 Device Boot Start End Sectors Size Id Type /dev/sdb1 2048 411647 409600 200M 83 Linux /dev/sdb2 411648 1023999 612352 299M 83 Linux Command (m for help): d Partition number (1,2, default 2): 2 Partition 2 has been deleted. Command (m for help): p Disk /dev/sdb: 500 MiB, 524288000 bytes, 1024000 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x00000000 Device Boot Start End Sectors Size Id Type /dev/sdb1 2048 411647 409600 200M 83 Linux Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks. root@debian8-01:~# fdisk -l /dev/sdb Disk /dev/sdb: 500 MiB, 524288000 bytes, 1024000 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x00000000 Device Boot Start End Sectors Size Id Type /dev/sdb1 2048 411647 409600 200M 83 Linux
Tworzenie partycji i określenie jej typu (/dev/sdb2 - Linux, /dev/sdb3 - swap)
root@debian8-01:~# fdisk /dev/sdb Welcome to fdisk (util-linux 2.25.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): p Disk /dev/sdb: 500 MiB, 524288000 bytes, 1024000 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x00000000 Device Boot Start End Sectors Size Id Type /dev/sdb1 2048 411647 409600 200M 83 Linux Command (m for help): n Partition type p primary (1 primary, 0 extended, 3 free) e extended (container for logical partitions) Select (default p): p Partition number (2-4, default 2): 2 First sector (411648-1023999, default 411648): Last sector, +sectors or +size{K,M,G,T,P} (411648-1023999, default 1023999): +50M Created a new partition 2 of type 'Linux' and of size 50 MiB. Command (m for help): t Partition number (1,2, default 2): 2 Hex code (type L to list all codes): L 0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris 1 FAT12 27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT- 2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT- 3 XENIX usr 3c PartitionMagic 84 OS/2 hidden C: c6 DRDOS/sec (FAT- 4 FAT16 <32M 40 Venix 80286 85 Linux extended c7 Syrinx 5 Extended 41 PPC PReP Boot 86 NTFS volume set da Non-FS data 6 FAT16 42 SFS 87 NTFS volume set db CP/M / CTOS / . 7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux plaintext de Dell Utility 8 AIX 4e QNX4.x 2nd part 8e Linux LVM df BootIt 9 AIX bootable 4f QNX4.x 3rd part 93 Amoeba e1 DOS access a OS/2 Boot Manag 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad hi eb BeOS fs e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT f W95 Ext'd (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/ 10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC b 11 Hidden FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor 12 Compaq diagnost 5c Priam Edisk a9 NetBSD f4 SpeedStor 14 Hidden FAT16 <3 61 SpeedStor ab Darwin boot f2 DOS secondary 16 Hidden FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS 17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE 18 AST SmartSleep 65 Novell Netware b8 BSDI swap fd Linux raid auto 1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fe LANstep 1c Hidden W95 FAT3 75 PC/IX be Solaris boot ff BBT 1e Hidden W95 FAT1 80 Old Minix Hex code (type L to list all codes): 82 Changed type of partition 'Linux' to 'Linux swap / Solaris'. Command (m for help): n Partition type p primary (2 primary, 0 extended, 2 free) e extended (container for logical partitions) Select (default p): p Partition number (3,4, default 3): First sector (514048-1023999, default 514048): Last sector, +sectors or +size{K,M,G,T,P} (514048-1023999, default 1023999): Created a new partition 3 of type 'Linux' and of size 249 MiB. Command (m for help): t Partition number (1-3, default 3): Hex code (type L to list all codes): 83 Changed type of partition 'Linux' to 'Linux'. Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks. root@debian8-01:~# fdisk -l /dev/sdb Disk /dev/sdb: 500 MiB, 524288000 bytes, 1024000 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x00000000 Device Boot Start End Sectors Size Id Type /dev/sdb1 2048 411647 409600 200M 83 Linux /dev/sdb2 411648 514047 102400 50M 82 Linux swap / Solaris /dev/sdb3 514048 1023999 509952 249M 83 Linux
Formatowanie partycji - systemy plików
Wstęp
W systemie Linux możemy spotkać wiele systemów plików. Każdy z nich ma swoje wady i zalety. Najbardziej popularnym obecnie systemem plików w którym domyślnie formatowane są partycje użytkowe przez instalatory dystrybucji jest ext4. Opis podstawowych, najczęściej używanych systemów znajdziesz w dokumentacji Ubuntu. Porównanie ich funkcjonalności znajdziesz w Wikipedii.
Formatowanie
ext4
root@debian8-01:~# mkfs.ext4 /dev/sdb1 mke2fs 1.42.12 (29-Aug-2014) Creating filesystem with 204800 1k blocks and 51200 inodes Filesystem UUID: 8e5ab479-2ebd-432d-99c5-e21e1cd2365f Superblock backups stored on blocks: 8193, 24577, 40961, 57345, 73729 Allocating group tables: done Writing inode tables: done Creating journal (4096 blocks): done Writing superblocks and filesystem accounting information: done
vfat
Ten system używa się najczęściej w przenośnych USB pendrive aby był rozpoznawany w wielu systemach operacyjnych:
root@debian8-01:~# apt install -y dosfstools #zainstaluje ten pakiet jeśli nie masz aplikacji mkfs.vfat root@debian8-01:~# mkfs.vfat /dev/sdb1 mkfs.fat 3.0.27 (2014-11-12)
swap - partycja wymiany
Przygotowanie partycji wymiana nie wymaga odpowiedniego formatowania a jedynie oznaczenia, że ta partycja może być użyta do tego celu:
root@debian8-01:~# mkswap /dev/sdb2 Setting up swapspace version 1, size = 51196 KiB no label, UUID=01ab5c00-bb46-4997-b1e2-ee6b909674b8
Montowanie
Manualne montowanie - mount
Gdy partycja jest gotowa i sformatowana można ją zamontować za pomocą narzędzia mount. Ważne aby przed montowaniem upewnić się, że w systemie istnieje katalog pod który ma być montowana partycja i jest on pusty. Zamontowanie partycji do folderu z plikami nie spowoduje żadnych szkód - nie zostaną usunięte, jednakże nie będą one dostępne.
root@debian8-01:~# mkdir /mnt/partycja-sdb1 root@debian8-01:~# mount /dev/sdb1 /mnt/partycja-sdb1/ root@debian8-01:~# ls -lh /mnt/partycja-sdb1/ total 12K drwx------ 2 root root 12K Jan 18 02:39 lost+found
Charakterystyczny katalog lost+found
jest tworzony przy formatowaniu partycji. Jego istnienie może nas informować, że dany katalog jest zamontowany pod osobną partycję.
Wyświetlenie zamontowanych partycji - mount
Komenda mount
bez parametrów wyświetli wszystkie zamontowane partycje i wirtualne systemy plików:
root@debian8-01:~# mount | grep sd /dev/sda1 on / type ext4 (rw,relatime,errors=remount-ro,data=ordered) /dev/sdb1 on /mnt/partycja-sdb1 type ext4 (rw,relatime,data=ordered) root@debian8-01:~# mount sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime) proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=12797,mode=755) devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000) tmpfs on /run type tmpfs (rw,nosuid,relatime,size=23816k,mode=755) /dev/sda1 on / type ext4 (rw,relatime,errors=remount-ro,data=ordered) securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime) tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev) tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k) tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755) cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd) pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime) cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset) cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct) cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices) cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer) cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio) cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio) cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event) systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=23,pgrp=1,timeout=300,minproto=5,maxproto=5,direct) debugfs on /sys/kernel/debug type debugfs (rw,relatime) hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime) mqueue on /dev/mqueue type mqueue (rw,relatime) rpc_pipefs on /run/rpc_pipefs type rpc_pipefs (rw,relatime) /dev/sdb1 on /mnt/partycja-sdb1 type ext4 (rw,relatime,data=ordered)
Włączenie do użycia partycji wymiany - swapon
Gdy partycja wymiana zostałą już odpowiednio przygotowana (mkswap) należy powiadomić system, że może z tej partycji korzystać:
root@debian8-01:~# free -m total used free shared buffers cached Mem: 116 97 18 3 5 40 -/+ buffers/cache: 51 64 Swap: 461 0 461 root@debian8-01:~# swapon /dev/sdb2 root@debian8-01:~# free -m total used free shared buffers cached Mem: 116 97 18 3 5 40 -/+ buffers/cache: 51 64 Swap: 511 0 511
Montowanie automatyczne (przy starcie systemu) /etc/fstab
Ręczne montowanie może być przydatne przy chwilowym wykorzystaniu partycji, jeśli partycja jest używana na co dzień i ma być zamontowana po uruchomieniu systemu automatycznie należy dokonać wpisów konfiguracyjnych w plik /etc/fstab, na przykład:
root@debian8-01:~# grep sdb1 /etc/fstab /dev/sdb1 /mnt/partycja-sdb1 ext4 errors=remount-ro 0 2
Montowanie przy użyciu UUID
Bezpieczniejszym (szczególnie w fstab) rozwiązaniem niż odwoływaniem się partycji za pomocą /dev/sdb1
będzie oparcie się o UUID partycji:
root@debian8-01:~# blkid /dev/sdb1 #ta komenda wyświetla UUID partycji /dev/sdb1: UUID="03659f74-a446-4a24-bed8-c8ec22cbc06a" TYPE="ext4" root@debian8-01:~# vim /etc/fstab #modyfikacja pliku root@debian8-01:~# grep partycja-sdb1 /etc/fstab UUID=03659f74-a446-4a24-bed8-c8ec22cbc06a /mnt/partycja-sdb1 ext4 errors=remount-ro 0 2
UUID jest nadawany przy formatowaniu partycji. Używanie tego indentyfikatora w fstab daje pewność montowania w opdowiednie miejsce partycji, jeśli dysk byłby podłączony w inny port kontrolera lub rozpoznany po restarcie na przykład jako /dev/sdc lub /dev/sdd.
Odmontowanie partycji - umount
root@debian8-01:~# mount | grep partycja-sdb1 /dev/sdb1 on /mnt/partycja-sdb1 type ext4 (rw,relatime,errors=remount-ro,data=ordered) root@debian8-01:~# umount /dev/sdb1 #lub umount /mnt/partycja-sdb1 root@debian8-01:~# mount | grep partycja-sdb1 root@debian8-01:~#
0 Comments