Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π˜ΡΠΊΡƒΡΡΡ‚Π²ΠΎ программирования Π½Π° языкС сцСнариСв ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 55

Автор МСндСль ΠšΡƒΠΏΠ΅Ρ€

Иногда Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ синхронизации Π±ΡƒΡ„Π΅Ρ€ΠΎΠ² Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° с содСрТимым Π½Π° ΠΌΠ°Π³Π½ΠΈΡ‚Π½ΠΎΠΌ носитСлС, ΠΊΠ°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΌ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° (см. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 12-42) ΠΈΠ»ΠΈ ΠΊΠΎΠ³Π΄Π° Π½Π°Π±Π»ΡŽΠ΄Π°ΡŽΡ‚ΡΡ скачки напряТСния Π² сСти элСктроснабТСния.

losetup

УстанавливаСт ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ loopback-устройства.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 13-6. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅

SIZE=1048576 # 1 Мб


head -c $SIZE < /dev/zero > file # БоздаСтся Ρ„Π°ΠΉΠ» Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°.

losetup /dev/loop0 file # Π€Π°ΠΉΠ» назначаСтся ΠΊΠ°ΠΊ loopback-устройство.

mke2fs /dev/loop0 # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы.

mount -o loop /dev/loop0 /mnt # ΠœΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ созданной Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы.


# Бпасибо S.C.

mkswap

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ swap-Ρ€Π°Π·Π΄Π΅Π»Π° ΠΈΠ»ΠΈ swap-Ρ„Π°ΠΉΠ»Π°. Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ swap-Ρ€Π°Π·Π΄Π΅Π» (Ρ„Π°ΠΉΠ») Π½ΡƒΠΆΠ½ΠΎ Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ swapon.

swapon, swapoff

Π Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚/Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ использованиС swap-Ρ€Π°Π·Π΄Π΅Π»Π° (Ρ„Π°ΠΉΠ»Π°). Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΎ врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ систСмы ΠΈΠ»ΠΈ Π²ΠΎ врСмя остановки.

mke2fs

Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму ext2. Π”ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ с ΠΏΡ€Π°Π²Π°ΠΌΠΈ ΡΡƒΠΏΠ΅Ρ€ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 13-7. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ТСсткого диска

#!/bin/bash


# Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² систСму Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ТСсткого диска.

# ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ устройство ΡƒΠΆΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ ΠΊ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°.

# Взято ΠΈΠ· ΡΡ‚Π°Ρ‚ΡŒΠΈ Π°Π²Ρ‚ΠΎΡ€Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.

# "Linux Gazette", выпуск #38, http://www.linuxgazette.com.


ROOT_UID=0 # Π­Ρ‚ΠΎΡ‚ сцСнарий Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ root.

E_NOTROOT=67 # Код ошибки, Ссли сцСнарий Π·Π°ΠΏΡƒΡ‰Π΅Π½ простым ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.


if [ "$UID" -ne "$ROOT_UID" ]

then

echo "Для запуска этого сцСнария Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠ±Π»Π°Π΄Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²Π°ΠΌΠΈ root."

exit $E_NOTROOT

fi


# Π‘ΡƒΠ΄ΡŒΡ‚Π΅ ΠΊΡ€Π°ΠΉΠ½Π΅ остороТны!

# Если Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Π½Π΅ Ρ‚Π°ΠΊ, Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму.


NEWDISK=/dev/hdb # ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ /dev/hdb -- это Π½ΠΎΠ²ΠΎΠ΅ устройство. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅!

MOUNTPOINT=/mnt/newdisk # Или Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΈΠ½ΠΎΠ΅ устройство для монтирования.


fdisk $NEWDISK

mke2fs -cv $NEWDISK1 # ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° "ΠΏΠ»ΠΎΡ…ΠΈΠ΅" Π±Π»ΠΎΠΊΠΈ (bad blocks) ΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄.

# ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: /dev/hdb1, *Π½Π΅* Ρ‚ΠΎ ΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ /dev/hdb!

mkdir $MOUNTPOINT

chmod 777 $MOUNTPOINT # Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ устройство доступным для всСх ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.


# Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΎΠ°Π΅Ρ€ΠΈΠΌ...

# mount -t ext2 /dev/hdb1 /mnt/newdisk

# ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³.

# Если ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ -- ΠΎΡ‚ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ устройство ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ.


# ПослСдний ΡˆΡ‚Ρ€ΠΈΡ…:

# Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку Π² /etc/fstab.

# /dev/hdb1 /mnt/newdisk ext2 defaults 1 1


exit 0

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅ ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 13-6 ΠΈ ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 28-3.

tune2fs

Настройка ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы ext2, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ счСтчик максимального количСства ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΉ Π±Π΅Π· ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ. Π”ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ с привилСгиями ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ root.

ΠžΡ‡Π΅Π½ΡŒ опасная ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° свой страх ΠΈ риск, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ, ΠΏΠΎ нСостороТности, Π²Ρ‹ запросто ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π·Ρ€ΡƒΡˆΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму.

dumpe2fs

Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° stdout ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС. Π”ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ с привилСгиями ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ root.

root# dumpe2fs /dev/hda7 | grep 'ount count'

dumpe2fs 1.19, 13-Jul-2000 for EXT2 FS 0.5b, 95/08/09

Mount count: 6

Maximum mount count: 20

hdparm

Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΈΠ»ΠΈ измСняСт ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ настройки ТСсткого диска. Π”ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ с привилСгиями ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ root. ΠŸΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ опасна ΠΏΡ€ΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ использовании.

fdisk

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² Π½Π° устройствах хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ -- ТСстких дисках. Π”ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ с привилСгиями ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ root.

ΠŸΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ этой ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ с особой ΠΎΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ, Ρ‚.ΠΊ. ΠΏΡ€ΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ использовании ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Ρ€Π°Π·Ρ€ΡƒΡˆΠΈΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму.

fsck, e2fsck, debugfs

Набор ΠΊΠΎΠΌΠ°Π½Π΄ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, восстановлСния ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы.

fsck: интСрфСйсная ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСм Π² UNIX (ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ).

e2fsck: ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы ext2.

debugfs: ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы ext2. Одно ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ этой ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΉ (ΠΈ опасной) ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ -- это восстановлСниС ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ². Волько для ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ!

ВсС эти ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ с привилСгиями ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ root. ΠŸΡ€ΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ использовании, любая ΠΈΠ· Π½ΠΈΡ… ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·Ρ€ΡƒΡˆΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму.

badblocks

ВыполняСт поиск ΠΏΠ»ΠΎΡ…ΠΈΡ… Π±Π»ΠΎΠΊΠΎΠ² (физичСскиС поврСТдСния носитСлСй) Π½Π° устройствах хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для поиска ΠΏΠ»ΠΎΡ…ΠΈΡ… Π±Π»ΠΎΠΊΠΎΠ² ΠΏΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ вновь устанавливаСмых ТСстких дисков ΠΈΠ»ΠΈ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ устройств Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования[ 40 ]. НапримСр, badblocks /dev/fd0, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ дискСту Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½Π½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ².

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° badblocks ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Π° Π² дСструктивном (ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° осущСствляСтся ΠΏΡƒΡ‚Π΅ΠΌ записи Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ шаблона Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π±Π»ΠΎΠΊ, Π° Π·Π°Ρ‚Π΅ΠΌ производится ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° чтСния этого Π±Π»ΠΎΠΊΠ°) ΠΈΠ»ΠΈ Π² нСдСструктивном (Π½Π΅Ρ€Π°Π·Ρ€ΡƒΡˆΠ°ΡŽΡ‰Π΅ΠΌ -- Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅) Ρ€Π΅ΠΆΠΈΠΌΠ΅.

mkbootdisk

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½ΠΎΠΉ дискСты, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ систСмы, Ссли, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π±Ρ‹Π»Π° ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½Π° MBR (master boot record -- главная загрузочная запись). Команда mkbootdisk -- это сцСнарий Π½Π° языкС ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Bash, Π°Π²Ρ‚ΠΎΡ€: Erik Troan, располагаСтся Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ /sbin.

chroot

CHange ROOT -- смСна ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ, ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС посрСдством ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ $PATH, ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° /. Команда chroot измСняСт ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΏΠΎ-ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ (Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Ρ‚Π°ΠΊΠΆΠ΅ измСняСтся). Π­Ρ‚Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ с Ρ†Π΅Π»ΡŒΡŽ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ систСмы, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с Π΅Π΅ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Ρ€Π°Π·Π΄Π΅Π»Π°ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΡ…ΡΡ ΠΊ систСмС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ telnet (это называСтся -- "ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² chroot ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅"). ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: послС выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ chroot измСняСтся ΠΏΡƒΡ‚ΡŒ ΠΊ исполняСмым Ρ„Π°ΠΉΠ»Π°ΠΌ систСмы.

Команда chroot /opt ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ всС обращСния ΠΊ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ /usr/bin Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ /opt/usr/bin. Аналогично, chroot /aaa/bbb /bin/ls Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ls ΠΈΠ· ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° /aaa/bbb/bin, ΠΏΡ€ΠΈ этом, ΠΊΠΎΡ€Π½Π΅Π²Ρ‹ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ для ls станСт ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ /aaa/bbb. ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΠ² строчку alias XX 'chroot /aaa/bbb ls' Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ~/.bashrc, ΠΌΠΎΠΆΠ½ΠΎ эффСктивно ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ доступ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ "XX", запускаСмой ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, ΠΊ Ρ€Π°Π·Π΄Π΅Π»Π°ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы.

ΠŸΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, Π²Π°ΠΌ навСрняка потрСбуСтся ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ систСмныС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΈ раздСляСмыС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π² Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ послС смСны ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ с систСмными ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°ΠΌΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°.

lockfile

Π­Ρ‚Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² состав ΠΏΠ°ΠΊΠ΅Ρ‚Π° procmail (www.procmail.org). Она создаСт lock file, Ρ„Π°ΠΉΠ»-сСмафор (ΠΈΠ»ΠΈ, Ссли ΡƒΠ³ΠΎΠ΄Π½ΠΎ, Ρ„Π°ΠΉΠ» Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ управляСт доступом ΠΊ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ, устройству ΠΈΠ»ΠΈ рСсурсу. Lock file слуТит ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», устройство ΠΈΠ»ΠΈ рСсурс "занят" Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ процСссом, ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ (ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚) доступ ΠΊ рСсурсу Π΄Ρ€ΡƒΠ³ΠΈΠΌ процСссам.

Π€Π°ΠΉΠ»Ρ‹ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ систСмных ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Ρ… ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ записи нСсколькими ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ, для ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ†ΠΈΠΈ занятости ΠΏΠΎΡ€Ρ‚Π° ΠΌΠΎΠ΄Π΅ΠΌΠ°, ΠΈ Ρ‚.ΠΏ. Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ -- Π·Π°ΠΏΡƒΡ‰Π΅Π½ Π»ΠΈ Ρ‚ΠΎΡ‚ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ процСсс. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Ссли Π² сцСнарии Π±ΡƒΠ΄Π΅Ρ‚ прСдпринята ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ ΡƒΠΆΠ΅ сущСствуСт, Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ сцСнарий скорСС всСго зависнСт.

Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ρ„Π°ΠΉΠ»Ρ‹ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ /var/lock. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° наличия Ρ„Π°ΠΉΠ»Π° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:.

appname=xyzip

# ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ "xyzip" создаСт Ρ„Π°ΠΉΠ» Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ "/var/lock/xyzip.lock".


if [ -e "/var/lock/$appname.lock ]

then

...


mknod

Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» для Π±Π»ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ символьного устройства (ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ установкС Π½ΠΎΠ²Ρ‹Ρ… устройств Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€).

tmpwatch

АвтоматичСски удаляСт Ρ„Π°ΠΉΠ»Ρ‹, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ вызываСтся Π΄Π΅ΠΌΠΎΠ½ΠΎΠΌ crond для удалСния ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² систСмного ΠΆΡƒΡ€Π½Π°Π»Π°.

MAKEDEV

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для создания Ρ„Π°ΠΉΠ»ΠΎΠ²-устройств. Π”ΠΎΠ»ΠΆΠ½Π° Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ с привилСгиями ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ root, Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ /dev.

root# ./MAKEDEV

Π­Ρ‚ΠΎ своСго Ρ€ΠΎΠ΄Π° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ вСрсия ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ mknod.

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования

dump, restore

Команда dump создаСт Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Π΅ ΠΊΠΎΠΏΠΈΠΈ Ρ†Π΅Π»Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСм, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… систСмах ΠΈ сСтях[ 41 ]. Она считываСт дисковыС Ρ€Π°Π·Π΄Π΅Π»Ρ‹ ΠΈ сохраняСт ΠΈΡ… Π² Ρ„Π°ΠΉΠ»Π΅, Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅. Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Ρ„Π°ΠΉΠ»Ρ‹, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ сохранСны Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Π»ΠΈΠ±ΠΎ носитСлС -- Π½Π° ТСстком дискС ΠΈΠ»ΠΈ ΠΌΠ°Π³Π½ΠΈΡ‚Π½ΠΎΠΉ Π»Π΅Π½Ρ‚Π΅. Команда restore -- "Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚" Ρ„Π°ΠΉΠ»Ρ‹, созданныС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ dump.

fdformat