Командная строка Linux
Шрифт:
Дополнительные сведения
Часто бывает полезно проверить целостность ISO-образа, загруженного из Интернета. В большинстве случаев распространители ISO-образов сопровождают их файлами с контрольными суммами. Контрольная сумма — это результат экзотических математических вычислений в виде числа, представляющего содержимое целевого файла. Если содержимое файла образа изменится хотя бы в одном бите, его контрольная сумма будет отличаться от указанной распространителем. Для вычисления
md5sum image.iso
34e354760f9bb7fbf85c96f6a3f94ece image.iso
Загрузив образ, запустите md5sum для него и сравните результат работы md5sum со значением, указанным распространителем.
Помимо проверки целостности загруженного файла, программу md5sum можно использовать для проверки вновь записанного оптического носителя. Для этого сначала вычислите контрольную сумму для файла образа, а затем — для носителя. Вся хитрость проверки носителя заключается в том, чтобы ограничить вычисления частью оптического носителя, содержащей образ. Для этого определите число 2048-байтных блоков в образе (запись на оптические носители всегда выполняется блоками по 2048 байт) и прочитайте с носителя ровно столько блоков. Для некоторых типов носителей это не обязательно. Например, компакт-диск, записанный в режиме disc-at-once, можно проверить так:
md5sum /dev/cdrom
34e354760f9bb7fbf85c96f6a3f94ece /dev/cdrom
Многие типы носителей, такие как DVD, требуют точного вычисления числа блоков. Следующий пример демонстрирует проверку целостности файла образа dvd-image.iso и диска в устройстве /dev/dvd привода DVD. Вам понятно, как работает эта команда?
md5sum dvd-image.iso; dd if=/dev/dvd bs=2048 count=$(( $(stat - c "%s" dvd-image.iso) / 2048 )) | md5sum
7 Оно гласит: «ВНИМАНИЕ: если вы создали или изменили разделы DOS 6.x, прочитайте дополнительную информацию на странице справочного руководства для команды fdisk». — Примеч. пер.
16. Сети
Когда дело доходит до сетевых возможностей, трудно представить что-то, что было бы невозможно для Linux. Linux используется для создания всех видов сетевых систем, программных компонентов и устройств, включая брандмауэры, маршрутизаторы, серверы имен, сетевые устройства хранения данных (Network-Attached Storage, NAS) и так далее и тому подобное.
Насколько обширна тема сетей, настолько же обширна коллекция команд, которые можно использовать для настройки и управления ими. Мы сосредоточим свое внимание лишь на тех из них, которые чаще всего используются на практике. В число команд, выбранных для исследования в этой главе, входят команды, используемые для мониторинга сетей и передачи файлов. Дополнительно мы исследуем программу ssh, используемую для входа в удаленные системы. В этой главе рассматриваются следующие команды:
• ping —
• traceroute — выводит трассировку маршрута пакетов к сетевому узлу.
• netstat — выводит список сетевых соединений, таблицы маршрутов, статистику интерфейсов, маскируемые соединения и сведения о членстве в широковещательных группах.
• ftp — программа передачи файлов через Интернет.
• lftp — улучшенная программа передачи файлов через Интернет.
• wget — неинтерактивный загрузчик файлов из сети.
• ssh — клиент OpenSSH SSH (программа для входа в удаленные системы).
• scp — программа безопасного копирования файлов через сеть.
• sftp — программа безопасной передачи файлов через сеть.
Далее предполагается, что вы имеете некоторые базовые знания о сетях. В нашем мире повсеместного распространения Интернета каждый пользователь компьютера должен иметь представление о том, как действуют сети, хотя бы на элементарном уровне. Для полноценного использования этой главы вы должны знать следующие термины:
• IP-адрес (адрес протокола Интернета).
• Имя хоста и домена.
• URI (Uniform Resource Identifier — унифицированный идентификатор ресурса).
ПРИМЕЧАНИЕ
Для доступа к некоторым командам из рассматриваемых ниже может потребоваться установить дополнительные пакеты (в зависимости от дистрибутива) из репозиториев вашего дистрибутива, и некоторые из них могут требовать привилегий суперпользователя.
Исследование и мониторинг сети
Даже если вы не являетесь системным администратором, бывает полезно уметь оценивать производительность и функционирование сети.
ping — передача специальных пакетов сетевым узлам
Команда ping является самой простой сетевой командой. Она посылает специальные сетевые пакеты IMCP ECHO_REQUEST указанному сетевому узлу. Большинство сетевых устройств принимает эти пакеты и отвечает на них, — это позволяет проверить сетевые соединения.
ПРИМЕЧАНИЕ
Многие сетевые устройства (в том числе и компьютеры с Linux) могут настраиваться так, чтобы игнорировать эти пакеты. Обычно это делается для повышения безопасности и отчасти — чтобы ввести в заблуждение потенциального злоумышленника. Кроме того, многие брандмауэры блокируют трафик IMCP.
Например, с помощью команды ping можно проверить достижимость сетевого узла http://www.linuxcommand.org/ (один из моих любимых сайтов ;-)):
[me@linuxbox ~]$ ping linuxcommand.org
Сразу после запуска программа ping начинает посылать пакеты с определенным интервалом (по умолчанию 1 секунда), пока ее выполнение не будет прервано:
[me@linuxbox ~]$ ping linuxcommand.org