По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
С чего начинается Linux? LPI (Linux Professional Institute) считает, что изучение необходимо начинать с темы “Обнаружение и настройка комплектующих”. Это работа с “железом”, работа с комплектующими, вся аппаратная часть, то что мы видим и настраиваем. На сайте LPI (www.lpi.org) мы можем найти, что должен знать обучающийся Linux. Включение и отключение встроенного “железа” Настройка системы с помощью или без помощи внешних устройств. Разница между устройствами хранения информации Разница между устройствами, поддерживающими “Горячую замену” Выделение аппаратных ресурсов для устройств Инструменты и утилиты для просмотра списка оборудования Инструменты и утилиты для работы с USB Разбор понятий sysfs, udev, dbus. Далее возьмем для простоты Ubuntu 20.04. Директория /sys – тут содержится вся информация о подключенных устройствах. В данную директорию монтируется файловая система sysfs. Sysfs — виртуальная файловая система в операционной системе Linux. Экспортирует в пространство пользователя информацию ядра Linux о присутствующих в системе устройствах и драйверах. В данной директории есть определенных набор основных папок: devices/ - все устройства ядра bus/ - перечень шин зарегистрированных в ядре. Шина - это общий путь, по которому информация передается от одного компонента к другому drivers/ - каталог драйверов block/ - каталог блочных устройств. В данном случае под устройством понимается совокупность физического устройства и драйвера. То есть, если при подключении USB-драйва некоторое новое устройство в /sys/devices/ появится всегда (можно говорить о наличии физического устройства), то появление каталога /sys/block/sda зависит ещё и от наличия в памяти необходимых драйверов (usb-storage, sd_mod и т.д. - включая все драйвера, необходимые для поддержки usb) class/ - группировка устройств по классам Навигацию по папкам осуществляем с помощью команды cd. Учитывая вложенность папок переход на уровень вверх, т.е в родительскую папку используем cd .., где двоеточие обозначает родительский каталог. А также переход в любую папку, например, cd /sys/bus. Чтобы посмотреть все что находится в каталоге используем команду ls Следующий момент, если мы зайдем в папку с устройствами, то мы можем увидеть, как ОС наша видит устройства. Не очень удобно. Чтобы удобнее было работать с устройствами, используется udev. Это менеджер устройств, который позволяет ОС предоставлять устройства в удобно используемом виде, чтобы было понятно нам. Далее папка /proc - она находится в корне нашей ОС и содержит информацию о всех запущенных процессах. Она создается в оперативной памяти при загрузке ПК. Количество файлов зависит от конфигурации данной системы. Для работы с файлами необходимы права суперпользователя. Внесенные изменения сохраняются только до конца сеанса. Cеанс - это каждая терминальная оболочка, запущенная процессами пользователя В данную папку монтируется виртуальная система procfs. В ней находится информация о состоянии ядра и вообще операционной системе в целом. Термин виртуальная система - это некая абстракция, которая позволяет философии Linux говорить, что “все является файлом”, а вообще если рассматривать понятие файловая система - это иерархическое хранилище данных, которые собраны в соответствии с определенной структурой. Вот так выглядит данная папка. Мы можем посмотреть всю информацию, которая нам известна о процессоре. Данная информация содержится в файле cpuinfo. Для вывода информации содержащейся в файле используем команду cat [имя_файла]. Результат работы команды cat cpuinfo ниже. Есть еще интересный файл mounts. Он показывает все смонтированные файловые системы. Результат вывода будет примерно такой. Можно увидеть, когда мы просматриваем содержимое каталога командой ls, то файлы подсвечиваются белым цветом, а каталоги синим. Переходим немного глубже по дереву каталогов файловой системы cd /prox/sys в данной папке все о настройках и процессах, происходящих с нашей текущей файловой системой. В данной директории есть несколько подпапок. И зайдем в подпапку, относящуюся к файловой системе fs. Посмотрим например file-max в данном файле информация о том сколько файлов одновременно может открыть пользователь. В последней версии число таких фалов увеличилось. До версии 20.04, число файлов было по умолчанию 204394. Можно изменить число или данные, например, с помощью команды echo 10000000000 > file-max Все изменения, которые мы делаем в данной директории они сохраняются только до перезагрузки. Это надо учитывать. Еще одна основная папка в корневой директории папка /dev – она в себе содержит интерфейсы работы с драйверами ядра. /dev/sd [буква] - жесткий диск (в системах на ядре Linux) /dev/sd [буква][номер] – раздел диска /dev/sr [номер] (/dev/scd [номер]) – CD-ROM /dev/eth [номер] – cетевой интерфейс Ethernet /dev/wlan [номер] – cетевой интерфейс Wireless /dev/lp [номер] – принтер /dev/video [номер] - устройство изображений, камеры, фотоаппараты /dev/bus/usb/001/[номер] – устройство номер на шине USB /dev/dsp – звуковой вывод Набор оборудования, команды вывода перечня устройств. Lsmod – информация о модуле ядра Lspci - информация об устройствах PCI Lspcmcia - информация об устройствах PCMCIA Lsusb - информация о шине USB Lshw – детальная информация о комплектующих. Команда Lsmod – утилита которая показывает нам модули ядра. Модуль ядра — это объект, который содержит код позволяющий расширить функционал ядра. Вот так выглядит ее вывод. По сути, если проводить аналогию с ОС Windows это драйвера. Вывод команды lshw Данная команда сканирует все устройства и выводит подробную информацию по ним и достаточно детально. Утилиты для работы с модулем ядра или утилиты управления модулями ядра. Lsmod – информация о модулях ядра Modinfo - информация о конкретном модуле Rmmod - удаление модуля ядра Insmod – установка модуля ядра Modprobe – деликатное удаление или добавление модуля ядра Фактически эти команды используются для добавления и удаления “драйверов” устройств в Linux системе. В большинстве случаев ОС самостоятельно подключит устройство, но бывает такое, что устройство не стандартное и требуется добавить модель, для того чтобы ядро ОС, корректно работало с данным устройством. Rmmod и insmod - команды грубые и не умеют работать с зависимостями, поэтому необходимо использовать Modprobe с различными ключами. Взаимодействие с CPU, основные понятия: IRQ - механизм прерываний IO адреса – обмен информацией между устройствами и CPU DMA – обращение к ОЗУ минуя CPU Выделение ресурсов. IRQ - механизм прерываний это система которая сообщает центральному процессору о наступлении какого либо события, на которое процессор должен отреагировать. Есть определенные адреса прерываний, их можно увидеть в биосе ПК. Есть стандартные номера прерываний. Ранее была необходимость при конфликте устройств назначать в ручном режиме данные прерывания, в настоящее время с появлением технологии Plug and Play, данная потребность исчезла. IO адреса – это область памяти в которой процессор считывает информацию об устройствах и туда же ее записывает. Это выделенный диапазон. Вообще она бывает в памяти и адресация по портам. DMA - технология появилась относительно недавно и позволяет устройствам обращаться к памяти минуя процессор. Существенно повышает быстродействие. Все технологии настраиваются автоматически. Устройства хранения: PATA – параллельный интерфейс SATA - последовательный интерфейс SCSI - стандарт передачи данных SAS – замена SCSI Современные SATA, SAS нужно понимать есть устройства поддерживающие горячую замену и устройства не поддерживающие горячую замену. Устройства, которые можно выдернуть из ПК, безболезненно, и это не обрушит систему, причем ОС не подвиснет, не перезагрузится, это устройства поддерживающие горячую замену, например, USB. Устройство, которое не поддерживает горячую замену, например, оперативная память. Если мы ее выдернем из материнской платы, ОС однозначно обрушится. Команда blkid показывает какие устройства у нас смонтированы. Нужно отметить, что у каждого устройства есть уникальный UUID (универсальный уникальный идентификатор), что udev умеет читать UUID, и он монтирует в понятном виде нам.
img
В сегодняшней статье расскажем о том, как организовать внутрикорпоративный чат на базе нашей IP-АТС Asterisk при помощи модуля XMPP. Данный функционал будет особенно полезен компаниям, которые используют UCP (User Control Panel). Все примеры в данной статье будут приводиться на FreePBX 13. Настройка корпоративного чата Модуль носит название известного протокола XMPP (Extensible Messaging and Presence Protocol) – протокол обмена электронными сообщениями и информацией о состоянии присутствия, основанный на XML. Если коротко, то XMPP предоставляет возможность любому желающему организовать собственный XMPP - сервер для обмена мгновенными сообщениями, регистрировать на нём пользователей и взаимодействовать с другими серверами. Надо отметить, что с развитием протокола, стала также доступна передача голоса, видео и файлов. Как было сказано ранее, протокол XMPP позволяет организовать некий сервер для обмена электронной информацией. Собственно, модуль FreePBX 13 XMPP делает ровно тоже самое. Настройка модуля очень простая и имеет всего одну опцию. Чтобы попасть в модуль, необходимо с главной страницы перейти по следующему пути: Admin -> XMPP, перед вами откроется следующее окно: Как видно, нам доступна только одна строчка - Domain, это имя XMPP сервера, с которым будут ассоциироваться наши пользователи. Создадим новый домен merionet. Данный домен мы создаем в тестовых целях, но рекомендуем убедиться, что адрес, который вы здесь объявите, будет иметь формат FQDN и разрешен для использования вашей IP-АТС. Не забывайте нажимать Submit и Apply Config. На этом настройка XMPP сервера завершена, далее необходимо зарегистрировать пользователей. Обмен мгновенными сообщениями Для того, чтобы настроить XMPP пользователей используется модуль User Management, попасть в него можно также из вкладки Admin. Мы позаботились и заранее создали несколько новых пользователей, которым теперь нужно предоставить им возможность обмениваться сообщениями по XMPP. Сразу отметим, что существует множество XMPP клиентов и настройка в них практически не отличается, но в данной статье мы покажем как организовать внутрикорпоративный чат прямо из UCP. Для этого, сначала пользователю необходимо разрешить доступ в UCP. Выбираем нужного пользователя (например 1021) и во вкладке UCP, напротив опции Allow Login ставим Yes, как показано на рисунках ниже. Далее переходим на вкладку XMPP и выбираем Yes напротив опции Enabled - этим действием мы включили поддержку XMPP. Данную процедуру проводим для всех пользователей, которым хотим разрешить использование чата. Если всё было сделано верно, то при заходе в UCP панель под учётными данными созданного пользователя, мы увидим вот такой значок: При нажатии на этот значок откроется список доступных пользователей. Теперь можно начинать чат. В нашем случае, мы вошли в систему под пользователем 1021 и будем переписываться с 1022. На рисунке ниже представлен пример переписки. Кириллица также отображается без проблем При нажатии на зелёный круг рядом со значком XMPP, пользователь может изменить статус своего присутствия . Если например, 1022 выставит статус DND, то это отобразится у остальных пользователей в корпоративном чате. Таким образом, мы организовали простейший корпоративный чат с отображением статусов присутствия пользователей прямо в web-браузере.
img
Образы Docker в работающем контейнере не обновляются автоматически. После того, как вы использовали образ для создания контейнера, он продолжает работать с этой версией даже после выхода новых выпусков. Рекомендуется запускать контейнеры из последнего образа Docker, если у вас нет особой причины использовать более старую версию. В этом руководстве вы узнаете, как обновить образ и контейнер Docker до последней версии. Обнолвение образа и контейнера Docker до последней версии Лучший способ обновить существующий контейнер c новым образом - загрузить последний образ и запустить новый контейнер с той же конфигурацией. Следуйте инструкциям ниже, чтобы обновить свой контейнер до новейшего образа Docker. Примечание. В этом руководстве используется пример запуска контейнера MySQL Docker, чтобы проиллюстрировать, как обновить образ и контейнер Docker до последней версии. Шаг 1. Проверьте текущую версию Убедитесь, что у вас устаревший образ, выведя список образов в вашей системе с помощью команды: sudo docker images Тут отображаются загруженные изображения и их теги (номера версий). В приведенном ниже примере система показывает, что она использует образ mysql версии 5.7.31. Официальные образы MySQL от Docker, перечисленные на DockerHub, показывают, что последняя версия - 8.0.21. Поэтому, если у вас есть контейнер, работающий с этим образом, лучше его обновить. Чтобы указать только определенный образ, который может быть устаревшим, используйте docker images | grep [docker_image], чтобы сузить поиск. Шаг 2. Скачайте новейший образ Загрузите более новую версию образа с помощью команды docker pull: docker pull [docker_image] По умолчанию Docker загружает последнюю версию. Чтобы убедиться в этом, вы можете добавить тег :latest. Например, чтобы получить последний образ mysql, вы должны запустить: docker pull mysql/mysql-server:latest Шаг 3. Запустите новый обновленный контейнер После того, как вы загрузили последний образ Docker, вам необходимо остановить и удалить старый контейнер. Затем создайте новый с последним образом. 1. Найдите имя запущенного контейнера с устаревшим образом, перечислив контейнеры в системе: docker ps В этом примере на выходе показан контейнер с образом mysql / mysql-server: 5.7.31. 2. Остановите и удалите существующий контейнер, чтобы вы могли запустить новый под тем же именем: docker stop [container_id] docker rm [container_id] 3. Воссоздайте контейнер с помощью команды docker run и желаемой конфигурации, используя обновленный образ Docker: docker run --name=[container_name] [options] [docker_image] Если он у вас есть, обязательно смонтируйте том Docker, назначенный ранее использовавшемуся контейнеру, чтобы обновленный контейнер имел такое же содержимое. Для этого используйте параметр -v, за которым следует путь к каталогу тома. Например, чтобы запустить обновленный контейнер MySQL, вы должны запустить: docker run --name=mysql --restart=always -e MYSQL_ROOT_PASSWORD=mypassword -v /path/to/directory:/var/lib/mysql -d mysql 4. Вы можете проверить, обновлен ли ваш контейнер последней версией образа Docker, таким образом: sudo docker ps Таким образом, вы должны были успешно обновить свой контейнер Docker.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59