Сообщество - GNU/Linux
Добавить пост

GNU/Linux

1 030 постов 15 516 подписчиков

Популярные теги в сообществе:

Автоматическое создание снимков BTRFS при помощи Snapper

В комментариях был вопрос о том, зачем ставить систему на subvolume BTRFS. Одна из приятных возможностей, которые открываются при таком подходе, гибкое использование снимков. Давайте автоматизируем их создание при помощи Snapper. Он из коробки создаёт снимки при работе APT. Один до и один после. Так можно точно увидеть что изменилось в процессе работы пакетного менеджера. Разделение файловой системы на subvolume позволяет точно разделять котлет от мух.
Возьмём систему с двумя subvolume :

  • @rootfs для корневой файловой системы. Тут ты всё сам понимаешь. Именно в этом subvolume будут происходить изменения когда ты что-то устанавливаешь или обновляешь.

  • @home для домашних каталогов. Ты же не хочешь при откате обновлений системы потерять свои документы или фото? Поэтому отделяем.

Установка Snapper

Мы будем использовать Snapper - инструмент, упрощающий и автоматизирующий работу со снимками. Он позволяет удобно создать снимок subvolume как вручную, так и автоматически. Автоматически снимки создаются по таймеру, при загрузке и при работе пакетного менеджера APT. Начнём.

apt install snapper

Если мы работаем в графическом режиме, ставим GUI

apt install snapper-gui

Надо создать начальную конфигурацию под каждый subvolume

snapper -c root create-config /  snapper -c home create-config /home

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

Снимки бывают трёх типов:

  • Single. Просто одиночный снимок, созданный вручную или автоматически.

  • Pre. Снимок, созданный перед определённым событием. Например, перед работой APT.

  • Post. Снимок, созданный после определённого события. Например, после работы APT. Обязательно ссылается на pre снимок.

Например я установлю Midnight Commander:

sudo apt install mc

После чего просмотрю снимки:

sudo snapper list

Автоматическое создание снимков BTRFS при помощи Snapper Linux, Debian, Файловая система, Резервное копирование, Длиннопост

Snapper-Gui надо запускать через sudo, иначе снимков не видно. Вот снимки после установки MC:

Автоматическое создание снимков BTRFS при помощи Snapper Linux, Debian, Файловая система, Резервное копирование, Длиннопост

Просмотр изменений

Увидеть что изменилось можно командой сравнения двух снимков. Для этого надо указать номера снимков.

snapper status 1..2

Вывод команды покажет изменения в снимках:

Автоматическое создание снимков BTRFS при помощи Snapper Linux, Debian, Файловая система, Резервное копирование, Длиннопост

В Snapper-Gui выделяем два снимка и нажимаем кнопку Changes:

Автоматическое создание снимков BTRFS при помощи Snapper Linux, Debian, Файловая система, Резервное копирование, Длиннопост

Можно увидеть и разницу в файлах:

sudo snapper diff 1..2

Автоматическое создание снимков BTRFS при помощи Snapper Linux, Debian, Файловая система, Резервное копирование, Длиннопост

В Snapper-Gui всё это удобнее и тоже хорошо видно на скриншоте выше.

Отмена изменений

sudo snapper undochange 1..2

Секунда и APT не знает ни про какой MC.

Автоматическое создание снимков BTRFS при помощи Snapper Linux, Debian, Файловая система, Резервное копирование, Длиннопост

В снимок можно зайти с правами суперпользователя как в каталог и забрать руками нужные файлы.

Автоматическое создание снимков BTRFS при помощи Snapper Linux, Debian, Файловая система, Резервное копирование, Длиннопост

Это простые BTRFS снимки и в случае невозможности загрузиться в систему можно можно загрузиться с флешки и восстановить систему из снимка. Не знаю как Debian, но у Arch Linux можно в Grub добавить пункт загрузки из снимка.

В следующий раз рассмотрим ещё одно аналогичное, но более удобное приложение.

Оригинал как обычно в моём блоге.

Показать полностью 7

Установка Debian на subvolume BTRFS

Всем привет, на связи Уханов. Сегодня поговорим об установке Debian Linux на subvolume BTRFS. ранее я уже я уже показывал как это делать на Arch Linux, но тут дела обстоят немного иначе.

Начало установки

Загружаемся с установочного носителя и выбираем пункт Expert install. Он находится в подменю Advanced options.

Установка Debian на subvolume BTRFS Linux, Гайд, Руководство, Файловая система, Установка, Debian, Длиннопост

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

Разметка дисков

Выбираем ручное разбиение дисков. Так как у нас UEFI система, то создаём таблицу разделов GPT. Создаём первый раздел на 500 мб и выбираем в качестве файловой системы “системный раздел EFI”. Создаём раздел подкачки. На оставшемся месте создаём раздел и выбираем файловую систему BTRFS. Записываем изменения.

Установка Debian на subvolume BTRFS Linux, Гайд, Руководство, Файловая система, Установка, Debian, Длиннопост

Создание Subvolume

Теперь нам надо перейти в новую консоль и поправить тома. Нажимаем CTRL+ALT+F2, нажимаем Enter. мы провалились в консоль 2.

Нам надо посмотреть что куда примонтировано.

mount

Установка Debian на subvolume BTRFS Linux, Гайд, Руководство, Файловая система, Установка, Debian, Длиннопост

Отмонтируем примонтированные тома

umount /dev/sda1 umount /dev/sda3

Теперь монтируем основной раздел и проваливаемся в него

mount /dev/sda3 /mnt cd /mnt

Осмотримся

ls

Видим subvolume @rootfs. Это и есть наш корневой каталог. Создадим требуемые subvolume для остальных каталогов, которые хотим выделить из корня..

btrfs subvolume create @home btrfs subvolume create @var btrfs subvolume create @.snapshots

Теперь нам надо знать их subvolid. Посмотреть можно командой:

btrfs subvolume list .

Установка Debian на subvolume BTRFS Linux, Гайд, Руководство, Файловая система, Установка, Debian, Длиннопост

Теперь монтируем корневой subolume в /target

mount -o rw,noatime,compress=lzo,space_cache,subvolid=256 /dev/sda3 /target

Создадим на нём точки монтирования остальных томов

mkdir -p /target/boot/efi mkdir -p /target/home mkdir -p /target/var mkdir -p /target/.snapshots

Монтируем всю эту музыку

mount /dev/sda1 /target/boot/efi

mount -o rw,noatime,compress=lzo,space_cache,subvolid=258 /dev/sda3 /target/home

mount -o rw,noatime,compress=lzo,space_cache,subvolid=259 /dev/sda3 /target/var

mount -o rw,noatime,compress=lzo,space_cache,subvolid=260 /dev/sda3 /target/.snapshots

Теперь идём править fstab, чтобы это всё коректно смонтировалось при загрузке

nano /target/etc/fstab

Находим строчку монтирования корневого раздела, переводим курсор туда и вырезаем строку комбинацией ctrl+k. Строчка пропала, а теперь вставляем её комбинацией ctrl+u столько раз, сколько subvolume надо монтировать. В моём случае 4.

Теперь правим точки монтирования и параметры монтирования по аналогии с тем, как мы их монтировали ранее. Там есть параметр subvol, удобнее его сменить на subvolid и указать номер subvolid.

Должно получиться как-то так:

Установка Debian на subvolume BTRFS Linux, Гайд, Руководство, Файловая система, Установка, Debian, Длиннопост

Завершение установки

Нажимаем CTRL+ALT+F1 и продолжаем установку.

Установка Debian на subvolume BTRFS Linux, Гайд, Руководство, Файловая система, Установка, Debian, Длиннопост

Устанавливаем и перезагружаемся. На этом всё.

Оригинал как всегда в моём блоге.

Показать полностью 6

Установка линукс без usb-накопителя, поморите

Здравствуйте! Купил себе ССД, и решил установить линукс. Первым дистрибутивов выбрал Ubuntu. Т.к у меня нету флешки, пришлось немного полазить по интернету, я нашел решение в том, что бы сделать 2 раздела. На один распаковать iso образ системы, а после с этого раздела нужно загрузится, и уже после появления установщика, поставить систему на второй раздел. Так собственно я и установил убунту.
Захотелось мне поменять дистребутив, удалил убунту, и по старой схеме решил поставить LMDE 5. Но при загрузке с этого раздела, установщик выдовал ошибку, и дальше ни чего не происходило. Перепробовал несколько дистребутивов. Они вообще не загружались. Полез в интернет, там говорили о каких то утилитах которые помогут мне установить линукс. Но как после оказывалась, они нужны для установки линукса рядом с виндой. А мне нужно на отдельный диск.
Кто знает решение, помогите пожалуйста.

Помогите с сервером Apache

Всем привет. Возникла необходимость поднять несколько веб-приложений на одном сервере. Для этого решил использовать Apache, установил на сервер с белым адресом пусть: 123.123.123.123.
и есть домен 3го уровня пусть mysubdomain.domain.com
поднял сервер, теперь по адресу доступен дефолтный сайт от Apache.

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

P.S. в интернетах везде пишут как поднять несколько сайтов при условии что для каждого есть домен. А у меня демен только один (знаю, что можно сделать домен поддомен, но не знаю как при этом сделать оба сайта доступными по URLам)

Telegram, WhatsApp, Viber на Ubuntu?

У меня нет смартфона, но нужно пользоваться мессенджерами. Есть кнопочная звонилка с сим-картой. Есть старый ноутбук с Windows 7, на нем даже BlueStacks стоит, но у него умерла звуковая карта, поэтому не получится слушать звуковые сообщения от животных. Есть второй старый ноутбук с Ubuntu 18.04, но, как я только что обнаружил, под Линукс нет версии BlueStacks.

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

  1. Есть ли какой-то эмулятор Андроида под Ubuntu, который будет нормально запускать эти три мессенджера?

  2. Есть ли десктопные версии этих мессенджеров под Ubuntu и удастся ли в них зайти без смартфона?

Ответ на пост «Картинку нашёл, теперь распечатал и приклеил. Нраицца!»

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

Ответ на пост «Картинку нашёл, теперь распечатал и приклеил. Нраицца!» Постер, Linux, Пингвины, Tux, Плакат, Журнал хакер, Ответ на пост

Ссылка на фото с большим разрешением
https://cloud.mail.ru/public/q6QM/qzjbimAwe

Показать полностью 1

Ответ на пост «CloudFlare WARP + WireGuard через NetworkManager»

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

И, при всем уважении, VPS с односкриптовой установкой WG там, гораздо проще. Дополнительно, когда вам потребуется какой-то еще протокол, вы сможете это сделать. И дополнительно, все что массово-публичное, в первую очередь попадает под идиотизм РКН и прочих организаций.

CloudFlare WARP + WireGuard через NetworkManager

Долгое время пользовался ssh-туннелем для «разблокировки» некоторых сетевых ресурсов, доступ к которым был ограничен для IP Российского диапазона (ну, драйверы там скачать с сайта производителя, и т.п.).

Но — всему приходит конец. Моему терпению — тоже. Надоело постоянно переключать потребителей на работу через прокси (privoxy), чтобы завернуть трафик в socks-прокси туннеля. TOR стали прикручивать, что привело к очень долгому поиску мостов. И лень моя победила (в очередной раз).

Очевидно — нужен был способ попроще, да ещё — без особых затрат. Ставить VPN сервер (в том или ином виде) на VPS — хотелось ещё меньше, чем кидать туннель. Всякие платные прокси (типа Mullvad) — они удобны, позволяют выбрать «точку выхода», но — надо изыскивать возможность их оплатить. Бесплатные — обычно, работают так себе.

Тут я вспомнил, что есть же CloudFlare и его WARP, причем — в бесплатной версии, да со всей мощью клаудфлэровских серверов, да без ограничений скорости, да ещё и — должен, теоретически, работать через нативный клиент WireGuard. «Надо попробовать» — подумал Штирлиц.

Настройка WARP в Linux

В целом, процесс достаточно понятный, на современных системах — проблем быть не должно (на современных — это где Network Manager поддерживает WireGuard, иначе — можно и через консоль поднимать/гасить интерфейс VPN, но это менее удобно).

  • Сгенерировать конфиг для WARP — консольной утилитой или онлайн-генератором на её базе. Ещё есть неофициальный CLI, мне он не пригодился.

  • Полученный конфиг можно сунуть в /etc/wireguard/ и попробовать поднять через systemctl start wg-quick@название-конфига.conf. Но вряд ли это заработает, конфиг придется править.

Конфиг WireGuard для WARP

А чтобы не править его, передергивая интерфейс вручную из консоли, — проще сразу добавить в Network Manager. Подобрать рабочие настройки там, затем — перенести в конфиг. И получить основной (через графический интерфейс) и резервный (из консоли) способы работы с WARP. Чем и займёмся.

Настройка Network Manager

Тут всё тоже несложно: ПКМ на аплете менеджера — Соединения VPN — Настроить VPN — WireGuard — ‘+’ (добавить новое соединение).

Дальше настроить по картинке (скопировать значения из файла конфига):

CloudFlare WARP + WireGuard через NetworkManager IT, Linux, Android, VPN, Wireguard, Cloudflare, Длиннопост

Но вот адрес для Endpoint придется поподбирать — на разных провайдерах работают разные IP. Я прошелся по адресам с 162.159.193.0 по 162.159.193.10, пока не нашел работающий.

В целом — соединение уже должно работать (надо только Address в Параметры IPv4 вписать, как ниже показано), проверить можно через 2ip.ru. Вот такая картина у меня:

CloudFlare WARP + WireGuard через NetworkManager IT, Linux, Android, VPN, Wireguard, Cloudflare, Длиннопост

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

Google DNS и Wire Guard WARP

Но радость была бы не полной, если бы не ещё одна чудесная возможность WireGuard — он позволяет для соединения легко поменять адрес DNS сервера. Это не защитит от утечки DNS на сто процентов, но позволяет обойти блок, выставляемый на некоторых ресурсах на основе географической принадлежности DNS сервера (а клаудфлэровский — в Москве).

В настройки IPv4 надо вписать гугловый DNS, в настройки IPv6 — можно по аналогии (IPv6-адрес DNS ищется в гугле же), а можно и обойтись только IPv4.

CloudFlare WARP + WireGuard через NetworkManager IT, Linux, Android, VPN, Wireguard, Cloudflare, Длиннопост

WireGuard Google public DNS

Итого

Вот теперь «разблокировка» должна работать нормально.

Из плюсов — VPN включается сразу на уровне системы, приложения ходят через него. Не надо, как в случае с ssh-туннелем, заворачивать приложения для работы с через туннель.

Второй плюс — ровно тем же способом можно включить WARP на Android. Клиент WireGuard под Android есть (ставил из F-Droid), надо только поправить сгенерированный конфиг по аналогии (как в заметке), затем — импортировать его в клиенте на телефоне. Всё!

Следующим шагом — можно настроить подключение WARP на роутере, чтобы всю внутреннюю сеть пускать в интернет через VPN. Я на своём Keenetic планирую так и сделать, но это «уже совсем другая история».

Показать полностью 3
Отличная работа, все прочитано!