WSL: что такое и как использовать подсистему Windows для Linux

WP-CLI – это инструмент командной строки для управления вашими сайтами WordPress. Используя этот инструмент, мы можем выполнять несколько операций, даже не входя в личный кабинет. Все мы знаем об установке и настройке WordPress вручную. Но, используя WP-CLI, мы можем выполнять всю настройку WordPress из одного места, не перемещаясь никуда.

Последние новости из WEB мира

  • Как отправить текстовое сообщение с веб-сайта с помощью Nexmo API и PHP этой статье мы изучаем, как отправить текстовое сообщение с помощью API Nexmo и PHP. Отправка текстового сообщения будет уведомлять пользователей о новых событиях, скидках и купонах. […]
  • Оптимизируйте базу данных WordPress с помощью плагина WP-Optimize хотите оптимизировать базу данных WordPress? WP-Optimize — популярный плагин, который позволяет нам оптимизировать базу данных как вручную, так и автоматически. […]

Что такое WordPress и в чём его преимущества

WordPress – это так называемая «система управления контентом» (CMS). Это платформа, на которой можно сделать блог, магазин, практически любой другой веб-сайт – он одностраничных лендингов до больших порталов. Главным принципом работы с WordPress является простота. Это относится и к установке, изучению, процессу работы с WordPress (добавления материала) и обслуживанию веб-сайта (обновление, создание резервных копий). С WordPress сможет создать свой сайт даже тот, кто раньше никогда этим не занимался и не имеет знаний по разработке. С миллионами доступных плагинов и тем вы можете добавить функции и сделать из своего веб-сайта именно то, что вам хочется.

Для работы WordPress нужен веб-сервер (например, Apache), а также PHP и MySQL. Поэтому начать нужно с инструкций:

Когда наш веб-сервер готов, нам нужно создать базу данных для сайта на WordPress. Это можно сделать из графического интерфейса (через phpMyAdmin) или из командной строки.

Для работы с базами данных MySQL можно создать несколько пользователей. Изначально уже создан пользователь root, который обладает максимальными полномочиями. На локальном хосте можно пользоваться этой учётной записью. В реальном рабочем окружении было бы хорошей практикой для каждой базы данных создавать своего собственного пользователя, который имеет права на работу только со своей базой данных. Это положительно скажется на безопасность. Например, в случае компрометации (взлома) одного сайта, злоумышленник получит доступ только к одной базе данных. Если же злоумышленник взломает сайт, на котором подключение к базе данных осуществляется через пользователя root, то он получит доступ ко всем базам данных сервера.

SSH, Python, Vim, инструменты компиляции

Не надо воспринимать Cygwin как простую игрушку. Это весьма продвинутая среда, которая содержит множество инструментов Linux, в том числе для продвинутых пользователей

В Cygwin имеется полноценный SSH клиент, который позволяет подключаться к удалённым системам и даже генерировать SSH ключи. То есть вы можете использовать Cygwin для подключения к вашим удалённым серверам или другим системам Linux — Cygwin может заменить сторонние клиенты SSH, которые не всегда удобны

В Cygwin уже присутствует Python — вы можете начать осваивать данный язык без установки в Windows.

Консольный текстовый редактор, например, Vim — обязательный инструмент при редактировании конфигураций на удалённых системах — здесь вы можете в спокойной обстановке начать с ним знакомство.

Имеется Git — обновления своих репозиториев Git, либо можно использовать просто для скачивания (клонирования) репозиториев других разработчиков.

Совсем продвинутые пользователи могут даже воспользоваться инструментами компиляции.

В пакетах можно увидеть PHP, веб-сервер и многое другое.

WSLпротив WSL2

В мае 2020 года для Windows 10 Microsoft представила пользователям WSL2 обновленную и улучшенную версию WSL1. Основное различие между первой версией и второй версией этой подсистемы состоит в том, что, хотя первая версия работала на промежуточном уровне между аппаратным обеспечением и операционной системой, WSL2 теперь имеет свою собственную виртуальную машину Hyper-V, которая наряду с ядром A специально Скомпилированный для этой цели, позволяет намного лучше взаимодействовать с системными вызовами, улучшая производительность и все возможности, которые он нам предлагает.

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

WSL2 против виртуальной машины

Итак, какие преимущества (и недостатки) дает WSL2 по сравнению с установкой Linux на виртуальной машине, такой как VirtualBox or VMware? Первое отличие состоит в том, что, хотя Linux на виртуальной машине изолирован, WSL2 полностью интегрирован с Windows, поэтому обе системы могут взаимодействовать друг с другом. Кроме того, подсистема Windows может загружать Linux всего за одну секунду, тогда как виртуальная машина значительно медленнее загружает систему.

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

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

Если мы не знаем, какую систему использовать, мы рекомендуем используя виртуальную машину когда:

  • Давайте должны получить максимальную отдачу от Linux.
  • Давайте сделаем прогноз масштабируемости, основанный на уровнях производства.
  • Мы хотим использовать операционную систему с графическим интерфейсом и приложениями.
  • Давайте интенсивно использовать сеть, в которой важна производительность.

И мы можем выбрать WSL, когда:

  • Мы хотим запустить основные команды Linux.
  • Мы хотим тратить мало памяти и мало ресурсов ПК.
  • Нам нужна эффективность хранения.
  • Мы не хотим / можем / не знаем, как использовать виртуальные машины.
  • Нам нужен быстрый доступ к файловой системе и непосредственное взаимодействие с файловой системой Windows.

Альтернативы установке Excel

Вам не нужно устанавливать Excel, чтобы открыть электронную таблицу XLS или XLSX. Это альтернативы, которые я рассмотрел, и почему я их проигнорировал.

1. Запуск LibreOffice Calc

LibreOffice является наиболее распространенной альтернативой Microsoft Office

в системах Linux. В основном это очень хорошая замена. Большинство переключателей из Windows едва замечают разницу между Calc и Excel. Тем не менее, это не очень хорошо с макросами, и, как отмечалось выше, обычно не печатает электронные таблицы точно.

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

2. Используйте Microsoft Office Online

Браузерная версия Microsoft Office чрезвычайно полезна; возможно, это лучшее, что Microsoft когда-либо делала. Бесплатно использовать

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

Почему я проигнорировал: Ноутбук обычно в автономном режиме.

3. Запустите Excel на виртуальной машине

Хотя это популярный вариант для многих пользователей с компьютерами среднего и высокого уровня и ноутбуками, если ваш компьютер не справляется с задачей, виртуализация не подходит. Обычно компьютеры с процессорами Intel Core i5 или новее поддерживают виртуализацию. Менее продвинутые процессоры (такие как Core i3, двухъядерные процессоры Intel и процессоры ARM) просто не могут справиться с этим.

Например, если вы используете Linux на старом ноутбуке или ПК, вы не сможете запустить Windows на виртуальной машине.

и установите Microsoft Excel там.

Почему я проигнорировал: Младший, более старый ноутбук не поддерживает виртуализацию.

Поэтому мое единственное решение было установить Excel на Linux.

Установка и настройка WordPress

Скачаем и распакуем архив сайта:

Установка и настройка WordPress

wget -q -O — | sudo tar -xzf — —strip 1 -C /var/www/$WEBSITE_NAME

Установка и настройка WordPress

Установим права, чтобы пользователь, под которым выполняется Nginx мог вносить в файлы изменения:

Установка и настройка WordPress

# для Ubuntu / Debian sudo chown www-data: -R /var/www/$WEBSITE_NAME # для CentOS sudo chown nginx: -R /var/www/$WEBSITE_NAME

Установка и настройка WordPress

Теперь открываем сайт в браузере и продолжаем установку:

Установка и настройка WordPress

В эту форму вы должны ввести имя пользователя и пароль для пользователя MySQL, которые вы использовали при настройке MariaDB

Установка и настройка WordPress

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

Установка и настройка WordPress

Полезные утилиты

Стоит упомянуть некоторые полезные утилиты, которыми я пользуюсь в администрировании, и которые могут пригодиться вам.

WP-CLI

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

Multitail

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

Htop

Полный аналог «Диспетчера задач» из Windows для терминальной консоли. Очень полезная вещь для мониторинга процессов, памяти, загрузки и управления процессами. Ставиться командой:

sudo apt-get install htop

И вызывается (кто бы думал) командой:

Let’s Encrypt

Бесплатный сервис для выдачи SSL сертификатов. Отличный вариант для перевода вашего сайта на HTTPS. Больше в моей отдельной статье здесь.

Выбор VPS

Если вы ищите подходящий VPS/VDS хостинг, могу порекомендовать HexCore, которым сам и пользуюсь. По условиям все можете посмотреть сами у них на сайте. Меня лично подкупило наличие возможности поставить туда любую свою систему (позволяют загрузить свой .ISO образ); и регулярные полные бэкапы делаются автоматом.

Компиляция и запуск программ C, C++

Сначала посмотрим, как скомпилировать и запустить простую программу, написанную на языке Си.

Компиляция и запуск программ на C

Напишите свой код/программу в любимом редакторе CLI/GUI.

Я собираюсь написать свою программу на Си с помощью редактора nano.

$ nano ostechnix.c

Примечание. Вам необходимо использовать расширение .c для программ на Си или .cpp для программ на Си++.

Скопируйте/вставьте следующий код:

#include <stdio.h> int main() { printf(«Welcome To OSTechNix!»); return 0; }

Нажмите Ctrl+O и Ctrl+X для сохранения и выхода из файла.

Чтобы скомпилировать программу, запустите:

$ gcc ostechnix.c -o ostechnix

Или:

$ cc ostechnix.c -o ostechnix

Если в вашем коде/программе есть синтаксические или семантические ошибки, они будут отображены. Сначала необходимо их исправить, чтобы двигаться дальше. Если ошибки нет, то компилятор успешно сгенерирует исполняемый файл ostechnix в текущем рабочем каталоге.

Наконец, запустите программу с помощью команды:

$ ./ostechnix

Вы увидите вывод, как показано ниже:

Welcome To OSTechNix!

Чтобы скомпилировать несколько исходных файлов (например, source1 и source2) в исполняемый файл, запустите:

Читайте также:  Не по графику: Apple выпустила iOS 13.5 beta 3 для разработчиков

$ gcc source1.c source2.c -o executable

Для разрешения предупреждений, необходима отладка символов на выходе:

$ gcc source.c -Wall -Og -o executable

Скомпилировать исходный код в инструкции ассемблера:

$ gcc -S source.c

Скомпилировать исходный код без связывания:

$ gcc -c source.c

Вышеприведенная команда создаст исполняемый файл под названием source.o.

Если ваша программа содержит математические функции:

$ gcc source.c -o executable -lm

За более подробной информацией обращайтесь к man-страницам (страницы руководства).

$ man gcc

Компиляция и запуск программ на C++

Напишите вашу C++ программу в любом редакторе по вашему выбору и сохраните ее с расширением .cpp.

Пример простой C++ программы:

$ cat

Программа:

#include <iostream> int main() { std::cout << «Welcome To OSTechNix!» << std::endl; return 0; }

Чтобы скомпилировать эту программу на C++ в Linux, просто запустите:

$ g++ -o ostechnix

Если ошибок не было, то можно запустить эту Си++ программу под Linux с помощью команды:

$ ./ostechnix

Выведет:

Welcome To OSTechNix!

В качестве альтернативы мы можем скомпилировать приведенную выше программу на C++, используя команду «make«, как показано ниже.

$ make ostechnix

Вы заметили? Я не использовал расширение .cpp в вышеприведенной команде для компиляции программы. Нет необходимости использовать расширение для компиляции Си++ программ с помощью команды make.

Запустите, используя команду:

$ ./ostechnix Welcome To OSTechNix!

За более подробной информацией обращайтесь к man-страницам.

$ man g++

Надеюсь, что статья помогла.

Как подготовиться к переходу на Linux

1. Создайте загрузочную флешку с понравившейся сборкой операционной системы по инструкции выше.

2. Поищите в перечне приложений Linux аналоги нужных программ. Одним из лучших видеоплееров для платформы считается VLC, самый всеядный аудиоплеер Audacious, а графический редактор – GIMP. Офисный пакет может заменить LibreOffice, а роль основного браузера займет Chromium или Firefox.

Убедитесь, что замена для всех важных приложений найдена.

Как подготовиться к переходу на Linux

3. Будьте готовы к тому, что какой-то из компонентов компьютера не будет распознан операционной системой. Все решается поиском и установкой необходимых драйверов. “Нагуглить” способ решения проблемы просто, если есть интернет.

Иногда после установки Linux отказывается работать Wi-Fi, что делает затруднительным поиск решения. Вот, например, инструкция по установке драйверов для сетевых кар Broadcom.

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

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

Разбить накопитель можно как из Windows, так и во время установки Linux.

Как подготовиться к переходу на Linux

5. Используйте имеющуюся флешку для установки полноценной операционной системы.

Подготовка и требования к установке

Для своей работы WordPress требует веб-сервер Apache или Nginx, интепретатор PHP (желательно версии 7), а также систему управления базами данных (СУБД) MySQL 5.6 или MariaDB 10 или выше.

Предполагается, что всё программное обеспечение (ПО) для работы веб-окружения установлено и корректно настроено. Также предполагается, что виртуальный хост для работы с WordPress также сконфигурирован.

Также для корректной установки и работы WordPress необходимо удостовериться, что для PHP установлены и активированы следующие расширения: php-mpstring, php-gd, php-mysql, php-curl, php-zip. Опционально можно установить расширения php-fpm, php-xmlrpc, php-soap, php-xml, php-intl, php-cli. Все эти расширения имеют соответствующие пакеты в стандартном репозитории практически любого дистрибутива Linux и устанавливаются одной командой. Например для Ubuntu :

Также нужно иметь доступ к серверу MySQL/MariaDB, поскольку необходимо создавать и управлять базами данных (БД). Для установки и работы WordPress необходимо её (БД) создать. Либо следует обратиться к системному администратору MySQL, который предоставит для этой цели учётную запись, а также предоставит необходимые привилегии.