По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
В данной статье мы рассмотрим работу с пакетами и менеджерами пакетов в Red Hat (CentOS) операционных системах. Для работы с пакетами в операционных системах используют yum и rpm. В современной версии используется пакетный менеджер dnf, но он является "форком" от пакетного менеджера yum. Данный пакет разрабатывался в целях решить проблему производительности в первую очередь и в принципе он очень похож, поэтому мы посмотрим в статье на примере классических пакетных менеджеров. В статье мы рассмотрим следующие вопросы: Установка, удаление и обновление пакетов. Поиск пакетов и их зависимостей. Получение полной информации о пакетах. В статье нам понадобится понимание: rpm утилита управления пакетами в Red Hat системах. rpm2cpio разбор пакета на двоичные файлы. yum программа для работы с пакетами в Red Hat системах yumdownloader скачивание пакетов /etc/yum.repos.d./ - перечень репозиториев. Если сравнивать с Ubuntu можно сказать, что вместо dpkg у нас будет rpm, а вместо apt будет yum и дополнительные особенности centos. Открываем консоль. Переходим в режим суперпользователя, команда su. Посмотрим на команду rpm --help. Функционал достаточно большой, все ключи на один экран не помещаются. Есть опции по запросу и проверке пакетов можно найти ключи в секции queryverify. Очень мощная утилита, но для работы все таки удобнее использовать пакетный менеджер yum. Попробуем воспользоваться rpm, чтобы посмотреть его особенности. Лучше всего смотреть на примере. Скачаем программу webmin в виде установочного rpm пакета. Скачали пакет и положили в директорию tmp. Переходим в нее cd /tmp. Далее можно посмотреть наличие файлов ls la. Установим данный пакет. Для установки используем два ключа, ключ i означает install, ключ v означает verbose показывать ход установки. rpm iv webmin-1.955-1.src.rpm Пакет установился. Можно теперь зайти в браузер и начать работу, но цель была посмотреть, как работает rpm. Для того, чтобы удалить пакет необходимо использовать ключ e, который означает erase. Команда будет выглядеть следующим образом: rpm e webmin Название пакета можно полностью не писать, должно работать. Для того, чтобы проверить ключ у скаченного пакета есть ключ K. rpm K webmin-1.955-1.noarch.rpm Как из вывода видим, с пакетом не все в порядке отсутствует ключ для расшифровки подписи. Но данному пакету можно доверять, т. к. он скачан из надежного источника и качали сами. Для того, чтобы проверить состоянии самого пакета есть другой ключ V rpm Vv webmin-1.955-1.noarch.rpm Можно получить информацию о пакете для этого необходимо использовать ключи qi, где query information. rpm qi webmin-1.955-1.noarch.rpm В данном выводе мы можем много информации получить о пакете, Название, Версия, дата сборки и т.д. Возможно, когда-то может возникнуть необходимость посмотреть из чего состоит пакет rpm и разобрать его на составные части. Для этого необходимо использовать небольшую утилиту rpm2cpio. Расшифровывается т.е. rpm переделывается в cpio "copy inputoutput" это и двоичный архиватор, и формат файла. Сейчас пакет rpm должен пере паковаться в формат cpio. Пользоваться следующим образом: rpm2cpio webmin-1.955-1.noarch.rpm > webmin.cpio Как мы видим, получили еще один файл с расширением cpio и вот этот файл в формате родном для других unix систем. И так RPM это такая низкоуровневая утилита, которая позволяет работать с RPM пакетами. YUM Родной и понятный yum, так же имеет файл помощи, как и все другие утилиты. yum help У него меньше опций, меньше возможностей. И есть большое количество команд, проверить, очистить, удалить, получить информацию. Здесь не просто уже ключи, а целые слова и маленькие опции для комфортной работы. Например, мы можем написать: yum install openssh-clients Можно видеть, как он ищет проверяет и говорит, что данный пакет установлен, последняя версия пакета и ему нечего делать. Для удаления мы даем команду: yum remove openssh-clients Он запросит подтверждение на данное действие и если мы подтвердим, то утилита будет удалена. Можно удалить весь ssh: yum remove openssh, но тогда будет предупреждение, что обнаружена одна зависимость от openssh-clients и, если мы подтвердим обе утилиты будут полностью удалены. Т.е это умный пакетный менеджер позволяет работать так, чтобы лишние утилиты не болтались, т.е он сам находит и разрешает зависимости. Еще интересный факт, что при установки пакетный менеджер проверяет зеркала и кэш, что ему позволяет определять, что установлена последняя версия программного обеспечения. В отличии от пакетного менеджера apt (Ubuntu), которому надо сначала обновить кэш apt update, yum автоматически сам обновляет информацию в процессе установки пакетов. Репозиторий yum находится в следующей директории и лежат как отдельные файлы. /etc/yum.repos.d/ Посмотрим базовый репозиторий cat CentOS-Base.repo Написано, что это зеркало для подключения клиентов и проверки статуса обновлений. Тут мы можем увидеть имя репозитория и зеркала где находятся обновления. Есть еще ключи, которые можно проверять, а можно и не проверять. Если мы изменим строчку gpgcheck = 0 то проверка осуществляться не будет. Можно самостоятельно добавить репозиторий, создав файл с расширением repo. И тогда получится свой репозиторий. Для обновления всех пакетов используется команда yum upgrade. Если пакетный менеджер видит обновления, то он предложит сделать выбор установить или нет. Дополнительно есть утилита для просто закачки пакетов без установки yumdownloader. Работает просто. Переходим в нужную директорию и вводим, например, yumdownloader openssh и происходит закачка. И последнее пакетный менеджер умеет искать пакеты. Например, yum search openssh.
img
Название tar архива образовано от сочетания Tape ARchive, так как было разработано для записи последовательных данных на ленточные устройства. Также иногда встречается название tarball. По умолчанию tar архивирует файлы только без сжатия, но с использованием некоторых частей. Мы можем использовать различные методы сжатия, чтобы на выходе получить архив меньшего размера. Утилита tar обычно включается в большинство дистрибутивов Linux по умолчанию, а сам формат поддерживается другими операционными системами, включая Windows и macOS, с помощью различных инструментов и утилит. В этой статье мы рассмотрим некоторые общие примеры использования команды tar и поддерживаемые флаги. 1. Создание tar архива Для создания обычного архива без сжатия достаточно ввести команду ниже: $ tar cvf <tar-file-name> <files-to-archive> Здесь флаги c обозначает создание, v обозначает подробный вывод и f обозначает имя файла архива tar. По соглашению укажите имя файла tar с расширением .tar. Архивируемые файлы могут быть определены с помощью подстановочных знаков или же можно указать один файл или несколько файлов/путей. В качестве примера можно привести три файла в каталоге: Создать архив, содержащий все три файла, можно следующим образом: Также можно указать только конкретные файлы для архивирования, например: 2. Создание сжатого архива (GZ) tar позволяет не только архивировать файлы, но и сжимать их для экономии места. Одним из популярных форматов сжатия является gunzip, обычно представленный расширением .gz после .tar или как tgz. Мы можем использовать флаг z, чтобы указать, что файлы должны быть сжаты с помощью gunzip. Вот пример: Можно заметить, что размер архивных файлов существенно отличается, хотя оба содержат одни и те же три файла. Это связано с использованием сжатия с использованием флага z. 3. Создание сжатого архива (BZ) tar поддерживает несколько других форматов сжатия. Одним из них является bz2 или bzip2, который представлен расширением tar.bz2 или иногда как tbz2. Это может дать вам меньший размер архива, но, в свою очередь, потребляет больше ЦП, так что процесс сжатия/декомпрессии может быть медленнее, чем gz архив. Для создания bz архива используется флаг j: 4. Распаковка всех файлов Архив tar (сжатый или несжатый) можно извлечь с помощью опции x. Ниже приведены примеры, поясняющие его использование: Эта команда также работает для сжатого архива формата gz: И даже для архива со сжатием bz2: 5. Просмотр содержания архива Чтобы перечислить содержимое архива tar, можно использовать флаг t, как показано ниже: 6. Распаковка конкретных файлов Из архива tar, tar.gz или tar.bz2 можно извлечь как все файлы, так и один конкретный файл, указав имя файла: Аналогично, можно указать несколько имен файлов, разделенных пробелом, чтобы извлечь их вместе за один переход. 7. Распаковка с помощью маски Чтобы извлечь один или несколько файлов с помощью шаблона PATTERN, используйте флаг --wildcards: 8. Добавление файлов в архив В существующий несжатый архив можно добавлять новые файлы используя флаг r или --append с новыми именами файлов или шаблоном подстановочных символов (помните, что это работает только с несжатыми TAR-файлами, а не со сжатыми форматами tar.gz или tar.bz2): Можно увидеть, что содержимое списка archive.tar показывает два только что добавленных файла. 9. Удаление файлов из архива Удаление определенных файлов из архива tar возможно с помощью флага --delete, как показано ниже (сравните список tar до и после удаления файлов): Опять же это работает только для несжатых архивов и завершится неудачей для сжатых форматов архива. 10. Создание архива с проверкой При создании несжатых архивных файлов можно проверить содержимое архива, используя флаг W как показано ниже: Этот флаг нельзя использовать с флагами сжатия, хотя можно сжать созданный файл tar позже с помощью gzip или других инструментов. 11. Распаковка архива в папку Если вы хотите извлечь содержимое тарбола в определенную папку вместо текущего каталога, используйте флаг -C с указанием пути к каталогу, как показано ниже: 12. Использование флага –diff Можно использовать флаг --diff или d для поиска любых изменений между файлами в архиве tar и файлами в файловой системе. Вот пример, который запускает diff один раз, когда файл внутри архива и снаружи был один и тот же. Если запустить команду снова после обновления файла, то можно увидеть разницу в выходных данных. 13. Исключение файлов Исключение определенных файлов может быть обязательным при создании архивов tar. Этого можно достичь с помощью флага --exclude. Как можно заметить из приведенных выше выходных данных, можно задать флаг --exclude несколько раз, чтобы указать несколько имен файлов или шаблонов связывая их логическим AND. Следует отметить, что из шести файлов в директории в приведенном выше примере только два файла удовлетворяли условию, которое должно быть включено в archive.tar.gz. 14. Просмотр размера содержимого архива Размер содержимого сжатого архива tar можно получить с помощью следующей команды: Аналогично для архива bz2: 15. Архивация с сохранением разрешений По умолчанию команда tar сохраняет разрешение архивированных файлов и каталогов, хотя можно явно указать его с помощью флага -p или --preserve-permissions, как показано ниже. Заключение tar - полезная утилита в системах Unix/Linux в течение долгого времени и в первую очередь использовалась в задачах архивирования и резервного копирования. С течением времени утилита развивалась и приобретала многие опции. Он может использоваться для простых и сложных задач, если вы знаете, какие функции он предлагает. В этой статье описаны некоторые основные операции, которые можно выполнить с помощью команды tar, и показано, как она может помочь в выполнении повседневных задач системного администрирования. Для получения дополнительных сведений обратитесь воспользуйтесь встроенным руководством Linux с помощью команда man tar или используйте команду tar --help или tar --usage.
img
В больших корпоративных сетях могут использоваться несколько протоколов внутренней маршрутизации. Такая практика часто встречается при слиянии двух компаний. Чтобы компьютеры в одном домене маршрутизации (далее просто «домен») видели хосты в другом домене применятся так называемая редистрибуция. Эта функция позволяет маршрутизатору выбрать маршрут, выученный через один протокол маршрутизации, например, EIGRP и добавить в его в список анонсируемых сетей в другой, например, OSPF. Эта операция выполняется на маршрутизаторах, который смотрят в обе сети и называются точкой редистрибуции (Redistirbution Point). Маршрутизаторы, которые занимаются анонсированием сетей из одного домена в другой используют для этого таблицу маршрутизации. Другими словами, если маршрутизатор не найдет путь до какой-то сети в своей таблице, то он не будет анонсировать его в другой домен. Схема сети Для построения отказоустойчивой сети обычно применяются два или более маршрутизатора, которые занимаются перебросом маршрутной информации с одного домена в другой. В такой ситуации может образоваться так называемая петля маршрутизации. Поясним на рисунке: В данном случае пакеты из маршрутизатор 2, чтобы добраться до сети Х, которая находится в том же домене делает круг через RD1 > R1 > RD2 > Subnet X. Это происходит потому, что маршрут, объявленный RD1 в Домен маршрутизации 2, имеет меньшее административное расстояние (Administrative Distance, AD), чем маршруты, объявленные роутерами из того же домена. Далее рассмотрим в каких случаях возможно такое. Как избежать петель? Один из самых лёгких методов для избегания петель маршрутизации это при добавлении маршрутов из одного домена в другой более высокой метрики. В данном случае маршрутизаторы RD1 и RD2 при анонсировании маршрутов, выученных протоколом RIP в домен OSPF, назначают им метрику 500. И наоборот, из домена OSPF в домен RIP маршруты анонсируются с метрикой 5. Второй способ – это административное расстояние. Любой маршрут, который добавляется в таблицу маршрутизации роутера, сопоставляется с административным расстоянием. Если роутер получил несколько маршрутов в одну и ту же сеть с одной и той же длиной префикса, то в таблицу попадают маршруты с меньшим AD. Маршрутизатор не учитывает метрику. Вместе с этим, AD – это локальное значение для каждого роутера и не объявляется соседним маршрутизаторам. В таблице ниже приведены административные расстояния для всех типов маршрутов на роутерах Cisco. Тип маршрутаАдминистративное расстояниеConnected (подключённый)0Static (Статический)1EIGRP Summary route5eBGP (external BGP)20EIGRP (internal)90IGRP100OSPF110IS-IS115RIP120EIGRP (external)170iBGP (internal BGP)200 Настройки AD по умолчанию для протокола EIGRP при анонсировании маршрутов в OSPF и RIP предотвращают образование петель маршрутизации. На рисунке выше подсеть 172.16.35.0/24 анонсируется через RD1 в домен OSPF. Маршрутизатор R2 в свою очередь анонсирует выученную через external OSPF сеть роутеру RD2. Но RD2 уже выучил маршрут до сети 35.0 через EIGRP, у которого административное расстояние равно 90, что меньше чем AD OSFP, которое равно 110. Таким образом RD2 не добавит маршрут, полученный у R2 с AD 110 в таблицу маршрутизации и соответственно не будет редистрибутировать обратно в EIGRP. Таким образом логику работы маршрутизатора RD2 можно сформулировать следующим образом: RD2 считает маршрут, полученный по EIGRP лучшим, так как у него меньшее административное расстояние, и добавляет его в таблицу маршрутизации. RD2 не будет анонсировать маршрут, полученный через OSPF, так как его нет в таблице маршрутизации. В силу своей специфик, протокол EIGRP также предотвращает образование петель маршрутизации при редистрибуции из OSPF и RIP. Как было указано на таблице выше, внешние маршруты в EIGRP имеют административное расстояние равным 170. В данном случае маршрутизатор RD2 выучил два маршрута в сеть 192.168.11.0/24. Один через R2 в домене OSPF с AD равным 110, второй через R1 в домене EIGRP с административным расстоянием равным 170-ти. Действуя по указанной выше логике, RD2 добавит в таблицу маршрутизации сеть 11.0 выученный у роутера R2 предотвращая таким образом образование петли. Если в случае EIGRP-OSPF, EIGRP-RIP нам удалось без особых усилий предотвратить петлю маршрутизации, то в случае OSPF-RIP всё немного сложнее. Так как OSPF для всех типов маршрутов использует один показатель AD – 110, то при редистрибуции между RIP и OSPF избежать петель удается только изменение административного расстояния протоколов маршрутизации. Делается это командой distance. Для изменения показателя AD для внешних маршрутов, в интерфейсе настройки OSPF прописываем команду distance external ad-value. Значение, указанное параметром должно быть больше, чем у RIP (120). Но не редки случаи, когда в сети работают более двух протоколов маршрутизации. В таких случаях значения AD по умолчанию не помогают. На рисунке ниже сеть 172.20.0.0/16 выучена протоколом EIGRP как внешний через RIP с АР (Административное Расстояние) равным 170. В свою очередь RD1 анонсирует данную сеть в домен OSPF с АР равным 110. RD2 же вместо маршрута с АР 170, полученного из домена EIGRP в таблицу добавляет маршрут с АР 110, полученный из домена OSPF. При таком раскладе маршрутизатор R4 получает два маршрута в одну и ту же сеть с одним и тем же АР. И в случае если метрика RD2 лучше, то R4 отправке пакетов в сеть 172.20 будет использовать более длинный путь. Нужно заметить, что это только в том случае, когда домены расположены именно в указанном порядке. В таких случаях применяется настройка административного расстояния в зависимости от маршрута. Как было указано выше, для изменения АР используется команда distance. Эта команда принимает несколько параметров: distance distance ip-adv-router wc-mask [ acl-number-or-name ] В данной команде обязательным параметром является IP соседнего маршрутизатора. Если IP адрес анонсирующего маршрутизатора совпадёт с указанными в команде, то для маршрутов, полученных от этого соседа данный роутер назначит указанный в команде АР. Рассмотрим указанный случай на практике. Детальная топология сети, показанная выше, указана на рисунке, а конфигурацию можете скачать по ссылке ниже: Скачать файлы конфигрурации Для начала просмотрим с каким АР RD1 выучил маршрут до сети 172.20: Как видим, RD1 добавил в таблицу маршрутизации маршрут, выученный через OSPF, вместо EIGRP, так как АР у OSPF меньше. Теперь изменим поведение маршрутизатора и посмотрим, как это повлияет на таблицу маршрутизации. ip access-list standard match-172-20 permit host 172.20.0.0 router ospf 2 distance 171 1.1.1.1 0.0.0.0 match-172-20 P.S. В GNS скорее всего придётся выключить, затем включить интерфейс, смотрящий в OSPF домен, чтобы изменения применились. В реальной сети всё работает правильно. Поясним, что мы написали выше. Со стандартным списком доступа всё понятно. Команде distance параметром задали 171 – административное расстояние. Затем идет router id маршрутизатора, который анонсирует сеть 172.20. В нашем случае это маршрутизатор RD1. Таким образом, OSPF посмотрит полученный LSA и, если там увидит идентификатор маршрутизатора RD1, а также сеть, которая указана разрешённой в списке доступа, то применит этому маршруту расстояние 171. Отметим, что указанную конфигурацию нужно сделать на всех роутерах, которые занимается распределением маршрутов и для всех сетей их третьего домена.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59