Откат до базовой системы

Автор duletant, 24 марта 2024, 21:29:06

« назад - далее »

0 Пользователи и 3 гостей просматривают эту тему.

duletant

Спасибо!
Но повторю условия: есть vps, с заранее сформированным образом от провайдера, т.е процессом установки я не управляю, я получаю готовую систему со всякими (на выбор) LAMP\Ovpn\и.т.д...., соответственно отследить установки пакетов не относящихся к базовой системе возможности нет. И я ищу способы как это разгрести в полученном виде.

dzhoser

#16
1. Для dist-upgrade не нужен базовый образ
2. Что вам мешает удалить ненужный софт вручную?
3. Можно взять базовый образ и определить отличия в пакетах на домашнем пк
Необходимые команды я скидывал в ссылке на статью
Ubuntu->Linux mint->Astra Linux SE->Debian 12
Для новичков

duletant

Цитата: dzhoser от 30 марта 2024, 18:54:461. Для dist-upgrade не нужен базовый образ
2. Что вам мешает удалить ненужный софт вручную?
3. Можно взять базовый образ и определить отличия в пакетах на домашнем пк
Необходимые команды я скидывал в ссылке на статью
1. Да, но зачем мне апгрейдить ненужный зоопарк?
2. Мешает отсутствие понимания что из установленного есть базис, а что ненужное.
3. В приведенной вами ссылке рассматривается образ Ubuntu который содержит файлы с переченем пакетов для установки\удаления. В образе Debian я такого перечня не нашел.

dzhoser

Получить список установленных пакетов в хостинге
dpkg-query -f '${binary:Package}\n' -WВ образе Debian пакеты находятся в каталоге pool
Получить список пакетов можно
ls -R -1 > /home/user/package.txtcat /home/user/package.txt | grep debПолучите список пакетов далее сравниваете diff
Ubuntu->Linux mint->Astra Linux SE->Debian 12
Для новичков

duletant

#19
Пошел немного другим путем..
Собрал список пакетов с базоваой (голая система на vm) и vps систем:
dpkg -l | grep ^ii | awk '{ print $2}' > base_list
dpkg -l | grep ^ii | awk '{ print $2}' > full_list
отсортировал разницу:
join -v1 full_list base_list > purge_list
из полученного файла purge_list удалил пакеты ядра, после чего попытался в лоб удалить лишнее:
sudo xargs < purge_list apt remove
на что получил ответ: То, что вы хотите сделать, может иметь нежелательные последствия.
Чтобы продолжить, введите фразу «Да, делать, как я говорю!» и соостветсвенно список пакетов на пол системы) Выходит сортировка вышла неочень.
ps// хотя в данной ситуации списки пакетов формировались с разных релизов (11 и 12), но не думаю, что это координально повлияло...


31 марта 2024, 18:53:28
Цитата: dzhoser от 31 марта 2024, 18:32:31Получите список пакетов далее сравниваете diff
остается вопрос как правильно отсортировать

31 марта 2024, 19:34:27
Цитата: dzhoser от 31 марта 2024, 18:32:31В образе Debian пакеты находятся в каталоге pool
и опять же... каталог pool содержит 3.5G на dvd.iso, а не базовый набор. т.е. такой способ сформирует полный список пакетов входящих в данный каталог.
 Вот если бы раздобыть списки из ранее упомянутого tasksel, который явно имеет при себе всякого рода наборы...

ek-nfn

Цитата: duletant от 31 марта 2024, 16:55:232. Мешает отсутствие понимания что из установленного есть базис, а что ненужное.
Я же показал вам путь через  APT Pinning + даунгрейд, задание приоритета выше 1000 для основного репозитория (например, debian 12) и меньше 100 для всех остальных. В результате все те пакеты, что входят в основной репозиторий, но установлены из других, обновятся до версий из основного даже и через понижение версии. А затем просто через apt или в том же синаптике смотрите и удаляете пакетом все подряд, что так и осталось привязанным к посторонним репозиториям, то есть, что не существовало в основном репозитории и поэтому не обновилось на версии из него. И не надо ничего ни с чем сравнивать, все делается автоматом
Debian 12  -> Devuan 5 xfce -> MX Linux 23

dzhoser

#21
Цитата: duletant от 31 марта 2024, 18:52:10остается вопрос как правильно отсортировать
diff base_list full_list

31 марта 2024, 20:12:49
Цитата: duletant от 31 марта 2024, 18:52:10ps// хотя в данной ситуации списки пакетов формировались с разных релизов (11 и 12), но не думаю, что это координально повлияло...
Возможно что кардинально. Используйте образ той же версии
Ubuntu->Linux mint->Astra Linux SE->Debian 12
Для новичков

duletant

Цитата: ek-nfn от 31 марта 2024, 19:52:18
Цитата: duletant от 31 марта 2024, 16:55:232. Мешает отсутствие понимания что из установленного есть базис, а что ненужное.
Я же показал вам путь через  APT Pinning + даунгрейд, задание приоритета выше 1000 для основного репозитория (например, debian 12) и меньше 100 для всех остальных. В результате все те пакеты, что входят в основной репозиторий, но установлены из других, обновятся до версий из основного даже и через понижение версии. А затем просто через apt или в том же синаптике смотрите и удаляете пакетом все подряд, что так и осталось привязанным к посторонним репозиториям, то есть, что не существовало в основном репозитории и поэтому не обновилось на версии из него. И не надо ничего ни с чем сравнивать, все делается автоматом
в системе нет сторонних репозиториев. есть куча ненужного софта из офф. репозиториев.

ChubaDuba

#23
У вас на vps Debian какой версии?
Поставить в виртуалку такой же и сформировать список пакетов:
Debian 11 "bullseye" minimal install package list

duletant

Цитата: ChubaDuba от 01 апреля 2024, 01:26:43Поставить в виртуалку такой же и сформировать список пакетов:
я, в общем то, это и сделал, а вот применить этот список я так и не смог. 

dzhoser

А как вы список применяете?
Ubuntu->Linux mint->Astra Linux SE->Debian 12
Для новичков

ChubaDuba

Вручную. Смотря на описание каждого пакета и прикидывая, что он делает и нужно ли вам это. В случае неуверенности - оставлять.

ek-nfn

#27
Цитата: dzhoser от 01 апреля 2024, 14:40:55А как вы список применяете?


Цитата: duletant от 31 марта 2024, 18:52:10sudo xargs < purge_list apt remove
Там у него удаляет зависимостей на полсистемы. Может попробовать вместо apt dpkg ? Зависимости не тронет

Debian 12  -> Devuan 5 xfce -> MX Linux 23

duletant

#28
Цитата: dzhoser от 01 апреля 2024, 14:40:55А как вы список применяете?
Если вопрос ко мне...
я приводил выше действия которые проделывал: сравнивал два файла (список файлов читой системы и список из vps) вывод разницы писал в отдельный файл, потом этот файл отдавал на apt remove\purge.

01 апреля 2024, 20:03:17
Благодаря подсказке товарища ek-nfn, удалил неиспользуемые пакеты с помощью dpkg! После удаления, apt -f install не ругался, после перезагрузки ошибок не было.
Подведу итог проведенных экспериментов. может кому пригодится.
1. Состовил список пакетов с чистой системы:
dpkg -l | grep ^ii | awk '{ print $2}' > base_list2. Состовил список пакетов на целевой системе (где будут удалятся лишние пакеты):
dpkg -l | grep ^ii | awk '{ print $2}' > full_list3. Сравнил полученные списки:
join -v1 full_list base_list > purge_list4. Полученый файл purge_list проверил и удалил из него нужные пакеты (в том числе ядра).
5. Теперь отдаю готовый файл в dpkg:
!!!Перед запуском следующей команды следует дважды проверить файл_список, dpkg не просит подтверждения!!!
sudo xargs < purge_list dpkg -P