По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
YUM (Yellowdog Updater, Modified) это менеджер пакетов, используемый в Red Hat, CentOS и других дистрибутивах Linux, использующих RPM Package Manager. Yum используется для установки, обновления, удаления или других манипуляций с пакетами, установленными на этих Linux-системах. В этом руководстве мы расскажем вам о команде yum update - что она собой представляет, как ее использовать, и о различных командах, которые могут вам пригодиться, для обновления установленных пакетов в вашей системе. Как работает команда Yum Update? Yum update - это команда, используемая для обновления приложений, установленных в системе. Если команда выполняется без указания имён пакетов, она обновит все установленные в системе пакеты. $ yum update При выполнении этой команды, yum начнёт с проверки своих репозиториев на наличие обновленных версий программного обеспечения, установленных в вашей системе на данный момент. На приведенном ниже Рисунке А показан тип вывода, который вы обычно видите при первом запуске команды yum update. Как вы можете увидеть,на выводе yum сначала перечисляет запрашиваемые репозитории, которые являются стандартными репозиториями по умолчанию для CentOS: AppStream, Base и Extras.Ниже, приводится список различных пакетов, для которых были найдены обновления. В конце этого вывода yum отобразит "Сводку транзакций", которая показывает общее количество пакетов, которые должны быть установлены и обновлены. В данном примере на Рисунке Б, идёт обновление 166 пакетов и установка 6 новых пакетов. На случай, если вам интересно почему устанавливаются новые пакеты, когда мы должны были только обновить приложения, некоторые новые пакеты программного обеспечения могли стать частью этого дистрибутива Linux, или некоторые обновленные приложения могут полагаться на дополнительные пакеты, которые еще не установлены. После просмотра списка программного обеспечения, которое yum планирует обновить, вы можете подтвердить эти изменения, набрав "y" и нажав клавишу Enter. Затем Yum начнёт выполнять обновления, которые могут занять некоторое время в зависимости от скорости вашего соединения и самой системы. После его завершения вы получите итоговую сводку, как показано на рисунке В, в которой будут перечислены все пакеты, которые были успешно обновлены, а также все ошибки, которые могли возникнуть. Обновление без проверки gpg В Linux для проверки подлинности RPM пакетов используются GPG ключи. Если при запуске обычной команды обновления yum вы столкнётесь с ошибкой типа "Package NameOfPackage.rpm is not signed .. install failed!", вы можете с лёгкостью пропустить проверку подлинности RPM пакетов с помощью опции -nogpgcheck. $ yum update --nogpgcheck Данный параметр указывает команде yum игнорировать проверку GPG подписей пакетов. И будет полезен в тех случаях, когда у вас есть неподписанный пакет или просто нет ключа GPG. Обновление из локального репозитория Можно настроить локальные репозитории для команды yum при выполнении обновлений. Это зачастую делается, если вам нужно использовать yum для обновления пакетов, которые не включены в репозитории по умолчанию, или если вам нужно обновить автономную систему. Прежде всего, поместите все ваши обновленные RPM-файлы в новую папку. В этом примере мы будем использовать /root/rpms. Затем перейдите в следующую директорию, где вы можете увидеть все файлы репозитория для yum: $ cd /etc/yum.repos.d Чтобы настроить собственный репозиторий, создадим новый файл в этом каталоге. $ vi MyRepo.repo Непосредственно в вашем repo-файле задайте параметры в указанном формате, меняя строки по мере необходимости: [MyRepo] name=My Local Repo baseurl=file:///root/rpms enabled=1 gpgcheck=0 Большая разница между локальным и удаленным repo заключается в строке "baseurl", где протокол file:// указывает на локальный файл, в то время как удаленный на протоколы http:// или ftp://. Как только файл будет сохранен, примените правильные права доступа как показано ниже: $ chmod 644 MyRepo.repo Теперь репозиторий может быть готов к использованию. Перед тем, как пытаться выполнить команду yum update убедитесь, что вы очистили кэш yum использую команду: $ yum clean all Просмотр обновлений Yum может отображать доступные обновления безопасности без их установки, с помощью этой команды: $ yum updateinfo list security Если в результатах данные не возвращаются, как на рисунке выше, это означает отсутствие обновлений безопасности для всех установленных в вашей системе программных продуктов. Обновление конкретного пакета Если вам нужно обновить определенный пакет без запуска обновления для каждого установленного приложения, просто укажите имя пакета в вашей команде yum update. $ yum update name-of-package Можно указать несколько пакетов, разделенных пробелом. Вам нужно, чтобы название пакета было указано идеально, чтобы yum смог найти его в своих репозиториях; если вы не уверены в наименовании пакета, сначала проверьте, какие пакеты в настоящее время доступны для обновлений: $ yum check-update Обновить все, кроме одного пакета Если вам нужно выполнить команду yum update, но вы хотите исключить какой-либо пакет из списка обновляемых, вы можете указать опцию -exclude. Распространённая ситуация, когда администраторы могут счесть это необходимым, связана с обновлениями ядра, так как это основные обновления, которые могут привести к непредсказуемым ошибкам на рабочем сервере. Однако, они всё же могут выполнить команду для обновления менее критичных приложений. Чтобы исключить пакет (в данном примере связанные с ядром): $ yum update --exclude=kernel* Звездочка действует как подстановочный знак, в случае, если существует несколько взаимосвязанных пакетов или вы не знаете полного имени пакета. В качестве альтернативы: $ yum update -x 'kernel*' Исключение нескольких пакетов Вы можете исключить несколько пакетов с большим количеством опций -exclude. $ yum update --exclude=kernel* --exclude=httpd Используйте этот символ, как в примере выше, или же символ -x, столько раз, сколько потребуется. Проверить, когда было запущено последнее обновление Для того чтобы увидеть список транзакций с датой и временем их выполнения, воспользуйтесь командой yum history. $ yum history На приведенном выше скриншоте, вы можете видеть, что последний раз обновление программного обеспечения yum было 4 января. Откатить (отменить) обновления Отличительной особенностью "yum" является то, что она позволяет отменить последнее обновление, тем самым восстанавливая обновленные пакеты до их предыдущих версий. Каждому действию yum (установка, обновление, удаление и т.д.) присваивается идентификатор транзакции, и этот идентификатор следует указывать при отмене обновления yum.Чтобы посмотреть список идентификаторов операций для недавних действий Yum, воспользуйтесь этой командой: $ yum history На скриншоте выше вы можете видеть, что последней операцией, выполненной с помощью yum, была установка пакета httpd. Отмена установки или обновления работает таким же образом, поэтому в этом примере мы отменим последнюю установку httpd. Как показано на скриншоте, эта операция имеет ID 7. Чтобы отменить это изменение и откатить программу на предыдущую версию, выполните эту команду: $ yum history undo 7 Как обычно, yum подведёт итоги внесённых изменений и спросит, хотите ли вы продолжить с помощью подсказки Y/N.Если ввести Y, то указанная транзакция будет отменена. Чистка неудачного обновления Yum Если не удалось успешно обновить один или несколько пакетов при выполнении команды "yum update", в систему могут быть установлены дубликаты пакетов (2 версии одной и той же программы). Иногда, следуя вышеописанным инструкциям по откату, можно устранить проблему. Если это не сработает, вы можете удалить дубликаты пакетов вашей системы с помощью данной команды: $ package-cleanup --dupes Yum хранит в кэше информацию для пакетов, метаданных и заголовков. Если вы столкнулись с ошибкой,очистка кэш-памяти yum является хорошим первым шагом в устранении неполадок. Для этого используйте следующую команду: $ yum clean all Игнорирование ошибок При обновлении или установке пакета для его корректной работы может потребоваться дополнительное программное обеспечение. Yum знает об этих зависимостях и попытается разрешить их во время обновления, устанавливая или обновляя необходимые дополнительные пакеты. Если у вас возникнут проблемы с установкой необходимых компонентов, это приведёт к ошибке и не позволит продолжить работу. Это может стать проблемой, если у вас есть другие пакеты, которые необходимо обновить. Чтобы дать инструкции yum продолжить обновление других пакетов и пропустить пакеты с поврежденными зависимостями, вам следует указать параметр -skip-broken в команде yum update. $ yum update --skip-broken Вывести список пакетов, которые нужно обновить. Выполнение команды Yum update в обычном режиме без дополнительных опций выведет список всех доступных обновлений. $ yum update Если вы хотите посмотреть дополнительную информацию о доступных обновлениях пакета, введите эту команду: $ yum updateinfo Чтобы посмотреть информацию касательно обновлений безопасности, которые доступны для системы, введите эту команду: $ yum updateinfo security Разница между командами yum check update и yum list update Хотя эти две команды звучат одинаково, но есть разница между проверкой обновлений и списком обновлений в yum. $ yum list updates Команда list updates, показанная выше, перечислит все пакеты в репозиториях, для которых доступны обновления. Имейте в виду, что некоторые пакеты в репозиториях могут быть вообще не установлены в вашей системе. $ yum check-update Указанная выше команда check-update позволяет проверять наличие обновлений без вмешательства пользователя. Это команда подойдёт в тех случаях, если вы пишите скрипт для проверки обновлений. Если есть пакеты с доступными обновлениями, команда check-update вернёт значение 100, а если нет доступных обновлений, то значение 0. При обнаружении ошибки возвращается значение 1. Используйте эти значение чтобы надлежащим способом написать свой скрипт. Уведомление о наличии доступных обновлений Есть несколько пакетов, которые могут помочь управлять обновлениями yum в вашей системе.Некоторые из них могут даже уведомлять администраторов, если есть обновления, которые можно установить.Один из таких сервисов называется yum-cron. Для начала установите yum-cron используя yum: $ yum install yum-cron Установите службу yum-cron для запуска при загрузке: $ systemctl enable yum-cron.service $ systemctl start yum-cron.service Настройте параметры yum-cron внутри конфигурационного файла с помощью vi или предпочитаемого вами текстового редактора: $ vi /etc/yum/yum-cron.conf В этом файле вы можете указать, должны ли обновления применяться автоматически или нет. Если вы хотите только получать уведомления, введите данные электронной почты в файле конфигурации. В любое время, когда появятся обновления для вашей системы, yum-cron отправит вам электронное письмо. apply_updates = no #don’t apply updates automatically email_from = root@localhost email_to = admin@example.com email_host = localhost Какой порт использует yum update При проверке обновлений yum использует порт 80. Если вы загляните внутрь файлов репозитория в вашей системе, то вы увидите, что все ссылки внутри начинаются с http. Таким образом, для нормального функционирования yum на брандмауэре нужно прописать правило и открыть порт 80. Yum update против upgrade До сих пор в этом руководстве мы говорили только о команде yum update, но есть и другая очень похожая команда: yum upgrade. $ yum upgrade Существует небольшая разница между этими двумя командами. Yum update обновит пакеты в системе, но пропустит удаление устаревших пакетов. Yum upgrade тоже обновит все пакеты в вашей системе, но также удалит устаревшие пакеты. Это по своей сути более безопасный вариант команды yum update, поскольку вам не нужно беспокоиться о случайном удалении необходимого пакета при обновлении программного обеспечения. Будьте внимательны при вводе команды yum upgrade, так как она может не сохранить некоторые пакеты, которые вы всё ещё используете. Я надеюсь, что вы найдете это руководство полезным при работе с утилитой yum.
img
Sudo означает SuperUser DO и используется для доступа к файлам и операциям с ограниченным доступом. По умолчанию Linux ограничивает доступ к определенным частям системы, предотвращая компрометацию конфиденциальных файлов. Команда sudo временно повышает привилегии, позволяя пользователям выполнять конфиденциальные задачи без входа в систему как пользователь root. В этом руководстве вы узнаете, как использовать команду sudo в Linux с примерами. Как использовать команду sudo Установка sudo Пакет sudo установлен в большинстве дистрибутивов Linux. Чтобы проверить есть ли у вас эта комманда введите sudo. Вы увидите справочное сообщение или сообщение о том что комнада не найдена. Чтобы установить sudo используйте для Ubuntu и Debian: apt install sudo или для CentOS и Fedora yum install sudo sudo была разработана как способ временного предоставления пользователю административных прав. Чтобы заставить ее работать, используйте sudo перед ограниченной командой, которую можно выполнить только из под рута. Тогда система запросит ваш пароль. После его ввода система запускает команду. Синтаксис sudo [команда] Опции sudo можно использовать с дополнительными параметрами: -h - отображает синтаксис и параметры команды -V - отображает текущую версию приложения sudo -v - обновить лимит времени на sudo без запуска команды -l - перечисляет права пользователя или проверяет конкретную команду -к - завершить текущие привилегии sudo Дополнительные параметры можно найти с помощью ключа -h. Примечание. Оставаться в системе как администратор ставит под угрозу безопасность сервера. Раньше администраторы использовали su (substitute user) для временного переключения на учетную запись администратора. Однако для команды su требуется вторая учетная запись пользователя и пароль, что не всегда возможно. Когда используется команда sudo, в системные журналы заносится метка времени. Пользователь может запускать команды с повышенными привилегиями в течение короткого времени (по умолчанию 15 минут). Если пользователь, не принадлежащий к sudo группе, пытается использовать команду sudo, это регистрируется как событие безопасности. Предоставление привилегий sudo Для большинства современных дистрибутивов Linux пользователь должен входить в группу sudo, sudoers или wheel, чтобы использовать команду sudo. По умолчанию однопользовательская система предоставляет своему пользователю права sudo. Система или сервер с несколькими учетными записями пользователей могут исключать некоторых пользователей из привилегий sudo. Рассмотрим как добавить пользователя в эту группу. RedHat и CentOS В Redhat и CentOS wheel группа контролирует пользователей sudo. Добавьте пользователя в группу wheel с помощью следующей команды: usermod –aG wheel [username] Замените [username] фактическим именем пользователя. Возможно, вам потребуется войти в систему как администратор или использовать команду su. Debian и Ubuntu В Debian и Ubuntu группа sudo (sudo group) контролирует пользователей sudo. Добавьте пользователя в группу sudo с помощью следующей команды: Использование visudo и группы sudoers В некоторых современных версиях Linux пользователи добавляются в файл sudoers для предоставления привилегий. Это делается с помощью команды visudo. Используйте команду visudo для редактирования файла конфигурации: sudo visudo Это откроет /etc/sudoers для редактирования. Чтобы добавить пользователя и предоставить полные права sudo, добавьте следующую строку: [username] ALL=(ALL:ALL) ALL Сохраните и выйдите из файла. Вот разбивка предоставленных привилегий sudo: [username] [any-hostname]=([run-as-username]:[run-as-groupname]) [commands-allowed] Примечание. Проще добавить пользователя в группу sudo или wheel, чтобы предоставить права sudo. Если вам нужно отредактировать файл конфигурации, делайте это только с помощью visudo. Приложение visudo предотвращает сбои, ошибки и неправильные настройки, которые могут нарушить работу вашей операционной системы. Тайм-аут пароля sudo По умолчанию sudo просит вас ввести пароль после нескольких минут бездействия. Изменить это время ожидания по умолчанию, можно отредактировав файл sudoers с помощью visudo и измените время ожидания, добавив строку как в примере, где 10 - это время ожидания, указанное в минутах: sudo visudo Defaults timestamp_timeout=10 Если вы хотите изменить время ожидания для определенного пользователя, то добавьте имя пользователя. Defaults:user_name timestamp_timeout=10 Примеры sudo в Linux Основное использование Sudo 1. Откройте окно терминала и попробуйте выполнить следующую команду: apt-get update 2. Вы должны увидеть сообщение об ошибке. У вас нет необходимых разрешений для запуска команды. 3. Попробуйте ту же команду с sudo: sudo apt-get update 4. При появлении запроса введите свой пароль. Система выполнит команду и обновит репозитории. Выполнить команду от имени другого пользователя 1. Чтобы запустить команду от имени другого пользователя, введите в терминале следующую команду: whoami 2. Система должна отображать ваше имя пользователя. Затем выполните следующую команду: sudo –u [другое_имя_пользователя] whoami 3. Введите пароль для другого пользователя, и команда whoami запустится и отобразит другого пользователя. Переключиться на root пользователя Эта команда переключает вашу командную строку на оболочку BASH от имени пользователя root: sudo bash Ваша командная строка должна измениться на: root@hostname:/home/[имя пользователя] Значение имени хоста будет сетевым именем этой системы. Имя пользователя будет текущим именем пользователя, вошедшим в систему. Выполнить предыдущие команды с помощью sudo В командной строке Linux хранятся записи о ранее выполненных командах. Доступ к этим записям можно получить, нажав стрелку вверх. Чтобы повторить последнюю команду с повышенными привилегиями, используйте: sudo !! Это также работает со старыми командами. Укажите исторический номер следующим образом: sudo !6 В этом примере повторяется 6-я запись в истории с командой sudo. Запуск нескольких команд в одной строке Соедините несколько команд вместе, разделенных точкой с запятой: sudo ls; whoami; hostname Добавить строку текста в существующий файл Добавление строки текста в файл часто используется для добавления имени репозитория программного обеспечения к исходному файлу без открытия файла для редактирования. Используйте следующий синтаксис с командами echo, sudo и tee: echo ‘string-of-text’ | sudo tee –a [path_to_file] Например: echo "deb http://nginx.org/packages/debian `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list Заключение Теперь вы узнали про команду sudo и про то, как ее использовать.
img
Работаете с IP – АТС Asterisk? Тогда этот материал для вас. Говорить будем про отправку уведомлений в VK (Вконтакте) при входящем звонке. От слов к делу. Получаем access_token Первым делом, перейдите Developers раздел VK. В хедере (верхнем меню навигации) нажмите Мои приложения после чего нажмите Создать приложение: Название - дайте имя для вашего аппликейшна. Например, Asterisk; Платформа - выбираем Standalone-приложение; Переходим в раздел настроек созданного приложения. Копируем ID приложения, как показано на рисунке ниже: Отлично. Теперь скопируйте ссылку ниже: https://oauth.vk.com/authorize?client_id=1234567&scope= offline,messages&redirect_uri=https://oauth.vk.com/blank.html&display=page&v=5.37&response_type=token Предварительно замените client_id на ваше значение, полученное ранее (ID приложения). VK API спросит разрешения на доступ к некоторым данным: Если все ОК, то VK вернет нам токен: Если вы столкнулись с ошибкой вида «{"error":"invalid_request","error_description":"Security Error"}», то перелогиньтесь в вашей учетной записи в VK и повторите попытку Сохраняем значение и переходим к настройке скрипта на стороне Asterisk. Адаптация на Asterisk Реализацию скрипта сделаем на .php. Создайте файл asteriskvk.php и наполните его следующим содержимым: #!/usr/bin/php -q <?php require('phpagi.php'); $agi = new AGI(); $message = "Сейчас поступит звонок с номера: "; $message .= $agi->request['agi_callerid']; $id = "ID получателя сообщения"; $token = "Токен"; function send($id , $message, $token) { $url = 'https://api.vk.com/method/messages.send'; $params = array( 'user_id' => $id, 'message' => $message, 'access_token' => $token, 'v' => '5.37', ); $result = file_get_contents($url, false, stream_context_create(array( 'http' => array( 'method' => 'POST', 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => http_build_query($params) ) ))); } send($id, $message, $token); Скачать скрипт В скрипте вам необходимо поменять следующие переменные: $id - идентификатор пользователя, которому будет отправлено сообщение. Помимо user_id, это может быть ID группового чата; $token - API - токен, который вы получили ранее; Сохраняйте файл и загрузите в директорию /var/lib/asterisk/agi-bin/ после чего дайте следующие команды в консоли сервера: chmod 755 /var/lib/asterisk/agi-bin/asteriskvk.php chown asterisk:asterisk /var/lib/asterisk/agi-bin/asteriskvk.php dos2unix /var/lib/asterisk/agi-bin/asteriskvk.php Лезем в диалплан и на входящем маршруте адаптируем простенькую конструкцию: exten => _.,n,AGI(asteriskvk.php) Звоним и проверяем:
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59