По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Одной из важнейших потребностей системы Linux является постоянное обновление последних исправлений безопасности, доступных для соответствующего дистрибутива.
В этой статье мы объясним, как настроить систему Debian и Ubuntu для автоматической установки и обновления необходимых пакетов безопасности или исправлений при необходимости.
Для выполнения задач, описанных в этой статье, вам понадобятся права суперпользователя.
Настройка автоматических обновлений безопасности в Debian и Ubuntu
Для начала установите следующие пакеты:
# aptitude update -y && aptitude install unattended-upgrades apt-listchanges -y
где apt-listchanges сообщит, что было изменено во время обновления.
Кстати, у нас есть статья, как сделать автоматическое обновление пакетов безопасности на CentOS или RHEL
Затем откройте /etc/apt/apt.conf.d/50unattended-upgrades в текстовом редакторе и добавьте эту строку в блок Unattended-Upgrade :: Origins-Pattern :
Unattended-Upgrade::Mail "root";
Наконец, используйте следующую команду для создания и заполнения необходимого файла конфигурации /etc/apt/apt.conf.d/20auto-upgrades для активации автоматических обновлений:
# dpkg-reconfigure -plow unattended-upgrades
Выберите Yes, когда будет предложено установить автоматические обновления (Automatically download and install stable updates? ) и затем убедитесь, что следующие две строки были добавлены в /etc/apt/apt.conf.d/20auto-upgrades:
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
И добавьте эту строку, чтобы сделать отчеты подробными:
APT::Periodic::Verbose "2";
Наконец, проверьте /etc/apt/listchanges.conf, чтобы убедиться, что уведомления будут отправлены в root.
email_address=root
Готово! В этой статье мы объяснили, как обеспечить регулярное обновление вашей системы последними обновлениями безопасности. Кроме того, вы узнали, как настроить уведомления, чтобы держать себя в курсе, когда применяются исправления.
Python - один из самых популярных языков программирования. Однако в CentOS 8 он не установлен по-умолчанию.
В более ранних выпусках CentOS по умолчанию была доступна неверсированная команда Python. После установки CentOS, можно было перейти в оболочку Python, просто запустив команду «python» в терминале. Как это ни парадоксально, CentOS 8 не имеет неверсионной команды Python по умолчанию. Напрашивается вопрос, почему? RedHat заявляет, что этот выбор сделан «чтобы избежать блокировки пользователей в конкретной версии Python». В настоящее время RedHat 8 неявно использует Python 3.6 по умолчанию, хотя Python 2.7 дополнительно предоставляется для поддержки существующего программного обеспечения. Ранее неверсионная команда Python в дистрибутивах CentOS, хотя и была удобной, создавала определенные проблемы. Неверсионный Python обычно указывает на интерпретатор Python 2, но поскольку Python 2 сейчас находится на EOL (конец срока службы), это становится проблематичным по нескольким причинам. Простое перенаправление команды на Python 3 может показаться несложным решением, но на многих уровнях это будет проблематично из-за возможной путаницы с версионированием. Вместо того, чтобы продолжать указывать команду «python» на версию Python по умолчанию из-за знакомства или указывать на Python 3, чтобы идти в ногу со временем, был сделан выбор больше не включать стандартную команду «python».
В этом руководстве мы рассмотрим установку как активно используемой версии Python 2, так и новой версии Python 3 в CentOS 8 и Red Hat Enterprise Linux (RHEL) 8.
Установка Python 2
Шаг 1. Обновление среды
Всегда полезно начинать с проверки того, что все наши системные пакеты обновлены перед установкой нового программного обеспечения. Для этого мы собираемся воспользоваться новым программным обеспечением для управления пакетами DNF.
# dnf update -y
Шаг 2: Установите Python 2
Теперь, когда среда обновлена, давайте продолжим и будем использовать DNF для установки Python 2. К счастью, и Python 2, и 3 включены в репозитории базовых пакетов CentOS 8, поэтому установка выполняется просто.
# dnf install python2 -y
Шаг 3: Проверьте установку Python 2
Чтобы убедиться, что Python 2 установлен, мы можем запустить простую команду «python2» с флагом версии.
# python2 -V
Python 2.7.16
Шаг 4: Запуск Python 2
Впоследствии, чтобы получить доступ к оболочке Python 2, мы можем выполнить следующую команду.
# python2
Python 2.7.16 (default, Nov 17 2019, 00:07:27)
[GCC 8.3.1 20190507 (Red Hat 8.3.1-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
Готово! Python 2 теперь установлен! Следует отметить, что PIP-установщик пакетов Python также устанавливается по умолчанию при установке Python 2, поэтому вы сможете сразу начать работу с пакетами Python.
Установка Python 3
Шаг 1. Обновление среды
Еще раз давайте убедимся, что наши системные пакеты обновлены.
# dnf update -y
Шаг 2: Установите Python 3
Теперь мы готовы установить Python 3.
# dnf install python3 -y
Шаг 3: Проверьте установку Python 3
Мы можем проверить установку и версию Python 3 так же, как и в Python 2.
# python3 -V
Python 3.7.5rc1
Шаг 4: Запуск Python 3
Затем мы можем войти в среду оболочки Python 3, выполнив следующую команду.
# python3
Python 3.6.8 (default, Nov 21 2019, 19:31:34)
[GCC 8.3.1 20190507 (Red Hat 8.3.1-4)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
Как и в случае установки Python 2, pip3 также включается при установке Python 3. Вот и все! Теперь можно начинать работу с Python на вашем сервере CentOS 8.
Установка версии Python по умолчанию
Вы должны были заметить, что для использования Python 3, это команда python3 и python2 для Python 2. Что делать, если ваши приложения настроены на обращение к python, который недоступен для всей системы?
# python
bash: python: command not found...
Вы можете использовать механизм альтернатив, чтобы включить неверсированную команду python для всей системы и установить для нее определенную версию:
# alternatives --set python /usr/bin/python3
Для Python 2:
# alternatives --set python /usr/bin/python2
Чтобы посмотреь настроенную версию Python по умолчанию используйте следующую команду:
# python -V
Чтобы сбросить эту конфигурацию и удалить неверсионную команду python, выполните:
# alternatives --auto python
Хотим показать два простых способа для ограничения набора платных номеров (международных и междугородних направлений) на Asterisk. Зачем это нужно? Часто в компаниях есть определённый тип пользователей, которым, для выполнения своих служебных обязанностей, не требуется совершать исходящие звонки на внешние направления. Они принимают входящие вызовы от внешних абонентов и могут пользоваться внутрикорпоративной связью. Именно такую задачу мы решим.
Будем считать, что ограничить набор номеров платных направлений нужно для внутренних номеров маской 3XX.
Способ 1
Для решения вышеописанной задачи первым способом будем пользоваться графическим интерфейсом FreePBX 13 и уже знакомым нам модулем Custom Context.
Открываем вкладку Connectivity → Custom Context и нажимаем Add Context:
Задаём новому контексту название и понятное описание и жмём Submit, после чего перед нами открывается список правил, которыми мы будем манипулировать, чтобы запретить доступ к исходящим направлениям.
Дальнейшие действия рекомендуем воспроизводить в точности по следующему порядку:
Выбираем опцию Allow напротив строки Set All To;
Выбираем опцию Deny Rules напротив строки ENTIRE Basic Internal Dialplan;
В окне Deny Rules указываем шаблон (dial pattern) внешних номеров, которые хотим запретить. В нашем случае это - 810Z. – международный и 8495XXXXXXX, 8499XXXXXXX, 89XXXXXXXX - звонки по городу и мобильные номера. Узнайте как принимает номер ваш провайдер, чтобы указать правильный шаблон.
Должно получиться вот так:
4. Далее прокручиваем данное меню вниз и напротив строки ALL OUTBOUND ROUTES также выбираем Deny Rules, после чего жмём Submit и Apply Config
Теперь осталось только применить созданное правило на нужных Extension’ах. Для этого открываем модуль Extensions ищем внутренний номер, которому необходимо запретить совершать международные и междугородние звонки (например 310), открываем вкладку Other и напротив строки Custom Context выбираем наш новый контекст.
Нажимаем Submit, Apply Config и готово теперь с данного внутреннего номера “наружу” не позвонить.
Если таких внутренних номеров много, то можно выгрузить csv файл со всеми их настройками с помощью модуля Bulk Handler и указать так контекст вручную, а затем импортировать новый файл.
Способ 2
Для решения задачи вторым способом, нам придётся немного изменить правила в конфигурационных файлах. Для этого открываем /etc/asterisk/extensions_custom.conf любым редактором, ищем контекст [from-internal-custom] и вносим туда следующую запись:
[from-internal-custom]
exten => _8X./3XX,1,NoOp("${CALLERID} long-distance call detected")
exten => _8X./3XX,n,Playback(feature-not-avail-line,noanswer)
exten => _8X./3XX,n,Hangup()
Таким образом, мы запретили набор номеров междугородних и международных направлений с выходом через 8 для всех внутренних номеров с маской 3XX.