Обновить
3
0

Пользователь

Отправить сообщение
Нужно дополнительно уговаривать apache работать с documentRoot, принадлежащим другому юзеру.
Что вы подразумеваете под дополнительной? Включаете mpm и прописываем дополнительные настройки. Всё равно будет один файл, в котором будут указаны настройки.
Например, для синхронизации нескольких машин между собой.
Как это выглядит?
Вот пример создания пользователя.
заодно создаёт для него virtualhost?
У вас есть конфиг. В одной части описываются пользователи, в другой, хосты. То есть вы отталкиваетесь не от пользователя, а от какого-то параметра системы — пользователи должны быть такими(имя, домашняя папка, uid...), сервисы такими: ssh, httpd(virtualhost номер1(настройки апача, настройки php), virtualhost номер 2(тут что-то своё).

И всё это из коробки, или это можно сделать?
В данном случае из коробки.
Скорее всего, у вас нет этих потребностей, вот и всё. Например, файл hosts может быть нужен либо при специфической настройке сети, либо при разработке, а необходимость синхронизировать изменения, при одновременном использовании и ноутбука и стационарного.

Аналогичным образом может возникнуть вопрос с пакетами — кому-то достаточно небольшого количества стандартных пакетов в его дистрибутиве, а кому-то нужны либо более свежие версии, либо собранные с другими параметрами.

Если какое-то условие не исполняется, то вы не сможете оценить данные преимущества.
Как вы в одном дереве поставите сразу две конфликтующие библиотеки? И как вы будете их различать во время выполнения?
Так бывает вообще?
Бывает, например, редактировался /etc/fstab. Впрочем, если речь идёт о рядовом пользователе, то скорее всего он так глубоко не лазит.
При чем, надо писать конфиг для вещей, которые люди целеноправленно годами выносили в UI.
Большая часть тонких настроек, более сложных чем поворот экрана, или отключение заставки, делается через конфигурационные файлы, например взаимодействие с systemd, редактирование файла hosts и так далее. Возможно, в каких-то дистрибутивах это и делается через графические утилиты, но я с этим не сталкивался. Если вы этим не занимаетесь и просто читаете интернет, пишите тексты и смотрите фильмы, то пожалуй единственное, что может предложить Nix — это лёгкий откат к предыдущему состоянию, например, после обновления.
Но без контента эти настройки бессмыссленны
Например, нужно развернуть тестовый сайт или новый сайт.
Перенести mysql — достаточно плохо. Часть настроек — в файлах, часть — внутри БД.
В Nix можно включать фрагменты кода на других языках.
Если я правильно понял, все скрипты для этих действий (включая принятие решения, что именно нужно копировать, и каким образом переносить и куда)
Копирования данных нужно делать самостоятельно(хотя возможна некоторая автоматизация). Но, например, создание отдельного пользователя, в домашней папке которого будет корень сайта — автоматизировано.
Если текущий конфиг отличается от лежащего в пакете, то APT показывает дельту и спрашивает, что выбрать.
Это при обновлении. Или есть возможность запросить apt вывести все изменённые конфиги?
Все равно придется разбираться, что и как изменилось и тд.
Если в обычном дистрибутиве вы не смогли загрузится, то вам нужен живой носитель, иначе в систему вы не попадёте, или работать она не будет. В случае nix в меню загрузки вы выбираете предыдущую систему и уже в ней смотрите. Сломать систему окончательно, чтобы она развалилась становится гораздо сложнее.
Вот надо мне чтобы в XFCE было две панели шириной Х, расположенные так-то с таким-то набором апплетов. Мне это всё надо на языке Nix написать?
Если хотите. Можно в конфиге просто указать, что вы хотите себе XFCE, а настраивать его руками, как в обычном дистрибутиве, а можно добавить его настройки к общим настройкам системы. Аналогично можно редактировать сеть через обычный NetworkManager(или что вы там себе поставите), в этом случае, подключение к сети будет точно так же как и в условной убунте. Так же это означает, что если вы перенесёте свой конфиг на другое устройство, а настраивали вы что-то руками, то этих настроек у вас не будет.
Можно и так.
Ну так не надо редакторами-то пользоваться.
И как вы себе это представляете? Как вы будете редактировать файл в слепую? Сколько это времени у вас займёт?
Nix конфиг же тоже не сам пишется кнопкой «сделай мне збс».
Смысл как раз в том, что установленная система это не чёрный ящик, в которой что-то изменено, а система с конкретными настройками. Для того, чтобы получить нечто подобное на не nix, нужно скачивать пакет, распаковывать из него конфиг, делать diff для него и системного конфига.
Большая часть конифгов задаётся на языке nix, и как следствие проверяется перед началом сборки. Небольшой объём задаётся в виде простых строк, но он локализован, и соответственно затронет только данный пакет.
Пример сессии
vim /etc/config
systemctl restart service
Вопрос в количестве действий. Для дебианоподобных, это 1) получить спиоск пакетов 2) и репозиториев, 3) импортировать репозитории, 4) обновление репозиториев, 5) установка пакетов. У убунты всё больше пакетов идёт через snap, соответственно тут тоже 6) получение 7) установка. Соответственно, каждый этот шаг нужно сделать руками.

Хорошо, усложним задачу — у вас есть старая система, например ubuntu 18.04 и новая система, например 20.04. Здесь уже просто так не скопировать конфиги, желательно ещё и обновить старую систему.
Что вы там такое конфигурировать собираетесь? Копируете /home и всё.
Подход из nix подходит для переноса настроек, например lamp с одной машины на другую. Ваш подход делает это слишком затруднительным.
В дистрибутивах для домохозяек у вас будет примерно одинаковый путь, разве что кнопочки выглядеть будут по разному.
Тут смысл в том, apt install просто установит программы с настройками по умолчанию, так что как минимум /etc в примере выше тоже нужно будет копировать.
Пишешь конфигурационный скрипт и всё. Просто на баше а не на никсе.
Вы писали такой код сами или просто предполагаете? Даже для простого переноса десяти конфигов уже нужно постараться, например, запаковать их в архив и распаковать на второй системе, после этого перезапустить соответствующие приложения. Если хочется отслеживать изменения между версиями, то уже нужно делать какую-то систему сборки. Если нужна возможность отката, то это нужно либо какой-то дополнительный инструмент подключать, либо ещё раз писать скрипты. Какой объём всего этого у вас получиться?
Это при условии, что у вас нет каких-то системных утилит, например, не установлен докер с несколькими контейнерами.
3 — appimage
Для библиотек? И потом, если это системное приложение, то его всё равно придётся положить не в хомяк.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность