По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Для того, чтобы начать разговор про загрузчиков, для начала необходимо понимать, как разбиваются жесткие диски и систему их разбиения. MBR Master Boot Record это первые 512 Байт диска, это не раздел, не партиция это участок места в начале жесткого диска, зарезервированный для загрузчика Операционной системы и таблицы разделов. Когда компьютер включается BIOS производит тестовые процедуры. После чего, передает код управления начальному загрузчику, который как раз расположен в первых байтах MBR. Причем, какому жесткому диску передавать управление мы определяем самостоятельно в соответствующих настройках BIOS. MBR это очень важная часть нашего жесткого диска, потеря его чревата потерей данных с нашего жесткого диска или невозможностью загрузится. Поэтому ранее возникала потребность в резервном копировании данной части жесткого диска. Но это было достаточно давно. В настоящее время большинство машин не использует BIOS, а использует UEFI это современная замена BIOS, которая более функциональнее и имеет больше плюсов. Нужно понимать, что UEFI это более защищенная загрузка и более скоростная, потому что позволяет инициализировать параллельно различные интерфейсы и различную последовательность команд. Так вот если у нас не BIOS, а UEFI, то HDD будет разбит не по принципу MBR, а по принципу GPT - GUID Partition table. Это другой формат размещения таблицы разделов. Это UEFI, а UEFI использует GPT там, где BIOS использует MBR. GPT для сохранения преемственности и работы старых операционных систем оставила в самом начали диска блок для MBR. Разница изначально между MBR и GPT, в том, что MBR использует адресацию типа цилиндр, головка, сектор, а GPT использует логические блоки, LBA0, LBA1, LBA2. А также для GPT необходимо понимать, что есть логическое дублирование оглавление таблицы разделов записано, как в начале, так и в конце диска. И в принципе для организации резервного копирования Linux в принципе ничего не предлагает. Но в случае если у нас MBR это необходимо делать. Для начала надо нам понять, что и куда у нас смонтировано какой раздел у нас является загрузочным и его скопировать. Вводим команду fdisk l и видим следующее: Устройство /dev/sda1 является загрузочным и, следовательно, на нем находится MBR. Команда, которая осуществляет резервное копирование она простая - это dd. Это утилита, которая позволяет копировать и конвертировать файлы. Главное отличие данной утилиты в том, что она позволяет это делать по секторно, т.е. она учитывает геометрию диска. Использование: dd if=/dev/sda of=/root/backup.mbr bs=512 count=1. if что мы копируем, of - куда мы это копируем, bs что мы копируем 1 блок размера 512, count - количество блоков. Только, что мы скопировали первый блок жесткого диска, это то самое место, где на жестком диске находится MBR. Загрузчики Первый загрузчик Lilo Linux Loader Это был самый популярный загрузчик для Linux и для Unix систем в целом, он не зависел от файловой системы, мог загружать ОС с жесткого диска или с дискеты. Из этого выходила его особенность, загрузчик Lilo хранил в своем теле положение ядер и пункты меню и требовал обновления себя с помощью специальной утилиты, можно было поместить до 16 пунктов меню при загрузке. Данного загрузчика уже нету во многих дистрибутивах ОС Linux. В настоящее время повсеместно используется загрузчик GRUB2, но мы можем поставить загрузчик Lilo, чтобы с ним разобраться. Установка довольно-таки банальная apt-get install lilo. В процессе установки выскакивает предупреждение, что это первая установка lilo, после установки необходимо будет исполнить команду, а затем запустить непосредственно загрузчик, который применит непосредственно все изменения. Нажимаем ОК. Далее запускаем liloconfig. Ничего не произошло, просто утилита создала файл и этот файл является файлом конфигурации. С помощью команды cat /etc/lilo.conf мы можем посмотреть файл конфигурации загрузчика. В заголовке файла написано сразу, что после внесения изменений необходимо выполнить команду lilo, чтобы он сразу применил их. Далее идут основные параметры конфигурационного файла. Первый параметр lba32. Вот он как раз и меняет ту самую традиционную конфигурацию цилинд-головка-сектор, на logical block адреса, что позволяет работать с большими дисками. В разделе boot мы должны указать на каком диске у нас находится MBR. Если внимательно посмотреть, то можно увидеть подсказку, где посмотреть /dev/disks/by-id/ata* uuid дисков. После, чего можно скопировать имя диска и вставить его и тогда его сможет загружать. Lilo узнает, где MBR и будет оттуда загружать систему. Verbose = 1 Verbose level - это параметр, который показывает сколько выводить информации при загрузке. Install = menu - Данный параметр отвечает, как будет выглядеть меню загрузки. Lilo предлагает 3 варианта. И для каждого варианта, есть внизу дополнительные закомментированные параметры. Prompt это параметр отвечает за ожидание пользователя, его реакции. По умолчанию 10сек. Значение параметра в децасекундах. Далее мы можем посмотреть, где находятся ядра нашей операционной системы. Когда мы запустили liloconfig загрузчик нашел наши ядра операционной системы. Как видно на скриншоте определил версию ядра, определил где будет корневая файловая система. Смонтировал в режиме read-only. В данных параметрах мы может отредактировать строчку lable, чтобы переименовать отображение при загрузке. Если есть желание можно отредактировать данный файл и добавить еще ядро, если установлена вторая OS. Загрузчик GRUB Старый загрузчик GRUB эта та версия загрузчика, который использовался с Lilo. Тогда Lilo был самый распространенный. Теперь данный загрузчик называется Grub legacy. Больше никак не развивается, для него выходят только патчи и обновления и его даже невозможно установить на новые операционные системы. Т.к. команды и инструментарий используется одинаковый, как для старого GRUB, так и для нового. Далее мы будем рассматривать современный вариант загрузчика GRUB 2. Вот так он при загрузке примерно выглядит. Загрузчик GRUB 2 был полностью переделал и имеет мало чего общего с предыдущим загрузчиком. Он может загружать любую ОС и передавать загрузку, так же другому загрузчику, альтернативной ОС. Например, MS Windows это NTDLR. Является самым популярным загрузчиком на сегодня и стоит по умолчанию в подавляющем количестве операционных систем типа Linux. Если, что-то случилось, например кто-то переставил на загрузчик lilo, мы можем вернуть загрузчик Grub обратно командой grub-install /dev/sda. Можно узнать версию загрузчика следующим способом grub-install version. Основной файл конфигурации можно посмотреть cat /boot/grub/grub.cfg. Файл настройки и конфигурации, достаточно сильно отличается от файла конфигурации lilo или первой версии GRUB. Данный файл не редактируется, т.к он создается скриптами с использованием нескольких настроечных файлов, которые мы можем найти в папке /etc/grub.d с использованием настроек файла /etc/default/grub. Примерно так выглядит файл настроек для загрузки. И здесь в более или менее в понятном нам виде находятся настройки. И данные настройки определяют поведение. Например, grub_default = 0 устанавливает ядро для запуска по умолчанию, параметр grub_hidden_timeout = 0 обозначает использоваться пустой экран. grub_hidden_timeout_quiet = true - это утверждает, что будет использоваться пустой экран.Т.е загрузка будет происходить в скрытом режим и мы не увидим. Далее обычный таймаут ожидание действий пользователя. Grub_cmdlin_linux_default = quiet тихий режим, splash - это заставка. Отредактировать данный файл возможно в редакторе. Второй путь к папке /etc/grub.d в ней лежат исполняемые файлы. Данные файлы сканируют, также ядра при необходимости добавят нужные параметры в загрузчик. Мы всегда можем добавить опцию и написать скрипт. Для применения настроек в загрузчике, надо выполнить update-grub.
img
Настроить бэкэнд-службу с нуля сложно. Для облегчения работы можно использовать Firebase, но это не единственное в своем роде решение. В данном материале рассмотрим альтернативные решения бэкэнда для веб-приложений и мобильных приложений. Что такое бэкэнд? Бэкэнд - это программное обеспечение, которое обрабатывает данные мобильного или веб-приложения. Он содержит всю логику доступа и управления данными, к которым обычные пользователи не могут получить доступ. Бэкэнд также отвечает за обработку веб-запросов и веб-ответов. Обычно он известен как часть приложения, которое скрыто от пользователя, и он взаимодействует с фронтэндом (то что пользователь видит), чтобы отобразить запрашиваемые данные. Для создания бэкэнд-решений можно использовать несколько языков программирования, таких как Python, JavaScript и PHP. В дополнение к этим языкам, вы можете использовать серверные фреймворки, такие как Django, NireJS и Laravel, которые обеспечивают «стандартный» способ построения сложных приложений. Чтобы создать пользовательское бэкэнд-решение, требуются хорошие навыки работы с некоторыми из упомянутых выше языков программирования, и, что более важно, много времени. Если вы хотите пропустить этот процесс и сосредоточиться на скорейшем завершении проекта, вы можете использовать готовое к использованию бэкэнд-решение или, если вы предпочитаете модный термин «бэкэнд как услуга» (Baas - Backend-as-a-service). Наиболее популярным сервисом является Firebase, консолидированный продукт, поддерживаемый Google, но у него есть некоторые недостатки: Ограниченная миграция данных Ограниченное хранение данных Больше нацелен на Android (большие улучшения на iOS в последние месяцы) Основная служба не является открытой Для хранения данных приложения и управления ими вы полагаетесь на внешнюю службу Firebase - отличный продукт, особенно если вы только начинаете, но, чтобы иметь выбор, важно знать некоторые альтернативы. 1. Appwrite Appwrite - это комплексное бэкэнд-решение практически для каждого веб- или мобильного приложения, о создании которого вы мечтаете. Он является решением с открытым исходным кодом, имеет нулевые зависимости и легко интегрируется (через SDK) с некоторыми наиболее популярными инструментами и языками. Appwrite - это автономный бэкэнд сервер, который поставляется в виде Docker-образа. Это означает, что ее можно установить в любой ОС, поддерживающей интерфейс командной строки Docker. Эта кроссплатформенная функциональность позволяет запускать Appwrite на локальном рабочем столе или на любом облачном сервере. Appwrite поставляется со встроенной панелью, которая позволяет управлять приложениями как проектами. Каждый проект может интегрироваться непосредственно с вашим приложением. Другие интересные особенности Appwrite: Простота Отличная документация Кроссплатформенность Нулевые зависимости (кроме Docker) 2. Supabase Supabase - это альтернатива Firebase с открытым исходным кодом, которая выполняет повторяющиеся операции CRUD и позволяет сосредоточиться на вашем продукте. Помимо возможности самостоятельного хостинга, Как и Appwrite, Supabase можно развернуть локально. Но в отличии от первого, Supabase также предлагается в облачном варианте. Он предоставляет все бэкэнд-услуги, необходимые для создания продукта. Вот основные: База данных Postgres Идентификация Хранение файлов Автоматически созданные API Вы можете создать учетную запись в GitHub, выбрать бесплатный план и создать приложение за считанные минуты. Supabase поставляется с панелью мониторинга, включающая редактор таблиц (аналогично электронной таблице), встроенный редактор SQL и управление пользователями. Имеется обширная официальная документация, которая позволяет быстро начать разработку приложения на этой платформе. 3. Parse Platform Parse Platform – это полный стек приложений. Его основным продуктом является сервер Parse - бэкэнд сервер с открытым исходным кодом и автономным хостингом, который может быть развернут в любой инфраструктуре, поддерживающей Node.js. Parse Server использует MongoDB или Postgres в качестве базы данных и позволяет использовать собственную инфраструктуру для развертывания внутреннего сервера. Если вы хотите разработать приложение локально, вы можете сделать это с помощью Node. ParseplatformIt имеет несколько SDK с открытым исходным кодом, которые позволяют интегрировать почти все существующие веб-приложения или мобильные приложения за пару команд. Самое интересное в Parse - это широкое сообщество. Они создали множество проектов для расширения функциональности Parse, таких как адаптер MySQL или Live Query for .Net. 4. Cloudboost Cloudboost - это полнофункциональный JavaScript бэкэнд, включающий все инструменты и инфраструктуру, необходимые для создания современных веб-приложений и мобильных приложений. При реализации основных функция вроде поиск или аутентификация пользователей, задачу целостности данных это решение берёт на себя. Все находится на одной платформе, поэтому вы экономите много времени и инвестируете в разработку своего приложения. Главный недостаток: он не является ни открытым, ни бесплатным. 5. Nhost Хотите использовать современный бэкэнд для создания современных приложений? Если да, Nhost то, что вам нужно. Вдохновленный от Firebase, это готовый к производству бэкэнд, который включает базу данных Postgres, Hasura, GraphQL, встроенную аутентификацию и хранилище. Как и в случае с каждым из представленных до сих пор бэкэнд-решений, оно предлагает набор SDK для интеграции вашего приложения. Это решение с открытым исходным кодом, но он предлагает облачную версию, которую вы можете начать использовать бесплатно и выбрать план после того, как вы попробуете его функции. Лучше всего в Nhost то, что у вас есть полный доступ к вашим данным (в отличии от Firebase), и вы можете экспортировать их в любое время. Nhost только становится, и вы можете наблюдать за их прогрессом и статистикой на их сайте. Заключение Backend-as-a-service позволяет делегировать базовае функции приложения и стандартные операции CRUD третьей стороне, чтобы сосредоточиться на создании наилучшего проекта за меньшее время.
img
Друг, расскажем про интерфейс телефонной статистики для IP - АТС Asterisk под названием Merion Metrics. Интерфейс показывает ключевые диаграммы и графики по звонкам, а также историю звонков в формате, который легко поймет менеджер. По факту, это детально проработанный и красивый CDR для Astetrisk. Про Merion Metrics Если быть кратким: Полная статистика - только самая важная информация: дата, время, откуда и куда был совершен вызов, аудио - запись; Бесплатный тест - протестируйте интерфейс полностью - это бесплатно; Установка за 10 минут - поддержка активно помогает с установкой; Кроссплатформенность - сделано на Java. Совместимо с любой Unix платформой; Для супервизоров - устали от CDR в FreePBX? Или CDR Viewer? мы знаем это чувство; Удобная выгрузка в PDF и CSV - экспортируйте звонки в PDF и пересылайте/распечатывайте их для коллег; Заказать бесплатную демо - версию можно по ссылке ниже: Попробовать Merion Metrics Установка Merion Metrics Важно! На момент этого шага у вас должен быть лицензионный ключ. Закажите у нас демо доступ по ссылке https://asterisk.merionet.ru/merionmetrics Конечно же, для удобства у нас есть пошаговое видео. Видео - инструкция по установке Merion Metrics Установка текстом Системные требования Оперативная память: 256 MB минимум Процессор: Pentium 2 266 МГц + минимум Java Runtime Environment (JRE): версия 8+ Браузер: Internet Explorer 9+ Подготовка Подключитесь к серверу IP - АТС Asterisk по SSH под root пользователем. Создание директории интерфейса Дайте команды в консоль сервера: mkdir /home/merionstat Загрузите дистрибутив интерфейса MerionMonitoring-*.*.*.jar в свежесозданную директорию /home/merionstat. Через WinSCP, например. Важно: загруженный вами дистрибутив будет иметь версионность. В руководстве, мы обозначаем MerionMonitoring-*.*.*.jar со звездочками. У вас будет MerionMonitoring-1.1.9.jar, например. Создание SQL пользователя Перейдите по ссылке для генерации устойчивого к взломам пароля. Запишите его. Далее, дайте следующую последовательность команд в консоль сервера: mysql CREATE USER 'interface'@'localhost' IDENTIFIED BY 'ваш_пароль'; GRANT SELECT, CREATE, INSERT ON asteriskcdrdb.* TO 'interface'@'localhost' IDENTIFIED BY 'ваш_пароль'; Где ваш_пароль - сгенерированный инструментом по ссылке пароль. Например: mysql CREATE USER 'interface'@'localhost' IDENTIFIED BY '6nzB0sOWzz'; GRANT SELECT, CREATE, INSERT ON asteriskcdrdb.* TO 'interface'@'localhost' IDENTIFIED BY '6nzB0sOWzz'; Сохраните пароль отдельно. Директория для записей разговоров Чтобы интерфейс мог воспроизводить ссылки на записи разговоров, необходимо сделать следующее: Сгенерировать зашифрованную последовательность (пароль) через онлайн инструмент генерации. Сохраните его; Дайте команды в консоль: mkdir /var/www/html/сгенерированный_пароль chown asterisk:asterisk /var/www/html/сгенерированный_пароль chmod 775 /var/www/html/сгенерированный_пароль Например: mkdir /var/www/html/5v9MpbtUA8 chown asterisk:asterisk /var/www/html/5v9MpbtUA8 chmod 775 /var/www/html/5v9MpbtUA8 Откройте файл /etc/fstab и добавьте туда /var/spool/asterisk/monitor/ /var/www/html/сгенерированный_пароль/ none rbind 0 0 Например: /var/spool/asterisk/monitor/ /var/www/html/5v9MpbtUA8/ none rbind 0 0 Сохраните изменения в файле fstab. После, дайте следующую команду в консоль: mount -a Старт Запуск интерфейса Дайте следующие команды в консоль сервера: cd /home/merionstat nohup java -jar MerionMonitoring-*.*.*.jar & Сразу после выполнения команды нажмите Enter. Настройка интерфейса Первое подключение После запуска .jar файла, откройте в web - браузере (рекомендуем Google Chrome) адрес http://IP_адрес:7070/#!/config и введите лицензионный ключ, который вам предоставил сотрудник технической поддержки: Нажмите “Проверить лицензию”. В случае, если возникнут проблемы на этом этапе, обратитесь в техническую поддержку (helpdesk@merionet.ru). Далее, необходимо пройти первичную авторизацию. На этом экране введите логин и пароль: admin/IEJu1uh32 На следующем шаге конфигурации необходимо настроить подключение к БД. Для этого, в случае настройки IP - АТС Asterisk, укажите: База данных - mysql, mariadb, или та, в которой хранятся ваши данные; Хост БД - ; если БД на том же сервере, что и установка интерфейса - localhost; если БД на внешнем сервере, что и установка интерфейса - IP_адрес_БД; Порт БД - проставляется автоматически. Меняйте, только если ваш сервер БД слушает запросы на другом порту; Строка для подключения к БД - оставьте без изменений; Наименование таблицы - если Asterisk, как правило, cdr; Схема - это название базы данных. Для Asterisk, как правило, asteriskcdrdb; Пользователь - мы создавали его в разделе “Создание SQL пользователя”. Если вы копировали команды точь в точь, то это будет interface; Пароль - пароль, который вы сгенерировали для SQL пользователя через онлайн инструмент; Хост записей разговоров - конструкция вида http://IP_адрес/сгенерированный_пароль/, где сгенерированный пароль - зашифрованная, которую вы создали на этапе подготовки в разделе “Директория для записей разговоров”. Например, может выглядеть как http://192.168.1.7/5v9MpbtUA8/; Тип станции - Asterisk; По окончанию настроек, нажмите “Подключиться”. Если у вас не получилось, напишите в техническую поддержку (helpdesk@merionet.ru). На следующем этапе необходимо сопоставить название поля в таблице с его действующим значением. Как правило, в случае IP - АТС Asterisk все поля выставлено по умолчанию. Внизу страницы нажмите кнопку “Установить соответствия”. После этого, нажмите “Запустить приложение”. Интерфейс сделает редирект на стартовую страницу. По умолчанию, логин и пароль администратора - admin/admin Известные проблемы Приложение уже запущено Если вы не можете открыть приложение по адресу http://IP_адрес:7070/#!/config, то проверьте, не запущено ли оно ранее. Для этого дайте следующую команду в консоль: ps aux | grep Merion Проанализируйте вывод. Если он содержит строку вида: root 4919 0.1 13.1 2120384 801784 ? Sl Dec11 19:12 java -jar MerionMonitoring-*.*.*.jar То необходимо сделать следующее: вторым слева числом (после root, выделено оранжевым цветом) является PID процесса. Его нужно принудительно завершить. Для этого, копируем ID процесс в команду: kill -9 4919 Делаем снова проверку ps aux | grep Merion Если вывод более не содержит строку, как показано ранее - значит можете заново попробовать запустить команды: cd /home/merionstat nohup java -jar MerionMonitoring-*.*.*.jar & База данных на внешнем сервере Если вы выполняете подключение к удаленной базе данных, необходимо внести дополнительную конфигурацию в настройки MySQL, которые выполнялись на этапе “Создание SQL пользователя”. Например, это может понадобиться, если сервер с IP - АТС Asterisk находится на одной платформе, а сервер, где устанавливается интерфейс - на другой. В таком случае, на сервере, где установлена БД (сервер IP - АТС Asterisk, как правило) необходимо выполнить следующие команды: mysql GRANT SELECT, CREATE, INSERT ON asteriskcdrdb.* TO 'interface'@'IP_адрес_интерфейса' IDENTIFIED BY 'ваш_пароль'; Где: ваш_пароль - сгенерированный инструментом по ссылке пароль; IP_адрес_интерфейса - IP - адрес машины, на котором вы устанавливаете дистрибутив интерфейса статистики. Например: mysql GRANT SELECT, CREATE, INSERT ON asteriskcdrdb.* TO 'interface'@'192.168.1.78' IDENTIFIED BY '6nzB0sOWzz'; Помимо прочего, удостоверьтесь, что между узлами открыты порты: 3306 - для MySQL и MariaDB; 5432 - для PostgreSQL. Медленная загрузка данных Если вы наблюдаете проблемы с выгрузкой данных (долгая загрузка) - это связано с большим объемом базы данных. Мы рекомендуем запускать интерфейс (.jar файл) с дополнительными ключами. Согласно пункта “Запуск интерфейса”, выполните следующую команду: cd /home/merionstat nohup java -jar MerionMonitoring-*.*.*.jar -Xms128m -Xmx256m & Где: -Xms128m - количество оперативной памяти, выделяемое приложению на старте. 128 мегабайт в данном примере; -Xmx256m - максимально доступное количество оперативной памяти для приложения. 256 мегабайт в данном примере. Как обратиться в поддержку? Если вы испытываете технические трудности с настройкой интерфейса - мы поможем. Нам понадобятся файлы из директории /home/merionstat в которую вы разместили дистрибутив MerionMonitoring-*.*.*.jar, согласно пункта “Создание директории интерфейса”. В зависимости от этапа возникновения сложности, там могут быть следующие файлы (помимо файла с расширением .jar): columns_mapping.cfg configuration.properties nohup.out Присылайте нам эти файлы с описанием проблемы и указывайте лицензионный ключ. Связаться с нами можно следующим образом: Telegram бот - @merion_support_bot Электронная почта - helpdesk@merionet.ru
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59