Page tree
Skip to end of metadata
Go to start of metadata

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:~# 
Write a comment…