Что общего у Wine и WSL. Анализ механизмов выполнения приложений

Wine (Wine Is Not an Emulator) и WSL (Windows Subsystem for Linux) являются двумя различными технологиями, которые позволяют пользователям запускать приложения, созданные для других операционных систем, на компьютерах под управлением Windows. Хотя они имеют разные цели и механизмы работы, между ними есть некоторые общие черты, которые стоит рассмотреть.

Основная цель Wine — позволить пользователям запускать приложения, созданные для операционной системы Linux, на компьютерах под управлением Windows без необходимости эмуляции всей операционной системы. Вместо этого Wine предоставляет прослойку, которая позволяет приложениям Linux работать так, как если бы они были запущены в среде Windows. Это достигается путём перехвата вызовов API Windows и преобразования их в вызовы POSIX, которые могут быть поняты приложением Linux.

WSL, с другой стороны, представляет собой более глубокую интеграцию Linux в Windows. Вместо того чтобы просто предоставлять прослойку для запуска приложений Linux, WSL полностью интегрирует ядро Linux в Windows, позволяя пользователям запускать полноценную операционную систему Linux внутри Windows. Это означает, что пользователи могут использовать все преимущества Linux, такие как работа с командной строкой, управление процессами и установка пакетов через менеджер пакетов APT или YUM.

Несмотря на различия в механизмах работы, обе технологии имеют общую черту: они позволяют пользователям запускать приложения, созданные для других операционных систем, на компьютерах под управлением Windows. Это делает их ценными инструментами для разработчиков и пользователей, которым необходимо работать с приложениями, созданными для разных платформ.

Кроме того, обе технологии предоставляют возможность использования инструментов разработки и отладки, специфичных для каждой операционной системы. Например, разработчики могут использовать инструменты разработки и отладки, такие как Visual Studio Code, для создания и тестирования приложений для Linux прямо на своих компьютерах под управлением Windows.

Анализ работы Wine
Wine состоит из двух основных компонентов:
— Native, который включает в себя портированные библиотеки Windows API, написанные на C.

— Windows API, который имитирует поведение Windows API для приложений Windows.

Программы Windows используют API для взаимодействия с операционной системой. Приложения Windows вызывают функции Windows API, которые затем взаимодействуют с аппаратным обеспечением компьютера. Когда приложение Windows запускается в Wine, оно вызывает функции Windows API, которые затем интерпретируются Wine как соответствующие функции Unix.

Приложение Windows может взаимодействовать с аппаратным обеспечением компьютера с помощью драйверов устройств Windows. Однако при запуске в Wine эти драйверы не используются, вместо них применяются драйверы устройств Unix.

Для работы с файлами и папками приложения Windows используют API Windows. В Wine эти API интерпретируются как соответствующие Unix API. Таким образом, когда приложение Windows пытается получить доступ к файлу или папке, Wine использует Unix API для доступа к этим файлам и папкам.

Для графического интерфейса приложения Windows используют API Windows. В Wine эти API интерпретируются как соответствующие X Window System API. Таким образом, когда приложение Windows пытается отобразить окно на экране, Wine использует X Window System для отображения окна.

Wine также поддерживает DirectX, что позволяет запускать игры и другие приложения, использующие эту технологию.

Анализ работы WSL
Работа WSL основана на нескольких ключевых компонентах:
— Ядро Linux, которое является основой любой операционной системы Linux. Оно отвечает за взаимодействие с аппаратными средствами компьютера и выполнение большинства операций системы.

— Пользовательское пространство Linux, которое включает в себя все программы и утилиты, необходимые для работы в Linux. Это пространство включает в себя командную оболочку, файловую систему, сетевые утилиты и многое другое.

— Уровень совместимости, который преобразует вызовы API Windows в вызовы API Linux. Это позволяет приложениям Windows взаимодействовать с WSL без необходимости изменения кода.

Когда приложение Windows запускается в WSL, оно сначала проходит через уровень совместимости, который преобразует вызовы API Windows в вызовы API Linux. Затем приложение передаётся в пользовательское пространство Linux, где оно выполняется как обычное приложение Linux.

WSL также поддерживает установку дополнительных пакетов через менеджер пакетов APT или YUM, что позволяет расширять функциональность системы.

Возможно ли установить KDE, MATE, GNOME, XFCE на WSL?

WSL (Windows Subsystem for Linux) — это подсистема Windows для запуска Linux-приложений. Она позволяет запускать приложения Linux непосредственно на операционной системе Windows без необходимости использования виртуальной машины. Однако, несмотря на то, что WSL предоставляет возможность работы с командной строкой Linux, она не поддерживает графические среды рабочего стола, такие как KDE, MATE, GNOME или XFCE.

Причина этого заключается в том, что WSL работает в режиме эмуляции ядра Linux и не имеет доступа к графическому оборудованию Windows. Это означает, что вы не можете использовать эти графические среды рабочего стола напрямую через WSL.

Однако есть несколько обходных путей, которые могут позволить вам использовать некоторые функции этих сред рабочего стола в WSL. Например, вы можете использовать удаленный рабочий стол или VNC для подключения к Linux-машине из Windows и работать с графической средой оттуда. Также существуют проекты, такие как LXQt и Budgie, которые были разработаны специально для работы в WSL и предоставляют более легковесный интерфейс пользователя.

Но если вы хотите использовать полноценную графическую среду рабочего стола KDE, MATE, GNOME или XFCE на WSL, то вам придется использовать виртуальную машину или двойную загрузку Windows с Linux. Эти методы позволят вам получить полный доступ к графическим возможностям этих сред рабочего стола.

Альтернативы Microsoft Office в Linux и MacOS

Microsoft Office — самый популярный пакет офисных программ. В него входят текстовый редактор Word, табличный процессор Excel, программа для создания презентаций PowerPoint, почтовый клиент Outlook, приложение для работы с базами данных Access и другие инструменты. Однако у этого пакета есть несколько недостатков: высокая стоимость, необходимость приобретения лицензии и отсутствие некоторых функций в бесплатной версии. Альтернативой могут стать программы от других разработчиков. Они доступны бесплатно, совместимы с разными операционными системами и имеют схожий функционал.

Для операционной системы Linux существуют следующие аналоги Microsoft Office:

— LibreOffice — один из самых популярных пакетов офисных приложений с открытым исходным кодом. Он включает в себя текстовый редактор Writer, табличный процессор Calc, программу для создания презентаций Impress, базу данных Base и инструмент для рисования Draw. LibreOffice поддерживает форматы файлов DOC, DOCX, XLS, XLSX, PPT, PPTX и другие. Также он может сохранять документы в формате ODF (Open Document Format), который является международным стандартом для офисных документов.

— Calligra Suite — ещё один набор офисных приложений с открытым исходным кодом. Включает в себя текстовый процессор Words, табличный процессор Sheets, программу для создания презентаций Stage, графический редактор Flow и планировщик Kexi. Calligra Suite поддерживает форматы файлов DOC, DOCX, XLS, XLSX, PPT, PPTX и другие. Также он может сохранять документы в формате ODF (Open Document Format).

— Apache OpenOffice — свободный пакет офисных приложений, который включает в себя текстовый редактор Writer, табличный процессор Calc, программу для создания презентаций Impress, векторный графический редактор Draw и базу данных Base. Поддерживает форматы файлов DOC, DOCX, XLS, XLSX, PPT, PPTX и другие. Также может сохранять документы в формате ODF (Open Document Format).

Для операционной системы MacOS также существует несколько аналогов Microsoft Office:

— Apple iWork — набор офисных приложений от компании Apple. Включает в себя текстовый редактор Pages, табличный процессор Numbers и программу для создания презентаций Keynote. Все приложения поддерживают формат файлов DOCX, XLSX и PPTX. Также они могут сохранять документы в собственном формате, который совместим с Microsoft Office.

— Google Docs — онлайн-пакет офисных приложений от компании Google. Включает в себя текстовый редактор, табличный процессор и программу для создания презентаций. Все приложения доступны через веб-интерфейс и не требуют установки на компьютер. Google Docs поддерживает форматы файлов DOC, DOCX, XLS, XLSX, PPT, PPTX и другие.

Установка Envoy из репозитория на различных операционных системах

Envoy — это высокопроизводительный прокси-сервер, который может использоваться для балансировки нагрузки, защиты приложений и обеспечения связи между микросервисами. В этой статье мы рассмотрим процесс установки Envoy из официального репозитория на различных операционных системах.

Установка на MacOS
Обновите список пакетов:
brew update

И установите Envoy:
brew install envoy

Установка на Debian
Для установки Envoy на Debian выполните следующие шаги:
sudo apt update
sudo apt install debian-keyring debian-archive-keyring apt-transport-https curl lsb-release

Затем добавьте ключ подписи репозитория GetEnvoy:
curl -sL 'https://deb.dl.getenvoy.io/public/gpg.8115BA8E629CC074.key' | sudo gpg --dearmor -o /usr/share/keyrings/getenvoy-keyring.gpg

Проверьте контрольную сумму ключа:
echo a077cb587a1b622e03aa4bf2f3689de14658a9497a9af2c427bba5f4cc3c4723 /usr/share/keyrings/getenvoy-keyring.gpg | sha256sum --check

Добавьте строку источника в файл «sources.list»:
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/getenvoy-keyring.gpg] https://deb.dl.getenvoy.io/public/deb/debian $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/getenvoy.list

Обновите список пакетов:
sudo apt update

И установите Envoy:
sudo apt install getenvoy-envoy

Установка на CentOS
Для установки Envoy на CentOS выполните следующие шаги:
sudo yum install yum-utils

Затем импортируйте ключ подписи репозитория GetEnvoy:
sudo rpm --import 'https://rpm.dl.getenvoy.io/public/gpg.CF716AF503183491.key'

Создайте файл конфигурации репозитория:
curl -sL 'https://rpm.dl.getenvoy.io/public/config.rpm.txt?distro=el&codename=7' > /tmp/tetrate-getenvoy-rpm-stable.repo

Добавьте репозиторий в систему:
sudo yum-config-manager --add-repo '/tmp/tetrate-getenvoy-rpm-stable.repo'

Обновите список пакетов:
sudo yum makecache --disablerepo='*' --enablerepo='tetrate-getenvoy-rpm-stable'

И установите Envoy:
sudo yum install getenvoy-envoy

Установка на Ubuntu
Для установки Envoy на Ubuntu выполните следующие шаги:
sudo apt update
sudo apt install apt-transport-https gnupg2 curl lsb-release

Затем добавьте ключ подписи репозитория GetEnvoy:
curl -sL 'https://deb.dl.getenvoy.io/public/gpg.8115BA8E629CC074.key' | sudo gpg --dearmor -o /usr/share/keyrings/getenvoy-keyring.gpg

Проверьте контрольную сумму ключа:
echo a077cb587a1b622e03aa4bf2f3689de14658a9497a9af2c427bba5f4cc3c4723 /usr/share/keyrings/getenvoy-keyring.gpg | sha256sum --check

Добавьте строку источника в файл «sources.list»:
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/getenvoy-keyring.gpg] https://deb.dl.getenvoy.io/public/deb/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/getenvoy.list

Обновите список пакетов:
sudo apt update

И установите Envoy:
sudo apt install -y getenvoy-envoy

Начальное конфигурирование Envoy
Создайте файл конфигурации:
touch /etc/envoy/envoy.yaml

И вставьте в него следующее содержание:
static_resources:
  listeners:
  - name: listener_0
    address:
      socket_address: { address: 0.0.0.0, port_value: 80 }
    filter_chains:
    - filters:
      - name: envoy.filters.network.http_connection_manager
        typed_config:
          "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
          stat_prefix: ingress_http
          codec_type: AUTO
          route_config:
            virtual_hosts:
            - name: backend
              domains: ["*"]
              routes:
              - match: { prefix: "/" }
                route:
                  cluster: service_cluster
          http_filters:
          - name: envoy.filters.http.router

  clusters:
  - name: service_cluster
    connect_timeout: 0.25s
    type: LOGICAL_DNS
    lb_policy: ROUND_ROBIN
    dns_lookup_family: V4_ONLY
    load_assignment:
      cluster_name: service_cluster
      endpoints:
      - lb_endpoints:
        - endpoint:
            address:
              socket_address:
                address: service_host
                port_value: 80

Создание сервиса
Создайте файл конфигурации:
nano /etc/systemd/system/envoy.service

И вставьте в него содержимое:
[Unit]
Description=Envoy Proxy
Documentation=https://www.envoyproxy.io/
After=network-online.target

[Service]
User=root
Restart=on-failure
ExecStart=/usr/bin/envoy -c /etc/envoy/envoy.yaml
[Install]
WantedBy=multi-user.target

Запуск Envoy
Добавьте Envoy в запуск:
sudo systemctl enable envoy

И запустите сервис:
sudo systemctl start envoy

Проверьте что все работает:
sudo systemctl status envoy


Админ-интерфейс
Когда все будет готово, зайдите в админ-интерфейс в браузере по адресу:
http://127.0.0.1:9901/

Ошибка "Station is locked by SecretNet Service! Ask security administrator for assistance!" и что делать при ее возникновении

Ошибка «Station is locked by SecretNet Service! Ask security administrator for assistance!» может возникнуть при попытке доступа к компьютеру, защищенному системой SecretNet. Эта система предназначена для защиты информации от несанкционированного доступа и является одной из самых надежных в своем классе.

Причина возникновения ошибки заключается в том, что компьютер был заблокирован администратором безопасности. Это может произойти по разным причинам, например, если пользователь попытался получить доступ к конфиденциальной информации без соответствующих прав доступа или если были обнаружены подозрительные действия на компьютере.

Система защиты информации SecretNet также может заблокировать компьютер в случае обнаружения угрозы безопасности данных. Если это произошло, необходимо знать, как правильно снять блокировку.

1. Войдите в систему с правами суперпользователя root. Это позволит получить полный доступ к файловой системе и выполнить необходимые команды.

2. Запустите эмулятор терминала. В большинстве случаев это можно сделать через меню Пуск или поиск в панели задач.

3. Пересчитайте контрольные суммы. Для этого выполните следующие команды:
rm -rf /opt/secretnet/etc/service/error_aide_conf
/opt/secretnet/sbin/snfc -i
/opt/secretnet/sbin/snunblock

Эти команды удаляют файл конфигурации, который содержит информацию о блокировке, и запускают процесс разблокировки.

4. После выполнения всех команд необходимо выйти из системы, чтобы изменения вступили в силу. Для этого выполните команду «exit».

5. Чтобы завершить процесс снятия блокировки, перезагрузите компьютер.

Важно помнить, что выполнение этих шагов может привести к потере данных, если они были изменены после блокировки. Поэтому перед началом работы рекомендуется создать резервную копию важных файлов.

Важно понимать, что ошибка «Station is locked by SecretNet Service! Ask security administrator for assistance!» является частью системы безопасности и служит для защиты конфиденциальной информации. Поэтому не следует пытаться обойти эту ошибку самостоятельно если у вас нет опыта, так как это может привести к нарушению правил безопасности и утечке данных.

Установка приложения с помощью bash и dialog на apt-like Linux (Debian, Ubuntu). Минусы и плюсы dialog

Bash — это оболочка командной строки в Unix и Unix-подобных операционных системах, таких как Linux. Она используется для выполнения команд и скриптования. Dialog — это утилита в Unix, которая позволяет создавать диалоговые окна в командной строке. В этой статье мы рассмотрим, как использовать bash и dialog для автоматизации установки приложений на apt-like Linux, таких как Debian и Ubuntu.

Dialog — это утилита командной строки, которая позволяет создавать диалоговые окна в текстовом режиме. Она может использоваться для отображения различных видов диалогов, таких как сообщения, вопросы, ввод текста, выбора из списка и т.д. Dialog обеспечивает простой способ взаимодействия с пользователем через командную строку.

Dialog может быть использован в скриптах bash для создания интерактивных установщиков приложений. Например, вы можете использовать dialog для отображения диалогового окна с предупреждением перед началом установки, запросом ввода данных от пользователя и отображением прогресса установки. Это позволяет создать удобный интерфейс для установки приложений, даже если вы работаете в командной строке. Однако, несмотря на свою популярность, у dialog есть свои минусы, которые стоит учитывать. Об этом поговорим ниже, после скрипта.

С помощью bash и dialog можно легко автоматизировать установку приложений на apt-like Linux. Вы можете написать скрипт bash, который будет выполнять установку нескольких пакетов с помощью apt-get и использовать dialog для отображения прогресса установки и запросов у пользователя. Это позволит создать удобный и интуитивно понятный интерфейс для установки приложений, который будет работать в командной строке.

Давайте рассмотрим код bash, который проверяет наличие dialog в системе, если его нет то устанавливает, затем устанавливает само приложение из скачанного по wget архива zip, затем вводя данные при помощи dialog, затем отображая процесс установки с помощью dialog.
#!/bin/bash

if ! command -v dialog &> /dev/null
then
    sudo apt-get update
    sudo apt-get install -y dialog
fi

wget https://example.com/dialog_app.zip
unzip dialog_app.zip
cd dialog_app
./configure
make
sudo make install

dialog --inputbox "Введите ваше имя:" 10 30 2> name.txt
name=$(cat name.txt)
dialog --infobox "Установка приложения $name..." 10 30
sleep 5
dialog --msgbox "Приложение $name успешно установлено!" 10 30

Минусы dialog
1. Ограниченные возможности визуального оформления. Пользовательский интерфейс, созданный с помощью dialog, ограничен по визуальным возможностям. В отличие от графических интерфейсов, здесь нет возможности использовать сложные элементы дизайна, что может быть недостатком для некоторых проектов.

2. Неудобство для новичков. Для новичков использование dialog может быть вызывать затруднения, так как требует знания специфических команд и параметров. Это может создавать преграду для тех, кто только начинает изучать Linux.

3. Ограниченный набор элементов интерфейса. Dialog предлагает ограниченный набор элементов интерфейса, таких как окна сообщений, диалоговые окна, списки и т.д. Это может быть недостатком для тех, кто нуждается в более сложных элементах интерфейса.

Плюсы dialog
1. Простота в использовании. Несмотря на свои минусы, dialog все же обладает простым и интуитивно понятным интерфейсом, который позволяет быстро создавать текстовые интерфейсы без необходимости изучать сложные инструменты.

2. Поддержка скриптования. Dialog поддерживает скриптование, что позволяет автоматизировать создание и управление интерфейсами. Это делает его удобным инструментом для разработчиков, которые хотят создавать интерактивные приложения в терминале.

3. Поддержка различных платформ. Dialog доступен на большинстве популярных дистрибутивов Linux, что позволяет использовать его на различных платформах без необходимости адаптации.

Почему в Linux не работают программы Windows

Прежде всего, разные операционные системы используют разные форматы файлов для своих исполняемых файлов. Windows использует формат PE (который поставляется в виде файлов .exe), а Linux использует формат ELF. По этой причине исполняемые файлы Windows не могут работать в Linux и наоборот — за исключением уровня эмуляции, такого как Wine — даже если оба формата файлов по существу содержат скомпилированный двоичный машинный код «x86» (или «x64»).

Еще одним важным отличием является API операционной системы. В Windows приложения используют Win32 API и/или COM-интерфейсы для вызова служб из операционной системы, тогда как Linux предоставляет API, который в основном совместим с POSIX; хотя в Linux есть много расширений, выходящих за рамки стандарта POSIX.

Ни в Windows нет POSIX-совместимого API, ни в Linux нет Win32 API. Они несовместимы!


Исполняемые файлы Windows, конечно же, не гарантируют «автоматический» запуск во всех версиях Windows, которые когда-либо существовали! Но относительно легко создать исполняемый файл Win32, который будет работать во всех последних версиях Windows, потому что существует только одна «разновидность» Windows — та, которую вы можете купить у Microsoft.

С Linux ситуация намного сложнее. Это потому, что Linux — это OpenSource, и потому что Linux — это просто ядро. Linux сама по себе не является полноценной операционной системой. Следовательно, существует множество различных дистрибутивов Linux, которые создают «полную» операционную систему на основе ядра Linux, например, Debian/Ubuntu, RHEL/Fedora, Arch и многие другие, и все они несколько отличаются!



Еще одна вещь, которую следует учитывать: в Windows обычно исполняемые файлы поставляются «в комплекте» со всеми необходимыми библиотеками (DLL-файлы). Только некоторые фундаментальные системные библиотеки (kernel32.dll и т.п.) предоставляются самой Windows. Однако в Linux обычно все исполняемые файлы, а также все библиотеки управляются «централизованным» менеджером пакетов соответствующего дистрибутива. Это может легко привести к несовместимости библиотек, если вы «пересадите» предварительно скомпилированный исполняемый файл из одного дистрибутива Linux в другой!

В любом случае, можно создать исполняемый файл Linux, который будет работать почти в каждом дистрибутиве Linux с обновленным ядром Linux. Но для того, чтобы это стало возможным, вам нужно скомпоновать все библиотеки статически. Однако, поскольку glibc — библиотека времени выполнения C «по умолчанию» в большинстве дистрибутивов Linux — плохо подходит для статической компоновки, вам необходимо использовать «альтернативную» библиотеку времени выполнения C, которая поддерживает статическое связывание, например musl.

Наконец, «контейнерные» технологии, такие как snap или flatpak, позволяют упаковывать исполняемые файлы Linux таким образом, чтобы они могли работать в широком диапазоне различных дистрибутивов Linux. Но это другая тема.

Как установить ядро ​​Linux 6.0 на Ubuntu 22.10

Хорошие новости для пользователей Ubuntu, поскольку теперь они могут установить последнюю и самую лучшую серию ядер Linux 6.0 на свои ПК или дистрибутив на основе Ubuntu, если он основан на поддерживаемом выпуске. Вот как!

Наконец-то вышло ядро ​​Linux 6.0, которое принесло множество новшеств, улучшенную производительность, улучшенную поддержку оборудования и, что не менее важно, исправления ошибок и безопасности, чтобы сделать ваш рабочий стол и сервер Linux более безопасным, быстрым и стабильным.

Linux 6.0 скоро появится в репозиториях стабильного программного обеспечения некоторых из самых популярных дистрибутивов с плавающими выпусками, таких как Arch Linux и openSUSE Tumbleweed, а этой осенью он появится в основных выпусках дистрибутивов, таких как грядущий Fedora Linux 37.

Но как насчет Убунту? Что ж, Ubuntu 22.10 выйдет 20 октября и будет поставляться с ядром Linux 5.19, срок службы которого, вероятно, прекратится до того, как Kinetic Kudu выйдет на улицы. Это означает, что вы, вероятно, захотите установить более новое ядро, такое как Linux 6.0.

Если вы спросите, почему я сосредоточился только на Ubuntu 22.10, а не на других выпусках Ubuntu, ответ будет таков: я не рекомендую устанавливать недолговечное ядро ​​на поддерживаемый в течение длительного времени дистрибутив. Поэтому, если вы используете Ubuntu 22.04 LTS (Jammy Jellyfish), вам следует пока придерживаться его долгосрочно поддерживаемого ядра Linux 5.15 LTS.

Конечно, ничто не может помешать вам установить ядро Linux 6.0 на другие поддерживаемые выпуски Ubuntu, следуя приведенным ниже инструкциям. Но, прежде чем вы решите сделать этот шаг, убедитесь, что у вас есть последняя резервная копия ваших самых важных и ценных файлов!

Как установить ядро ​​Linux 6.0 на Ubuntu 22.10 через CLI

Во-первых, убедитесь, что ваша система Ubuntu обновлена, выполнив приведенную ниже команду в приложении «Терминал» или с помощью утилиты Software Updater. При необходимости перезагрузите компьютер, прежде чем продолжить установку ядра Linux 6.0.
sudo apt update && sudo apt full-upgrade -y

В этом руководстве мы будем использовать официальные пакеты ядра из основного PPA-архива ядра Ubuntu, созданного командой Ubuntu Kernel. Однако, даже если они официальные, они не подписаны, а это означает, что вы не можете установить их в системах UEFI/Secure Boot, если включена безопасная загрузка. Таким образом, вам придется сначала отключить безопасную загрузку, чтобы установить ядро ​​Linux 6.0.

Пакеты также доступны для 64-битных систем Little Endian AArch64 (ARM64), ARMHf (ARM Hard Float) и PowerPC. Кроме того, пакеты linux-headers необходимы, если у вас установлены модули DKMS, такие как проприетарные драйверы Wi-Fi.

Все, что вам нужно сделать, чтобы установить ядро ​​Linux 6.0 на ваш компьютер с Ubuntu 22.10, — это загрузить пакеты, перечисленные ниже, щелкнув по ним, или непосредственно из основного архива PPA ядра Ubuntu, указанного выше, в папке в вашем домашнем каталоге.

Основные
https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.0/amd64/linux-image-unsigned-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb
https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.0/amd64/linux-modules-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb

На выбор
https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.0/amd64/linux-headers-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb
https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.0/amd64/linux-headers-6.0.0-060000_6.0.0-060000.202210022231_all.deb

После загрузки пакетов ядра Linux 6.0 пришло время их установить. Откройте приложение «Терминал» или войдите в виртуальный терминал (VT) с помощью клавиш Ctrl+Alt+F1-6, перейдите в папку, в которую вы загрузили новые пакеты ядра (например, cd ~/Downloads), и выполните приведенную ниже команду, чтобы установить их.
sudo dpkg -i *.deb

Дождитесь завершения процесса установки, а затем перезагрузите компьютер. Вот и все, теперь вы используете ядро ​​Linux 6.0 на своем компьютере с Ubuntu 22.10 (Kinetic Kudu).

Как установить ядро ​​Linux 6.0 на Ubuntu 22.10 с помощью Mainline Tool

Альтернативным методом установки ядра Linux 6.0 в Ubuntu является использование инструмента Mainline из PPA-репозитория cappelikan. Просто запустите приведенные ниже команды в приложении «Терминал», чтобы установить инструмент Mainline в дистрибутив Ubuntu, а затем запустите приложение, чтобы установить последние доступные пакеты ядра Linux 6.0.
sudo add-apt-repository ppa:cappelikan/ppa
sudo apt update
sudo apt install -y mainline

С помощью этого метода вы будете автоматически получать уведомления о появлении новых версий Linux 6.0, которые затем сможете установить одним щелчком мыши. Кроме того, установщик ядра Ubuntu Mainline значительно упрощает удаление пакетов ядра в вашей системе Ubuntu.

Как использовать OpenSSH в Linux

Что такое OpenSSH?

OpenSSH — это пакет, основанный на протоколе SSH (Secure Shell), обеспечивающий безопасную сеть для таких сервисов, как удаленный вход в систему или удаленная передача файлов. OpenSSH также известен как OpenBSD Secure Shell и изначально разрабатывался как часть операционной системы OpenBSD.

Какие особенности OpenSSH?

OpenSSH бесплатно доступен для всех, их код поощряет повторное использование и аудит кода.

OpenSSH имеет безопасный туннель для пересылки удаленных TCP-портов с помощью надежного шифрования (3DES, Blowfish, AES, Arcfour).

Специальный прокси-сервер SOCKS (Secure Sockets) может быть создан с помощью OpenSSH.

OpenSSH обеспечивает безопасную связь.

Разница между SSH и OpenSSH

SSH — это криптографический сетевой протокол с закрытым исходным кодом.

OpenSSH — это бесплатный протокол с открытым исходным кодом, основанный на SSH.

SSH был впервые выпущен в 1995 году как протокол SSH-1, пытаясь заменить протоколы TELNET, rlogin, ftp и rsh.

OpenSSH был выпущен в 1999 году, и для разработчиков, желающих получить бесплатную версию программного обеспечения, исходный выпуск SSH 1.2.12 был выпущен под лицензией с открытым исходным кодом.

Вот некоторые команды SSH:
ssh-keygen, ssh-copy-id, ssh-add, ssh-agent, scp, sftp и sshd
Вот некоторые команды OpenSSH:
ssh, ssh-keygen, ssh-agent, ssh-keyscan, scp, sftp и sshd

Требования

  1. Корневой доступ к вашему серверу
  2. Терминал (Linux)

Как включить OpenSSH на серверах

Чтобы получить SSH на сервере, нам нужно запустить пакет OpenSSH. Например, Apache — это пакет, а демон — httpd. Точно так же OpenSSH устанавливается на сервере, и вы используете его через SSH.

Хотя OpenSSH предустановлен в различных версиях Linux как на стороне клиента, так и на стороне сервера и включен во многие коммерческие продукты. Однако, если вы все же хотите проверить, установлен ли он, мы можем выполнить следующие команды.

Использование OpenSSH в Linux

Чтобы установить OpenSSH в Linux, мы используем Ubuntu в качестве операционной системы на автономном ПК.

Для Ubuntu/Debian:
Шаг 1. Чтобы установить OpenSSH на стороне клиента и сервера
Введите следующую команду в терминале и дождитесь загрузки и установки пакетов.
sudo apt-get install -y openssh-server openssh-client
Шаг 2. Проверьте, запущена ли служба.
После установки OpenSSH вам нужно будет проверить, правильно ли работает служба, выполните следующую команду.
service sshd status
Шаг 3: Конфигурация
Перед редактированием файла конфигурации важно сделать копию исходного файла. В случае какой-либо ошибки вы можете повторно использовать ее и иметь правильные настройки на месте.
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original-copy
Я добавил суффикс original-copy, поэтому каждый раз, когда я вижу этот файл, я знаю, что это оригинальная копия файла sshd_config.

Шаг 4: Подключение к OpenSSH
По умолчанию служба работает на TCP-порту 22, вы можете изменить порт как таковой:
Port 13
Чтобы sshd разрешал вход на основе открытого ключа, измените следующую строку:
PubkeyAuthentication yes
Если строка уже присутствует, убедитесь, что она не была прокомментирована.

Перезагрузите сервер OpenSSH, чтобы изменения в конфигурационном файле могли быть внесены.
sudo /etc/init.d/ssh restart
Если вы хотите, чтобы на вашем сервере OpenSSH отображался красивый баннер для входа в систему, вы можете сделать это, изменив содержимое файла issue.net с помощью
Banner /etc/issue.net

Использование SSH как профессионал

Вот несколько советов по использованию SSH на профессиональном уровне:

1. Безопасность с общедоступным Wi-Fi:
Вы можете направлять веб-трафик из вашей локальной системы на удаленный SSH-сервер (который вы можете использовать в качестве прокси-сервера), чтобы зашифровать его, не позволяя другим пользователям общедоступной системы Wi-Fi просматривать ваши данные и контент. Этот взлом известен как «SSH-туннелирование».

2. Как запомнить открытый ключ:
Вы можете включить функцию «визуальный ключ хоста», чтобы упростить запоминание длинного открытого ключа компьютера, который вы используете.

Например, выполните эту команду при запуске SSH
ssh -o VisualHostKey=yes user@host
3. Ведение терминальной сессии:
Каждый вход в систему с использованием SSH создает новый сеанс терминала, а выход из системы завершает его. Вы можете оставить сеанс открытым, используя экран GNU.

4. Полезные комбо-команды для экономии времени
Если вам нужна всего одна команда с удаленного хоста, необходимость входа в систему и выхода только для этого может быть довольно утомительной. Чтобы этого избежать, вы можете объединить запрос с SSH, чтобы сэкономить время.

5. Вход с другим именем порта.
По какой-либо причине вам может потребоваться использовать другой порт в вашем местоположении на случай, если стандартный порт 22 в вашей среде заблокирован. В этом случае используйте следующую команду:
ssh user@example.com -p 3307
Чрезвычайно важно зарегистрироваться на веб-хостинге, который предлагает SSH.

VPS, VDS и Virtual Machines (виртуальные машины, VM)

Я не ожидал, что Википедия начнет публиковать неверную информацию. В этом случае я изложу свою точку зрения про виртуальные серверы вообще, поскольку очень долго работал с различными технологиями.

VPS (Virtual Private Server) и VDS (Virtual Dedicated Server) — это масло масляное. Они означают одно и то же, а именно — виртуальный выделенный сервер. Между тем, везде в корне неверно указывается информация про виртуальный сервер, и пишутся только главные вещи, в корень же никто не зрит.

Все виртуальные серверы повязаны на одной системной библиотеке, зовущейся libvirt (Virtualization Library). Библиотека libvirt используется для взаимодействия с различными технологиями виртуализации.

Прежде чем приступить к работе с libvirt, лучше всего убедиться, что ваше оборудование поддерживает необходимые расширения виртуализации для KVM (Kernel based Virtual Machine).

KVM необходима для создания «честных» виртуальных серверов, об этом ниже.


Как видно, не важен способ виртуализации — все упрется в одно и то же.

Вот например так говорит Википедия:


Но это же. блин, в корне неверно! И я докажу почему.

Между прочим, виртуальные серверы тоже делятся.

1. Контейнеры

К контейнерам относятся технологии. похожие на виртуальный шаред хостинг. Это просто папки с файлами на жестком диске провайдера. Их BIOS и настройки описаны в стандартном текстовом файле.

Примеры таких контейнеров: OpenVZ, LXC. Они используют общее ядро с ядром операционной системы ноды-носителя (то есть сервера провайдера). Вы не сможете поменять например сложные правила iptables. так как они не поддерживают некоторые расширения.

Обычно серверы контейнерного типа самые дешевые, их стоимость начинается от 90 рублей. Но они и небезопасные, так как любой человек сможет физически изменить их данные и настройки. Достаточно тупо загрузить сервер на свой ПК и примонтировать диск в софте. Все!

Вы скажете: а как же cgroups и правила безопасности? А вот так, при прямом монтировании диска нет загрузки групп и прочего, все данные просто открыты и могут быть свободно скачаны.

Проще всего сделать это через DiskInternals Linux Reader. По дефолту программа бесплатная.

2. «Честные» серверы

К таковым относятся KVM, Xen, а также прочие. Но тут тоже не так все просто. Ведь они делятся на две категории!

Виртуальные серверы

С виртуальными серверами мы сталкиваемся каждый день, когда храним свою инфу у какого-то провайдера. например того же FirstVDS. И мы их уже обсуждали выше. Виртуальный сервер — основа виртуализации. и это целый класс серверов.

Поскольку мы уже обсудили контейнеры, перейдем к полной виртуализации.

Серверы на KVM и Xen используют мощности ноды-носителя, но целиком эмулируют отдельный ПК, со своей операционной системой, ее ядром и приложениями. Такая технология дороже, но безопаснее. Тем более такие серверы можно объединить в вычислительное облако и использовать мощности аж нескольких тысяч серверов!

Обычно управление идет через системы типа VMmanager.

Виртуальные машины

Это особое ответвление виртуальных серверов. Такие сервера уже работают в основном на на гипервизорах VMware и могут собой заменять обычные физические сервера. Обычно они используются для сложных задач и разработки, но могут быть нацелены и на бытовые приложения.

Эти серверы уже по умолчанию работают в вычислительном облаке и отказоустойчивы. Из-за этого их стоимость приравнена к обычным выделенным серверам.

Виртуальные машины — самый безопасный вид виртуальных серверов. Они как правило жестко отделены друг от друга.

Заключение

Не стоит думать, что виртуальные серверы, VPS, VDS, виртуальные машины и прочее — это разные понятия. На самом деле это одно и то же самое, но на различных уровнях. Поэтому провайдеры, по факту, предлагают один и тот же продукт, но с разными пакетами.

К примеру, серверы Яндекс Облака относятся именно к виртуальным машинам.

Для всех виртуальных серверов допустима почасовая оплата но это выйдет дороже, чем обычный месячный пакет.

Как уничтожить Linux и все данные на диске

Самый простой сценарий, который я могу придумать — это кто-то, кто хочет удалить все данные со своего диска. Для этого могут быть совершенно законные причины, и самый простой способ, который я могу придумать, это
rm -rf --no-preserve-root /
Оказывается, это на самом деле приведено в качестве примера в info rm:
`--no-preserve-root'
Не обрабатывайте `/' специально при рекурсивном удалении. Этот вариант
не рекомендуется, если вы действительно не хотите удалить все файлы
на вашем компьютере.
Еще одна вполне веская причина заключается в том, что вы хотите удалить смонтированную файловую систему, в которую вы встроены. В этом случае rm-rf--no-preserve-root / удалит систему в среде chroot, но оставит вашу систему нетронутой.
ВАЖНО: Современные системы UEFI монтируют встроенное ПО в каталог /sys и делают его доступным для операционной системы. НЕ выполняйте эту команду в современной системе, так как она удалит эту прошивку, по сути сломав вашу машину.
Я уверен, что есть и другие возможные причины, но в целом мне кажется очень разумным подходом, что моя система позволяет мне делать с ней все, что я захочу. Моя работа — быть осторожным, система должна позволять мне делать только то, что я хочу. Если то, что я хочу, глупо, это моя проблема, а не ОС.
В любом случае, это относительно новое ограничение, оно было добавлено в 7-ю версию спецификации POSIX (предыдущая здесь), до этого rm -rf / была вполне допустимой командой. На исторической ноте, системные каталоги всегда были защищены от rm, начиная с 1979 года, когда rm впервые получила возможность удалять каталоги.

Установка Varnish Cache на Ubuntu 20/21, CentOS, Redhat, Node, Python, Gem

Varnish Cache — это ускоритель веб-приложений, также известный как кэширующий обратный прокси-сервер HTTP. Вы устанавливаете его перед любым сервером, который говорит по протоколу HTTP, и настраиваете его для кэширования содержимого. Varnish Cache очень, очень быстрый. Обычно это ускоряет доставку в 300-1000 раз, в зависимости от вашей архитектуры.

Прежде чем вы начнете, вам понадобится полностью обновленный сервер Ubuntu Linux и учетная запись пользователя sudo.

Быстрая установка (Debian-like)
curl -s https://packagecloud.io/install/repositories/varnishcache/varnish70/script.deb.sh | sudo bash
Быстрая установка (Redhat-like (CentOS, Redhat, Oracle, etc))
curl -s https://packagecloud.io/install/repositories/varnishcache/varnish70/script.rpm.sh | sudo bash
Node
curl -s https://packagecloud.io/install/repositories/varnishcache/varnish70/script.node.sh | bash
Python
curl -s https://packagecloud.io/install/repositories/varnishcache/varnish70/script.python.sh | bash
Gem
curl -s https://packagecloud.io/install/repositories/varnishcache/varnish70/script.gem.sh | bash

Ручная установка на Ubuntu 20

Обновим локальный индекс пакетов.
sudo apt update
Установим Apache
sudo apt install apache2
Настроим брандмауэр для разрешения трафика.
sudo ufw allow http
sudo ufw allow https
Настраиваем Apache
Измените порт по умолчанию в Apache с 80 на 8080.
sudo sed -i -e 's/80/8080/g' /etc/apache2/ports.conf
sudo sed -i -e 's/80/8080/g' /etc/apache2/sites-available/*
Если вы добавите больше сайтов позже, вам необходимо вручную изменить их порты в соответствующих файлах в каталоге /etc/apache2/sites-available/.

Перезапустите Apache.
sudo systemctl restart apache2
Убедитесь, что Apache прослушивает порт 8080.
sudo netstat -pnlt | grep 8080
Вывод:
tcp6 0  0 :::8080  :::*  LISTEN  5987/apache2

Установим Varnish

Вы должны добавить официальный репозиторий кэша Varnish для установки LTS-версии Varnish, поскольку репозиторий Ubuntu по умолчанию содержит более старые, неподдерживаемые версии.

Добавьте необходимые зависимости.
sudo apt install curl gnupg apt-transport-https
Установите ключ GPG для пакета.
curl -L https://packagecloud.io/varnishcache/varnish60lts/gpgkey | sudo apt-key add -
Добавьте репозиторий.
echo "deb https://packagecloud.io/varnishcache/varnish70/ubuntu/ focal main" | sudo tee -a /etc/apt/sources.list.d/varnish70.list
Укажите более высокий приоритет для этого репозитория, чем пакет по умолчанию, доступный в Ubuntu.
sudo nano /etc/apt/preferences.d/varnish
Добавьте в файл следующее содержимое.
Package: varnish
Pin: origin packagecloud.io
Pin-Priority: 900
Обновите локальный индекс пакетов.
sudo apt update
Установите Varnish.
sudo apt install varnish

Настраиваем Varnish

Проверьте адрес и конфигурацию порта по умолчанию.

Откройте файл конфигурации Varnish по умолчанию.
sudo nano /etc/varnish/default.vcl
Убедитесь, что раздел серверной части по умолчанию указывает на localhost (127.0.0.1) на порту 8080.
backend default {
.host = "127.0.0.1";
.port = "8080";
}
Сохраните и закройте файл.

Настройте Varnish для прослушивания через порт 80 вместо значения по умолчанию 6081.

Создайте каталог для пользовательского файла конфигурации.
sudo mkdir /etc/systemd/system/varnish.service.d
Создайте файл.
sudo nano /etc/systemd/system/varnish.service.d/customport.conf
Добавьте в файл следующее содержимое.
[Service]
ExecStart=
ExecStart=/usr/sbin/varnishd -a :80 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,256m
Добавьте в файл следующее содержимое.
sudo systemctl daemon-reload
Перезапустите Varnish.
sudo systemctl restart varnish
Убедитесь, что Varnish прослушивает порт 80.
sudo netstat -ltnp | grep ':80 '
Вывод:
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 6242/varnishd
tcp6 0 0 :::80 :::* LISTEN 6242/varnishd

Тестируем Varnish

Используйте curl, чтобы сделать HTTP-запрос и проверить, что в выходных данных отображаются заголовки X-Varnish: 32778 32776 и Via: 1.1 Varnish (Varnish/7.0).
curl -I http://localhost/
Вывод:
HTTP/1.1 200 OK
Date: Thu, 14 Oct 2021 13:29:54 GMT
Server: Apache/2.4.41 (Ubuntu)
Last-Modified: Thu, 14 Oct 2021 13:25:29 GMT
Vary: Accept-Encoding
Content-Type: text/html
X-Varnish: 32778 32776
Age: 20
Via: 1.1 varnish (Varnish/7.0)
ETag: W/"2aa6-5ce50032ad812-gzip"
Accept-Ranges: bytes
Content-Length: 10918
Connection: keep-alive

Расширенные настройки Varnish

Как использовать кэширование браузера для медиафайлов
Откройте файл Varnish default.vcl.
sudo nano /etc/varnish/default.vcl
Найдите подраздел vcl_backend_response и добавьте следующее.
sub vcl_backend_response {
if (bereq.url ~ "\.(png|gif|jpg|swf|css|js)$") {
unset beresp.http.set-cookie;
set beresp.http.cache-control = "max-age = 2592000";
}
}
Это указывает браузеру пользователя кэшировать файлы png, gif, jpg, swf, css и js в течение 30 дней.

Как очистить кэш

Если вам нужно очистить кэш Varnish вручную, вы можете очистить весь кэш с помощью:
sudo varnishadm 'ban req.url ~ .'
Или вы можете очистить записи кэша для одного домена, например vasya.ru:
sudo varnishadm 'ban req.http.host ~ vasya.ru'

Поиск и устранение неисправностей

Если curl возвращает ошибку HTTP/1.1 503 Backend fetch failed, проверьте файл default.vcl.
sudo nano /etc/varnish/default.vcl
Убедитесь, что раздел серверной части по умолчанию указывает на Apache через порт 8080.
backend default {
.host = "127.0.0.1";
.port = "8080";
}

ENOSPC: System limit for number of file watchers reached

Linux использует пакет inotify для наблюдения за событиями файловой системы, отдельными файлами или каталогами.

Поскольку React/Angular выполняет «горячую» перезагрузку и перекомпилирует файлы при сохранении, ему необходимо отслеживать все файлы проекта. При увеличении лимита наблюдения inotify предупреждающие сообщения должны быть скрыты.

При возникновении ошибка выглядит примерно так.
ENOSPC: System limit for number of file watchers reached, watch '/root/manager/packages/manager/apps/public-cloud/src/assets/theme'
Для решения ошибки сперва увеличим значения в системной переменной.
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
Теперь проверим, все ли применилось.
cat /proc/sys/fs/inotify/max_user_watches
Можно использовать также следующий скрипт.
#!/usr/bin/env bash

let current_watches=`sysctl -n fs.inotify.max_user_watches`

if (( current_watches < 80000 ))
then
echo "Current max_user_watches ${current_watches} is less than 80000."
else
echo "Current max_user_watches ${current_watches} is already equal to or greater than 80000."
exit 0
fi

if sudo sysctl -w fs.inotify.max_user_watches=80000 && sudo sysctl -p && echo fs.inotify.max_user_watches=80000 | sudo tee /etc/sysctl.d/10-user-watches.conf
then
echo "max_user_watches changed to 80000."
else
echo "Could not change max_user_watches."
exit 1
fi
Навеяно темой с StackOverflow.

Установка FFMPEG на CentOS 7

FFMPEG — это основной мультимедийный фреймворк, способный декодировать, кодировать, перекодировать, mux, demux, передавать, фильтровать и воспроизводить различные аудио -и видеофайлы в различных форматах. FFMPEG-это очень быстрый конвертер видео и аудио, который также может извлекаться из источника аудио/видео в реальном времени. Он также может конвертировать между произвольными частотами дискретизации и изменять размер видео на лету с помощью высококачественного многофазного фильтра. Он поддерживается различными библиотечными файлами, такими как libavcodec, libavutil, libavformat, libavfilter, libavdevice, libswscale и libswresample.
  • libavcodec — аудио/видео кодек библиотека
  • libavutil — вспомогательная библиотека для помощи портативных мультимедийных программ
  • libavformat — библиотека, которая обеспечивает основу для мультиплексирования и мультиплексирование видео и аудио потоков и субтитров
  • libavfilter — библиотека, которая повышает универсальный аудио/видео фильтрации
  • libavdevice — библиотека, которая предоставляет рамки захвата и перевода многих распространенных мультимедийных устройств ввода/вывода рамок
  • libswscale — библиотека расширения оптимизированный масштабирования изображения и цветового пространства и преобразование формата пикселей операций
  • libswresample — библиотека, способствующая повторной дискретизации звука, повторной развертке и операциям преобразования форматов образцов
  • Короче говоря, это бесплатное программное обеспечение, доступное с библиотеками и программами для обработки мультимедийных данных. Он также может использоваться в качестве инструмента командной строки на PHP и других языках программирования для перекодирования мультимедийных файлов.
Здесь мы поговорим о способе, который для установки выбрал я. А именно, установка из репозитория RPM Fusion.

Включите репозиторий RPM Fusion

Это стороннее хранилище RPM, содержащее множество популярных пакетов, связанных с мультимедиа, для выпусков CentOS. Этот репозиторий работает только в том случае, если на сервере включен репозиторий EPEL.

Сначала убедитесь, что вы включили репозиторий EPEL. Чтобы включить репозиторий EPEL на сервере с CentOS 7, введите:
yum -y install epel-release
Теперь включите репозиторий RPM Fusion:
yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm -y
Убедитесь, что репозиторий RPM Fusion успешно установлен:
yum repolist
Установите пакеты разработки FFMPEG и FFMPEG
Чтобы установить FFMPEG и его пакеты разработки, введите:
yum -y install ffmpeg ffmpeg-devel

Проверьте FFMPEG

Проверьте установку ffmpeg, проверив версию FFMPEG.
ffmpeg
Вывод:
[root@crow ~]# ffmpeg
ffmpeg version 3.4.8 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-39)
configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --docdir=/usr/share/doc/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' --extra-ldflags='-Wl,-z,relro ' --extra-cflags=' ' --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 --enable-bzlib --disable-crystalhd --enable-fontconfig --enable-gcrypt --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libcdio --enable-libdrm --enable-indev=jack --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libmp3lame --enable-nvenc --enable-openal --enable-opencl --enable-opengl --enable-libopenjpeg --enable-libopus --disable-encoder=libopus --enable-libpulse --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvidstab --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzvbi --enable-avfilter --enable-avresample --enable-libmodplug --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-libmfx --enable-runtime-cpudetect
libavutil 55. 78.100 / 55. 78.100
libavcodec 57.107.100 / 57.107.100
libavformat 57. 83.100 / 57. 83.100
libavdevice 57. 10.100 / 57. 10.100
libavfilter 6.107.100 / 6.107.100
libavresample 3. 7. 0 / 3. 7. 0
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'
Теперь мы завершили установку ffmpeg.

Понимание RAM и CPU в веб-хостинге

Размещение веб-сайта в Интернете работает аналогично тому, как вы получаете доступ к файлам на своем персональном компьютере. Служба веб-хостинга работает через сервер, компьютер, который хранит ваши данные и отправляет эти данные через Интернет тому, кто хочет получить к ним доступ.

Как и компьютер, серверу веб-хостинга для работы требуется несколько компонентов, таких как накопитель, процессор, микросхемы памяти и так далее.

В этой статье мы обсуждаем два из этих компонентов, а именно RAM (оперативную память) и CPU (центральный процессор), которые влияют на службы веб-хостинга.

Понимание RAM в хостинге веб-сайтов

RAM — это память с произвольным доступом, и это временное запоминающее устройство, используемое ЦП для кратковременного хранения данных, если несколько процессов выполняются одновременно.

Оперативная память — один из самых фундаментальных имеющихся вычислительных ресурсов. От простого мобильного телефона до самых сложных серверов — все они в той или иной форме используют оперативную память.

Более высокий объем оперативной памяти часто ассоциируется с лучшей скоростью и производительностью, и причина довольно проста. Традиционное хранилище, или ПЗУ (постоянное запоминающее устройство), обычно не связано напрямую с ЦП, а это означает, что ЦП требует времени для запроса информации, отправки запросов, поиска соответствующих данных и отправки их обратно ЦП для обработка.

С другой стороны, ОЗУ напрямую связано с ЦП, а это означает, что ЦП может напрямую обращаться к информации прямо из ОЗУ, что ускоряет весь процесс.

Конечно, есть предостережения. Простое добавление ОЗУ не увеличит скорость веб-сайта или сервера, если вы не устраните другие ограничивающие факторы, такие как количество ядер ЦП или медленные сети. Однако для хостинга веб-сайтов это редкие исключения.

Сколько оперативной памяти нужно моему сайту?

К сожалению, здесь нет универсально правильного ответа. Требования к оперативной памяти сильно различаются в зависимости от того, является ли ваш веб-сайт тяжелым, типом содержания на нем, посещаемостью и тем, что вы используете динамический веб-сайт.

Однако существуют общие требования, которые вы можете принять во внимание, чтобы выбрать идеальный объем оперативной памяти.

CMS или системы управления контентом, такие как WordPress, Drupal, Joomla и так далее обычно требуют около половины гигабайта (ГБ) оперативной памяти для оптимальной производительности. Если вы используете Windows, а не Linux, вы можете использовать еще половину ГБ ОЗУ.

Кроме того, у вас будут различные приложения, необходимые для работы даже самого простого веб-сайта. Сложите их все вместе, и вы получите как минимум 2 ГБ ОЗУ для запуска базового веб-сайта с низким трафиком в Linux; это немного больше, если вы используете Windows.

Конечно, если вы профессионально управляете веб-сайтом, скорее всего, ваш сайт построен не так. Итак, вот несколько указателей на то, как ваши требования к оперативной памяти будут варьироваться в зависимости от нескольких дополнений, которые могут быть на вашем веб-сайте:
— Динамическим веб-сайтам требуется больше оперативной памяти, чем статическим веб-сайтам.
— Веб-сайтам с высоким трафиком требуется больше оперативной памяти;
— Даже в Linux дистрибутиве (разных версиях дистрибутивов Linux) может влиять на объем оперативной памяти, необходимый для бесперебойной работы ОС;
— Включение кэширования веб-сайтов может помочь вам снизить требования к оперативной памяти;
— Если на вашем сайте много изображений, видео или анимаций, вам понадобится больше оперативной памяти.

При таком количестве перечисленных переменных практически невозможно даже предположить, сколько оперативной памяти требуется вашему сайту с какой-либо степенью точности. Однако, что касается оперативной памяти, вам нужно как минимум 2 ГБ, а по мере роста вашего сайта вам понадобится больше.

Предположим, у вас есть хороший хостинг для сайтов. В этом случае ваш провайдер может точно измерить ваши требования к оперативной памяти, учитывая, что у него есть исторические данные о различных типах веб-сайтов с дополнительным трафиком и многое другое.

Понимание ЦП в хостинге веб-сайтов

ЦП означает центральный процессор, и это мозг любого компьютера, включая серверы. Это часть компьютера, которая фактически «выполняет» поставленные вами задачи. Однако термин «ЦП» вводит в заблуждение.

ЦП — это не отдельная часть системы. Да, это одна микросхема, но не одна деталь. ЦП состоит из нескольких «ядер», и именно «ядро» выполняет всю работу. Одно ядро может выполнять одну задачу одновременно. Конечно, это невероятно быстро, но ограниченно — по одной задаче за раз.

ЦП — это, по сути, несколько таких ядер, вместе взятых. Большинство процессоров потребительского уровня имеют 4,6 или 8 ядер (в рекламе это обычно указывается — двухъядерные, четырехъядерные и так далее), В зависимости от цены. Серверные ЦП обычно имеют до 32 ядер ЦП, работающих вместе одновременно.

Большинству веб-сайтов не требуется около 32 ядер ЦП. Таким образом, в большинстве форм хостинга, где ресурсы сервера являются общими, вы увидите, что хостинговые компании предлагают «ядра». Вы можете получить два ядра, четыре ядра, восемь ядер и так далее.

Сколько ядер процессора нужно моему сайту?

Опять же, нет реального способа определить, сколько ядер ЦП нужно вашему сайту. Однако вы можете начать с этого правила большого пальца — вам нужны два ядра процессора для простого веб-сайта с низким трафиком, работающего в оптимизированной ОС Linux.

Факторы, влияющие на требования к оперативной памяти, (в целом) те же, что влияют на требования к вашему ЦП. Таким образом, такие факторы, как дизайн веб-сайта, оптимизация кода, трафик, влияют на то, сколько мощности процессора требуется вашему веб-сайту. К сожалению, их нельзя точно измерить.

Однако хостинговые компании обычно отлично сочетают план с ядрами ЦП. Опять же, они лучше всего понимают, сколько ядер ЦП обычно требуется веб-сайту.

Конечно, есть вещи, которые можно сделать для оптимизации. Код веб-сайта, особенно код jаvascript, может потреблять много ресурсов процессора и оперативной памяти. Оптимизация кода время от времени может помочь вам ускорить работу вашего сайта. Кроме того, хороший дизайн веб-сайта и простые интерфейсы — очень хорошие способы снизить требования к процессору и оперативной памяти.

Конечно, посещаемость сайта играет важную роль в том, сколько ресурсов нужно вашему сайту. Динамические веб-сайты с высоким трафиком и тяжелыми медиафайлами используют выделенный хостинг, где все сотни гигабайт ОЗУ, все ядра на сервере и все его хранилище просто предназначены для работы одного веб-сайта. Таким образом, ваши потребности в ресурсах растут вместе с трафиком, даже если все на вашем сайте хорошо оптимизировано.

Заключение

Ядра ОЗУ и ЦП имеют решающее значение для плана хостинга. Они также являются частями оборудования, а это означает, что компании могут удешевить и использовать некачественные детали или детали старого поколения, которые могут оказать реальное пагубное влияние на ваш сайт.

Установка плагина КриптоПро с расширением на Android

Мне давно задавали вопросы про эту тему, и наконец я ее освещаю, найдя, как можно установить плагин КриптоПро на телефон, и затем его использовать.

ВАЖНО! Установите WinZip — Zip UnZip Tool через Google Play, иначе нечем будет открыть ZIP архивы. Не забудьте разрешить ему через настройки доступ к хранилищу. Если не умеете пользоваться таким — загрузите распакованный дистрибутив через USB.

КриптоПро CSP

Для скачивания КриптоПро необходимо войти в аккаунт. Система сама предложит это вам.

Идем на страницу cryptopro.ru/ и выбираем пункт Скачать.


Выбираем КриптоПро CSP 5.0 (не R2).


Выбираем версию для Android.


Нажимаем Да.


Идем в Загрузки и
Распаковываем или загружаем по USB и переходим в папку с дистрибутивом.


Запускаем ACSP.apk и подтверждаем установку.
Нажимаем Готово.

Запускаем ACSPClient.apk. Это клиент КриптоПро. Нажимаем Установить.

Нажимаем Готово.

Плагин КриптоПро и расширение

Плагин устанавливается на браузер Яндекс (на Google Chrome почему-то расширений нет, в этом Яндекс его обогнал). Есть условие, нужно чтобы были включены бета-функция дополнений. На Android 10 они могут быть уже включена. Если их нет, примите в Google Play бета-тестирование Яндекса и обновите приложение.

Тем не менее мы начинаем.

Плагин КриптоПро

Система Андроид является разновидностью Linux, и построена на ядре Ubuntu. Для Андроид не существует готового пакета APK с плагином. Его надо собирать. Разработчики почему-то пока не соизволили преодолеть трудности Андроид и создать для него плагин, предлагаются только приложения. На самом деле браузерная версия решила бы многие проблемы подписания документов и торгов.

Расширение КриптоПро

Первым делом нажмите на три точки около меню поиска. У вас выйдет меню.


Далее в открывшемся меню нажмите на шестеренку (она подписана Настройки).


В настройках находим пункт Каталог дополнений. Заходим в него.


Открываем новую вкладку внизу (значок +) и пишем адрес Google Play: play.google.com/webstore/.

Обратите внимание что мобильной версии магазина нет. Поэтому уменьшим картинку. Уменьшить картинку можно двумя пальцами по диагонали, но она все равно будет читабельна.

В поиск по магазину пишем слово cryptopro. Магазин сам даст подсказку (cryptopro extension).


Чуток пролистываем налево экран, нажимаем на расширение, и вот она, установка.


Жмем Установить, затем Установить расширение. Как только надпись на кнопке поменялась на Удалить из Chrome вкладку можно закрыть.



Возвращаемся в Дополнения и проверяем результат.
У вас должно работать расширение под надписью Из других источников.

Проверка делается на том же сайте что и на ПК.