По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Сегодня мы рассмотрим настройку времени на устройствах Cisco при помощи протокола NTP (Network Time Protocol). С токи зрения VoIP иметь правильное время на всех устройствах важно по нескольким причинам: Это позволяет IP-телефонам Cisco отображать пользователям правильную время и дату Это позволяет выставлять правильную дату и время Voicemail сообщениям Это позволяет указывать правильное время и дату в Call Detail Records (CDR) , который используется для отслеживания звонка в сети Это играет большую роль в функциях безопасности на всех устройствах Cisco Это позволяет указывать правильное время и дату в логах коммутаторов и маршрутизаторов Изначально когда устройство Cisco загружается, то у многих дефолтное время будет установлено на полдень 1 марта, 1993 года. Есть два способа сконфигурировать время: вручную ввести команду clock set из привелигерованного раздела EXEC или автоматически, используя Network Time Protocol (NTP). Устройства, получающие время по NTP всегда имеют более точное время, чем устройства, на которых время было установлено вручную. Так, например, все устройства в сети, использующие NTP, будут иметь одинаковое время. Точность часов определяется параметром stratum у NTP сервера. К серверу stratum 1 непосредственно подключены радио или атомные часы. Устройство, которое получает время от него, считается stratum 2. Устройство, получающее время от stratum 2 считается stratum 3 и так далее. В интернете можно найти много списков NTP серверов, например на сайте www.ntp.org После того как мы нашли желаемый сервер можно приступать к конфигурации, используя следующие команды. Router#conf t Router(config)#ntp server 64.209.210.20 Router(config)#clock timezone MSK 3 При помощи команды ntp server [ip_адрес] мы указываем к какому серверу мы будем подключаться для определения времени. По умолчанию на устройстве будет выставлена временная зона UTC (Universal Time Coordinated) . Чтобы настроить временную зону нужно ввести команду clock timezone [имя] [часы] и указать необходимый сдвиг во времени. В данном случае мы указали UTC+3. После конфигурации выполнить проверку можно командами show ntp associations и show ntp status. После того как мы настроили наше устройство для синхронизации с NTP сервером, мы можем использовать его для того, чтобы другие устройства в сети получали от него информацию о времени. Для этого используется команда ntp master [stratum number] . Например, введя команду ntp master 4, мы сможем отдавать информацию о времени со stratum 4 и остается только указать это устройство в качестве источника.
img
Интересным вопросом в Linux системах, является управление регулярными выражениями. Это полезный и необходимый навык не только профессионалам своего дела, системным администраторам, но, а также и обычным пользователям линуксоподобных операционных систем. В данной статье я постараюсь раскрыть, как создавать регулярные выражения и как их применять на практике в каких-либо целях. Основной областью применение регулярных выражений является поиск информации и файлов в линуксоподобных операционных системах. Для работы в основном используются следующие символы: " ext" - слова начинающиеся с text "text/" - слова, заканчивающиеся на text "^" - начало строки "$" - конец строки "a-z" - диапазон от a до z "[^t]" - не буква t "[" - воспринять символ [ буквально "." - любой символ "a|z" - а или z Регулярные выражения в основном используются со следующими командами: grep - утилита поиска по выражению egrep - расширенный grep fgrep - быстрый grep rgrep - рекурсивный grep sed - потоковый текстовый редактор. А особенно с утилитой grep. Данная утилита используется для сортировки результатов чего либо, передавая ей результаты по конвейеру. Эта утилита осуществляет поиск и передачу на стандартный вывод результат его. ЕЕ можно запускать с различными ключами, но можно использовать ее другие варианты, которые представлены выше. И есть еще потоковый текстовый редактор. Это не полноценный текстовый редактор, он просто получает информацию построчно и обрабатывает. После чего выводит на стандартный вывод. Он не изменяет текстовый вывод или текстовый поток, он просто редактирует перед тем как вывести его для нас на экран. Начнем со следующего. Создадим один пустой файл file1.txt, через команду touch. Создадим в текстовом редакторе в той же директории файл file.txt. Как мы видим в файле file.txt просто набор слов. Далее мы с помощью данных слов посмотрим, как работают команды. Первая команда - grep man grep Получаем справку по данной команде. Как можно понять из справки команда grep и ее производные - это печать линий совпадающих шаблонов. Проще говоря, команда grep помогает сортировать те данные, что мы даем команде, через знак конвейера на ввод. Причем в мануале мы можем видеть egrep, fgrep и т.д. данные команды мы можем не использовать. Использовать можно только grep с ключами различными, т.е. ключи просто заменяют эти команды. Можно на примере посмотреть, как работает данная команда. Например, grep oo file.txt На картинке видно, что команда из указанного файла выбрала по определенному шаблону "oo". Причем даже делает красным цветом подсветку. Можно добавить еще ключик -n, тогда данная команда еще и выведет номер строки в которой находится то, что ищется по шаблону. Это полезно, когда работаем с каким-нибудь кодом или сценарием. Когда необходимо, что-то найти. Сразу видим, где находится объект поиска или что-то ищем по логам. При использовании шаблона очень важно понимать, что команда grep, чувствительна к регистрам в шаблонах. Это означает, что Boo и boo это разные шаблоны. В одном случае команда найдет слово, а в другом нет. Можно команде сказать, чтобы она не учитывала регистр. Это делается с помощью ключа -i. Посмотрим содержимое нашего каталога командой ls, а затем отфильтруем только то, что заканчивается на "ile". Получается следующее, когда мы даем на ввод команде grep шаблон и где искать, он работает с файлом, а когда мы даем команду ls она выводи содержимое каталога и мы это содержимое передаем по конвейеру на команду grep с заданным шаблоном. Соответственно grep фильтрует переданное содержимое согласно шаблона и выводит на экран. Получается, что команде grep дали, то команда и обработала. Наглядно можно посмотреть на рисунке выше. Мы просматриваем командой cat содержимое файла и подаем на ввод команде grep с фильтрацией по шаблону. Давайте найдем файлы в которых содержится сочетание "ple". grep ple file.txt в данном случае команда нашла оба слова содержащие шаблон. Давайте найдем слово, которое будет начинаться с "ple". Команда будет выглядеть следующим образом: grep ^ple file.txt. Значок "^" указывает на начало строки. Противоположная задача найти слова, заканчивающиеся на "ple". Команда будет выглядеть следующим образом grep ple$ file.txt. Т.е. применять к концу строки, говорит значок "$" в шаблоне. Можно дать команду grep .o file.txt. В данном выражении знак "." , заменяет любую букву. Как вы видите вывод шаблона ".ple" вывел только одно слово т.к только слово couple удовлетворяло шаблону , т.к перед "ple" должен был содержаться еще один символ любой. Попробуем рассмотреть другую команду egrep. egrep (Extended grep) man egrep - отошлет к справке по grep. Данная команда позволяет использовать более расширенный набор шаблонов. Рассмотрим следующий пример команды: egrep '^(b|d)' file.txt Шаблон заключается в одинарные кавычки, для того чтобы экранировать символы, и команда egrep поняла, что это относится к ней и воспринимала выражение как шаблон. Сам же шаблон означает, что поиск будет искать слова, в начале строки (знак ^) содержащие букву b или d. Мы видим, что команда вернула слова, начинающиеся с буквы b или d. Рассмотрим другой вариант использования команды egrep. Например: egrep '^[a-k]' file.txt Получим все слова, начинающиеся с "a" по "к". Знак "[]" - диапазона. Как мы видим слова, начинающиеся с большой буквы, не попали. Все эти регулярные выражения очень пригодятся, когда мы что-то ищем в файлах логах. Усложним еще шаблон. Возьмем следующий: egrep '^[a-k]|[A-K]' file.txt Усложняя выражение, мы добавили диапазон заглавных букв сказав команде grep искать диапазон маленьких или диапазон больших букв с начала строки. Вот теперь все хорошо. Слова с Заглавными буквами тоже отобразились. Как вариант egrep можно запускать просто grep с ключиком -e. Про fgrep man fgrep - отошлет к справке по grep. Команда fgrep не понимает регулярных выражений вообще. Получается следующим образом если мы вводим: egrep c$ file.txt. То команда согласно шаблону, ищет в файле букву "c" в конце слова. В случае же с командой fgrep c$ file.txt, команда будет искать именно сочетание "с$". Т.е. команда fgrep воспринимает символы регулярных выражений, как обычные символы, которые ей нужно найти, как аргументы. Рекурсивный rgrep Создадим каталог mkdir folder . Создадим файл great.txt в созданной директории folder со словом Hello при помощью команды echo "Hello" folder/great.txt И если мы скажем grep Hello * , поищи слово Hello в текущей директории. Получится следующая картина. Как мы видим grep не может искать в папках. Для таких случаев и используется утилита rgrep. rgrep Hello * Дает следующую картину. Совершенно спокойно в папке найдено было, то что подходило под шаблон. Данная утилита пробежалась по всем папкам и файлам в них и нашла подходящее под шаблон слово. Т.е. если нам необходимо провести поиск по всем файлам и папкам, то необходимо использовать утилиту rgrep. Команда sed man sed - стрим редактор. Т.е потоковый редактор для фильтрации и редактирования потока данных. Например, sed -e ‘s/oo/aa’ file.txt - открыть редактор sed и заменить вывод всех oo на aa в файле file.txt. Нужно понимать, что в результате данной команды изменения в файле не произойдут. Просто данные из файла будут взяты и с изменениями выведены на стандартный вывод, т.е. экран. Для сохранения результатов мы можем сказать, чтобы вывел в новый файл указав направление вывода. sed -e ‘s/oo/aa’ file.txt newfile.txt В данном редакторе мы можем ему сказать использовать регулярные выражения, для этого необходимо добавить ключ -r. У данного редактора очень большой функционал.
img
Ядро Linux является основой Unix-подобных операционных систем. Ядро отвечает за связь между оборудованием и программным обеспечением и за распределение доступных ресурсов. Все дистрибутивы Linux основаны на предопределенном ядре. Но если вы хотите отключить несколько параметров и драйверов или попробовать экспериментальные исправления, вам необходимо собрать ядро Linux. В этом пошаговом руководстве вы узнаете, как собрать и скомпилировать ядро Linux с нуля. Сборка ядра Linux Процесс создания ядра Linux состоит из семи простых шагов. Однако процедура требует значительного времени для завершения, в зависимости от скорости системы. Примечание. Если версия на веб-сайте ядра не совпадает с версией из приведенных ниже шагов, используйте эти команды и замените номер версии ядра. Шаг 1. Загрузите исходный код 1. Посетите официальный сайт ядра www.kernel.org и загрузите последнюю версию. Загруженный файл содержит сжатый исходный код. 2. Откройте терминал и используйте команду wget для загрузки исходного кода ядра Linux: wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.9.6.tar.xz По завершении загрузки в выходных данных отображается сообщение "saved". Шаг 2: извлеките исходный код Когда файл будет готов, запустите команду tar, чтобы извлечь исходный код: tar xvf linux-5.9.6.tar.xz Вывод отображает извлеченный исходный код ядра: Шаг 3: Установите необходимые пакеты Перед сборкой ядра установите дополнительные пакеты. Для этого запустите эту команду: sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison Команда, которую мы использовали выше, устанавливает следующие пакеты: git - отслеживает и записывает все изменения исходного кода во время разработки. Это также позволяет отменить изменения. fakeroot - упаковочный инструмент, создающий фальшивую корневую среду. build-essential - Устанавливает инструменты разработки, такие как C, C++, gcc и g++. ncurses-dev - Библиотека программирования, предоставляющая API для текстовых терминалов. xz-utils - обеспечивает быстрое сжатие и распаковку файлов. libssl-dev - поддерживает SSL и TSL, которые шифруют данные и делают интернет-соединение безопасным. bc (Basic Calculator) - математический язык сценариев, поддерживающий интерактивное выполнение операторов. flex (Fast Lexical Analyzer Generator) - генерирует лексические анализаторы, преобразующие символы в токены. libelf-dev - выдает общую библиотеку для управления файлами ELF (исполняемые файлы, дампы ядра и объектный код) bison - генератор парсера GNU, который преобразует описание грамматики в программу на языке C. Шаг 4: Настройте ядро Исходный код ядра Linux поставляется с конфигурацией по умолчанию. Однако вы можете настроить его под свои нужды. Для этого выполните следующие действия: 1. Перейдите к каталогу linux-5.9.6. с помощью команды cd: cd linux-5.9.6 2. Скопируйте существующий файл конфигурации с помощью команды cp: cp -v /boot/config-$(uname -r) .config 3. Чтобы внести изменения в файл конфигурации, выполните команду make: make menuconfig Команда запускает несколько скриптов, которые затем открывают меню конфигурации: 4. Меню конфигурации включает в себя такие параметры, как прошивка, файловая система, сеть и параметры памяти. Используйте стрелки, чтобы сделать выбор, или выберите HELP, чтобы узнать больше о вариантах. Когда вы закончите вносить изменения, выберите SAVE, а затем выйдите из меню. Примечание. Изменение настроек некоторых параметров может привести к тому, что ядро не будет работать. Если вы не знаете, что изменить, оставьте настройки по умолчанию. Шаг 5: Соберите ядро 1. Начните сборку ядра, выполнив следующую команду: make Процесс сборки и компиляции ядра Linux занимает некоторое время. Терминал перечисляет все компоненты ядра Linux: управление памятью, драйверы оборудования, драйверы файловой системы, сетевые драйверы и управление процессами. 2. Установите необходимые модули с помощью этой команды: sudo make modules_install 3. Наконец, установите ядро, набрав: sudo make install Вывод показывает готово, когда закончено: Шаг 6. Обновите загрузчик (необязательно) Загрузчик GRUB - это первая программа, которая запускается при включении системы. Команда make install выполняет этот процесс автоматически, но вы также можете сделать это вручную. 1. Обновите initramfs до установленной версии ядра: sudo update-initramfs -c -k 5.9.6 2. Обновите загрузчик GRUB с помощью этой команды: sudo update-grub Терминал выведет процесс и подтверждающее сообщение: Шаг 7: перезагрузите и проверьте версию ядра Когда вы выполните описанные выше действия, перезагрузите компьютер. Когда система загрузится, проверьте версию ядра с помощью команды uname: uname -mrs Терминал покажет текущую версию ядра Linux. Итог В этом пошаговом руководстве вы узнали, как собрать ядро Linux с нуля и установить необходимые пакеты.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59