- 9. Системные утилиты¶
- Управление ПО¶
- Поиск программ¶
- Установка и удаление программ¶
- Исправление зависимостей¶
- Настройки программ¶
- Управление сервисами¶
- Содержимое пакета¶
- Обеспечение безопасности¶
- Полезное¶
- Зависимости пакетов¶
- Экономия трафика¶
- Чистка distfiles¶
- Дефрагментация дисков¶
- Проверка жесткого диска¶
- [в закладки] Шпаргалка системного администратора по сетевым инструментам Linux
- ▍Примеры
- Traceroute
- ▍Пример
- Telnet
- ▍Пример
- Netstat
- ▍Примеры
- Nmcli
- ▍Примеры
- Маршрутизация
- ▍Примеры
- Tcpdump и Wireshark
- ▍Примеры
- Iptables
- ▍Примеры
- Nslookup
- ▍Примеры
- Поиск неполадок
- ▍Примеры
- Итоги
9. Системные утилиты¶
Управление ПО¶
Поиск программ¶
Для быстрого поиска программ служит программа eix (пакет app-portage/eix ), имеющая собственную базу данных для ускорения поиска.
Отобразить список установленных пакетов можно при помощи команды:
Отобразить список установленных пакетов с версией:
Отобразить список установленных пакетов с версией и USE флагами:
Если вы не нашли интересующей вас программы в дереве портежей, вы можете поискать ее в оверлеях. Для поиска воспользуйтесь сайтом http://gpo.zugaina.org . Название оверлея будет справа в нижней строке результата поиска.
Прежде чем установить программу, найденную на сайте, подключите оверлей в вашу систему, выполнив:
Список оверлеев можно получить командой:
Установка и удаление программ¶
Для установки и удаления программ используйте программу emerge ( sys-apps/portage) .
В приведенном примере будет установлена игра kgoldrunner и удалена программа mc (Midnight Commander).
В случае если программа замаскирована, вы можете воспользоваться опцией —autounmask для вызова справки по размаскировке пакетов.
Пример установки замаскированной версии пакета:
В конце перечня пакетов, подлежащих установке, вы увидите следующие рекомендации:
Поместите текст под фразой «The following keyword changes are necessary to proceed:» в файл /etc/portage/package.keywords/custom (комментарии можно опустить).
Есть и более простой способ подтверждения размаскировки — использовать dispatch-conf (см. ниже).
Исправление зависимостей¶
Когда вы вносите изменения в установленные пакеты, может наступить случай нарушения зависимостей. Чтобы выявить и исправить такие нарушения, мы рекомендуем после обновления или удаления какой-либо программы выполнять команду revdep-rebuild .
Настройки программ¶
Во время обновления программ, для предотвращения ошибок, новые файлы настроек создаются с суффиксом ._cfg0000_ . Для некоторых сервисов важно после обновления заменять старые настройки новыми. Иногда старые настройки могут привести в нерабочее состояние установленную программу, например, старые скрипты запуска сервисов, расположенные в директории /etc/init.d .
Для своевременной замены конфигурационных файлов используйте программу dispatch-conf .
После запуска программа будет показывать отличия новой версии каждого конфигурационного файла от старого. Обратите внимание: если настройки файла были модифицированы Calculate (вы увидите соответствующий комментарий), заменять эти настройки не следует — нажмите клавишу z для пропуска изменений. Для замены файла новым нажмите клавишу u .
Управление сервисами¶
Для добавления и удаления скрипта из уровня запуска служит скрипт rc-update .
Показать запущенные сервисы можно командой:
Содержимое пакета¶
Получить перечень файлов установленного пакета, а также узнать, какому пакету принадлежит файл в системе, можно при помощи программ qlist и qfile ( app-portage/portage-utils ).
Вам также может пригодиться программка which ( sys-apps/which ), показывающая путь к файлу.
Обеспечение безопасности¶
Постоянное обновление системы — одно из важнейших мероприятий по обеспечению безопасности.
Можно следить за обновлениями посредством GLSA — glsa-check ( app-portage/gentoolkit ).
Просмотреть пакеты, которые необходимо переустановить:
Переустановка уязвимых пакетов:
Не помешает после этой операции проверить зависимости, см. выше Исправление зависимостей.
Полезное¶
Зависимости пакетов¶
Получить информацию о зависимостях пакетов можно с помощью программы qdepends ( app-portage/portage-utils ).
Экономия трафика¶
Если у Вас дорогой или лимитированный трафик, то можно сэкономить с помощью пакета getdelta .
Для его установки, если у вас архитектура i686, выполните:
Необходимо добавить в файл /etc/make.conf строку:
Далее все действия не отличаются от обычной установки программ, с той лишь разницей, что качаются дельты исходников, что значительно сокращает объем необходимого на обновление трафика.
Чистка distfiles¶
С течением времени может накопиться достаточно большое количество разных версий пакетов программ. При нехватке дискового пространства вы можете удалить пакеты с устаревшими версиями программ, для этого воспользуйтесь программой eclean-dist ( app-portage/gentoolkit ):
Дефрагментация дисков¶
Современные файловые системы, используемые в Linux, минимизируют фрагментацию дисков, поэтому существует достаточно небольшое количество программ для дефрагментации.
Для файловой системы XFS — пакет sys-fs/xfsdump (утилиты для дефрагментации и настройки XFS).
Пример команды для просмотра текущей фрагментации диска:
где Х — номер раздела.
Пример команды для дефрагментирования:
Проверка жесткого диска¶
Для проверки жесткого диска на битые секторы используйте утилиту badblocks .
Источник
[в закладки] Шпаргалка системного администратора по сетевым инструментам Linux
В повседневные задачи системных администраторов входит работа с сетями и с подключённым к ним оборудованием. Нередко роль рабочего места администратора играет компьютер, на котором установлен какой-нибудь дистрибутив Linux. Утилиты и команды Linux, о которых пойдёт речь в материале, перевод которого мы публикуем сегодня, включают в себя список инструментов различной сложности — от простых, до продвинутых, которые предназначены для решения широкого спектра задач по управлению сетями и по диагностике сетевых неполадок.
В некоторых из рассматриваемых здесь примеров вы столкнётесь с сокращением (fully qualified domain name, полное доменное имя). Встретив его, замените его, в зависимости от обстоятельств, на адрес интересующего вас сайта или сервера, например, на нечто вроде server-name.company.com .
Утилита ping , как можно судить по её названию, используется для проверки связи между узлами сети, между компьютером, на котором её запускают, и другой системой. Эта утилита использует протокол ICMP, отправляя эхо-запросы, на которые отвечает удалённая система, получающая их. Использование ping , кроме того — это хороший способ проверки связности сети, проводимой в качестве первого шага диагностики сети при наличии неполадок. Команду ping можно использовать с адресами IPv4 и IPv6. Тут можно почитать подробности об IP-адресах и о работе с ними.
▍Примеры
Ping, кроме того, можно использовать для выяснения IP-адресов сайтов на основе их имён. Вот как это выглядит.
Использование ping для выяснения IP-адреса сайта по его имени
Traceroute
Traceroute — это приятная утилита, которая позволяет исследовать маршруты передачи данных между компьютерами. В то время как команда ping направлена на то, чтобы выяснить, можно ли установить связь между двумя узлами сети, traceroute даёт сведения об IP-адресах маршрутизаторов, через которые проходят данные от вашей системы до конечной, например — до веб-сайта или сервера. Команда traceroute обычно применяется на втором шаге диагностики сети, после команды ping .
▍Пример
Telnet
Утилита telnet позволяет связаться с удалённым компьютером по протоколу Telnet и взаимодействовать с ним, используя соответствующие команды.
▍Пример
Для организации сеанса Telnet-связи с другим компьютером используется следующая команда:
Netstat
Эта команда позволяет собирать сведения о сети и используется в ходе поиска и исправления сетевых неполадок, применяется для проверки данных о работе интерфейсов и портов, для исследования таблиц маршрутизации, для изучения информации о работе протоколов. Эта команда непременно должна присутствовать в арсенале системного администратора.
▍Примеры
Для того чтобы получить список всех портов, находящихся в режиме прослушивания, воспользуйтесь такой командой:
Следующая команда выводит сведения обо всех портах. Для того чтобы ограничиться только TCP-портами, нужно воспользоваться ключом -at , для того, чтобы получить данные об UDP-портах, используйте ключ -au .
Для просмотра таблиц маршрутизации воспользуйтесь такой командой:
Вот как выглядит результат выполнения этой команды.
Сведения о таблице маршрутизации
Вот вариант этой команды, выводящий статистику по протоколам:
Статистика по протоколам
Следующий вариант вызова netstat позволяет узнать сведения об отправленных и полученных пакетах (transmission/receive, TX/RX) по каждому интерфейсу:
Данные об отправленных и полученных пакетах
Nmcli
Утилита nmcli отлично подходит для управления сетевыми соединениями, для выполнения настроек и для решения других подобных задач. С её помощью можно управлять программой NetworkManager и модифицировать сетевые параметры различных устройств.
▍Примеры
Вот как с помощью nmcli вывести список сетевых интерфейсов:
Так можно вывести информацию по конкретному интерфейсу:
Следующий вариант вызова команды позволяет проверить подключение устройства к сети:
Примеры использования nmcli
Эта команда позволяет отключить заданный интерфейс:
А эта позволяет включить интерфейс:
Вот пример команды, которая добавляет VLAN-интерфейс с заданным VLAN-номером, IP-адресом и шлюзом к указанному интерфейсу:
Маршрутизация
Существует множество команд, которые можно использовать для проверки правил маршрутизации и их настройки. Рассмотрим самые полезные из них.
▍Примеры
Следующая команда показывает все текущие маршруты, настроенные для соответствующих интерфейсов:
Маршруты, настроенные для интерфейсов
Эта команда позволяет добавить в таблицу маршрутизации шлюз, используемый по умолчанию:
Следующая команда добавляет в таблицу маршрутизации новый сетевой маршрут. Существует и множество других её параметров, позволяющих выполнять такие операции, как добавление маршрута и шлюза, используемых по умолчанию, и так далее.
С помощью такой команды можно удалить запись о заданном маршруте из таблицы маршрутизации:
Вот примеры использования команды route .
Использование команды route
Вот команда, которая применяется для вывода текущей таблицы соседей. Кроме того, её можно использовать для добавления, изменения или удаления сведений о соседях:
Взглянем на примеры её использования.
Данные, полученные с помощью команды ip neighbor
Вот сведения о команде ip neigh
Сведения о команде ip neigh
Команда arp (ARP — это сокращение от Address Resolution Protocol, протокол определения адреса) похожа на ip neighbor . Утилита arp выводит данные о соответствии IP-адресов MAC -адресам. Вот как её использовать:
Вот пример её вызова.
Вызов команды arp
Tcpdump и Wireshark
Linux даёт в распоряжение администратора множество инструментов для захвата и анализа пакетов. Среди них, например, tcpdump , wireshark , tshark , и другие. Они используются для захвата сетевого трафика в передаваемых системой пакетах или в пакетах, получаемых ей. Это делает их весьма ценным инструментом администратора, помогающим в деле выяснения причин различных сетевых неполадок. Тем, кто предпочитает командную строку всем остальным способам общения с компьютерами, понравится tcpdump . Тем же, кто любит графические интерфейсы, можно порекомендовать wireshark — отличный инструмент для захвата и анализа пакетов. Утилита tcpdump — это встроенное в Linux средство для захвата сетевого трафика. Его можно использовать для захвата и вывода трафика с фильтрацией по портам, протоколам, и по другим признакам.
▍Примеры
Такая команда показывает, в режиме реального времени, пакеты с заданного интерфейса:
Пакеты можно сохранять в файл, воспользовавшись флагом -w и задав имя файла:
Вот пример использования tcpdump .
Использование tcpdump
Следующий вариант команды используется для захвата пакетов, приходящих с заданного IP системы-источника:
Так можно захватить пакеты, идущие на заданный адрес системы-приёмника:
Вот пример использования tcpdump для захвата пакетов для заданного номера порта, например, это может быть порт 53, 80, 8080, и так далее:
Здесь показано, как с помощью tcpdump захватывать пакеты заданного протокола, вроде TCP, UDP или других:
Iptables
Утилита iptables похожа на файрвол, она поддерживает фильтрацию пакетов, что позволяет управлять трафиком, пропуская или блокируя его. Диапазон возможностей этой утилиты огромен. Рассмотрим несколько наиболее распространённых вариантов её использования.
▍Примеры
Следующая команда позволяет вывести все существующие правила iptables :
Эта команда удаляет все существующие правила:
Следующие команды разрешают прохождение трафика с заданного номера порта к заданному интерфейсу:
Следующие команды разрешают loopback-доступ к системе:
Nslookup
Инструмент nslookup используется для получения сведений о назначении IP-адресов сетевым ресурсам. Его можно использовать и для получения сведений с DNS-серверов, например таких, как все DNS-записи для некоего веб-сайта (ниже мы рассмотрим соответствующий пример). На nslookup похожа утилита dig (Domain Information Groper).
▍Примеры
Следующая команда выводит IP-адреса вашего DNS-сервера в поле Server, и, ниже, выдаёт IP-адрес искомого сайта:
Такая команда показывает все доступные записи для заданного веб-сайта или домена:
Поиск неполадок
Вот набор команд и список важных файлов, используемых для идентификации сетевых неполадок.
▍Примеры
Итоги
В этой небольшой шпаргалке мы рассказали о сетевых инструментах Linux, предназначенных для системных администраторов. Надеемся, вам эти инструменты пригодятся.
Уважаемые читатели! Чем вы пользуетесь для администрирования сетей и для выяснения причин сетевых неполадок?
Источник