Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[AltGrF13] Обновление: приборка за собой #234

Open
AltGrF13 opened this issue Dec 6, 2024 · 2 comments
Open

[AltGrF13] Обновление: приборка за собой #234

AltGrF13 opened this issue Dec 6, 2024 · 2 comments

Comments

@AltGrF13
Copy link
Contributor

AltGrF13 commented Dec 6, 2024

(задача, которую может выполнить любой желающий)
Продолжение #201 и #210.

Очистка

По сути, эпохально сейчас 4 версии КВАСа:

  • 1.1.8r2, которую ставят по умолчанию сейчас;
  • 1.1.9b3, долгое время была лучшей новой стабильной;
  • переходный вариант в районе b7;
  • b10+

Каждая из них оставляла какие-нибудь да хвосты. Заставлять пользователя что-то чистить или перезагружаться — не подходит к концепции "дружелюбия" к технически неподготовленным пользователям.

В идеале проверить, чтобы будущий релиз перед своей установкой мог "прибраться" за любой из них (т.е. прогнать ниже указанные тесты не для одной, а для четырёх). На примере файла /opt/etc/cron.5mins/ipset.kvas, вычистка которого (на всякий случай) остаётся в коде надолго. В iptables тоже прибираться теперь легко. Фактически, установив и удалив новую версию, можно будет прибраться за старой. При этом никаких требований перезагрузки. Это уменьшит количество проблем у людей.

1. iptables

Переустанавливаем Entware с нуля. Сделать в файл iptables-save > /opt/tmp/0iptables_clear.txt. Установить КВАС, минимально настроить (соединение, гостевые), снять второй файл 1iptables_VERSION_setup.txt. Удалить без full, ещё раз 2iptables_VERSION_remove.txt. Сравнить любым file diff 1 и 2 файл, 1 и 3. Оставить комментарий, где подписать версию и основное соединение/тоннель (VPN или SS); 2 отчёта: что создал КВАС и что оставил после себя.

В конце скомпоновать 4(версии)*2(тоннеля)=8 отчётов, выкинуть все повторы.

2. Файлы

Вроде бы уже боролись, но мало ли чего осталось. Тестовая функция

#!/bin/sh

rm_dir()(  [ -d "${1}" ] && rm -rf "${1}" || true)
rm_file()( [ -f "${1}" ] && rm  -f "${1}" || true)

rm_previous_version_files(){
	rm_file /opt/etc/ndm/netfilter.d/100-vpn-mark
	rm_file /opt/etc/ndm/fs.d/100-vpn
	rm_file /opt/etc/ndm/fs.d/100-ipset
	rm_file /opt/etc/ndm/ifcreated.d/kvas-iface-add
	rm_file /opt/etc/ndm/ifdestroyed.d/kvas-iface-del
	rm_file /opt/etc/ndm/iflayerchanged.d/100-kvas-vpn
	rm_file /opt/etc/ndm/iflayerchanged.d/kvas-ips-reset
	rm_file /opt/etc/ndm/wan.d/internet-up
	rm_file /opt/etc/cron.5mins/check_vpn
	rm_file /opt/etc/cron.5mins/ipset.kvas

	rm_dir /opt/etc/.kvas
}

rm_previous_version_files

Переустанавливаем Entware с нуля. Снять список всех файлов find /opt/ ! -type d > /opt/tmp/0files_clear.txt в файл на чистом Entware. Установить и настроить КВАС. Удалить без full, снять второй список всех файлов 1files_VERSION_remove.txt. Прогнать вышеозначенную функцию, снять третий список 2files_VERSION_clear.txt. Сравнить любым file diff 1 и 2 файл, 1 и 3. В 2–3 точно будут не только хвосты КВАС, но и пакетов Entware. Это нормально. Разработчики пакетов сами решают, что оставлять, не надо прибираться за ними. Только за собой. Если видите явные хвосты, то дополните функцию, и снимите третий файл уже после вашей обновлённой. Т.е. по каждой версии будет отчёт; что выжило после удаления (сравнение файлов 1 и 2); обновлённая функция и сравнение 1 и 3, что не осталось ничего лишнего.

3. Очистка перед установкой

Из-за переходящих со старых версий мы сейчас чистим не только за собой, но и перед. Если что-то внедрено после пунктов 1–2, то надо и сюда. Также надо попытаться расчистить и правила, старые ipset, роут и рулес. Все обёртки в новом ndm уже есть.

@qzeleza
Copy link
Owner

qzeleza commented Dec 6, 2024

Кроме правильности подхода; это ещё уберёт предупреждение, пугающее пользователей

К сожалению не уберет, необходимо для этого использовать опцию в opkg:
--force-maintainer Overwrite preexisting config files

@AltGrF13
Copy link
Contributor Author

AltGrF13 commented Dec 6, 2024

Кроме правильности подхода; это ещё уберёт предупреждение, пугающее пользователей

К сожалению не уберет, необходимо для этого использовать опцию в opkg: --force-maintainer Overwrite preexisting config files

Интересные опции, не знал о них.

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

И в моей схеме после удаления новых КВАСов в конфигах должны оставаться/восстанавливаться исходные файлы. И они не будут "different", т.е. предупреждения быть не должно (из-за совпадения файла).

@AltGrF13 AltGrF13 changed the title Приборка за собой Обновление: Приборка за собой Dec 8, 2024
AltGrF13 pushed a commit to AltGrF13/kvas that referenced this issue Dec 20, 2024
AltGrF13 pushed a commit to AltGrF13/kvas that referenced this issue Dec 20, 2024
@AltGrF13 AltGrF13 changed the title Обновление: Приборка за собой Обновление: приборка за собой Dec 21, 2024
AltGrF13 pushed a commit to AltGrF13/kvas that referenced this issue Dec 27, 2024
AltGrF13 pushed a commit to AltGrF13/kvas that referenced this issue Dec 27, 2024
AltGrF13 pushed a commit to AltGrF13/kvas that referenced this issue Jan 4, 2025
AltGrF13 pushed a commit to AltGrF13/kvas that referenced this issue Jan 4, 2025
AltGrF13 pushed a commit to AltGrF13/kvas that referenced this issue Jan 4, 2025
AltGrF13 pushed a commit to AltGrF13/kvas that referenced this issue Jan 4, 2025
AltGrF13 pushed a commit to AltGrF13/kvas that referenced this issue Jan 4, 2025
AltGrF13 pushed a commit to AltGrF13/kvas that referenced this issue Jan 4, 2025
AltGrF13 pushed a commit to AltGrF13/kvas that referenced this issue Jan 4, 2025
AltGrF13 pushed a commit to AltGrF13/kvas that referenced this issue Jan 4, 2025
AltGrF13 pushed a commit to AltGrF13/kvas that referenced this issue Jan 4, 2025
AltGrF13 pushed a commit to AltGrF13/kvas that referenced this issue Jan 4, 2025
@AltGrF13 AltGrF13 changed the title Обновление: приборка за собой [AltGrF13] Обновление: приборка за собой Jan 4, 2025
AltGrF13 pushed a commit to AltGrF13/kvas that referenced this issue Jan 5, 2025
AltGrF13 pushed a commit to AltGrF13/kvas that referenced this issue Jan 5, 2025
AltGrF13 pushed a commit to AltGrF13/kvas that referenced this issue Jan 5, 2025
AltGrF13 pushed a commit to AltGrF13/kvas that referenced this issue Jan 5, 2025
AltGrF13 pushed a commit to AltGrF13/kvas that referenced this issue Jan 8, 2025
AltGrF13 pushed a commit to AltGrF13/kvas that referenced this issue Jan 8, 2025
AltGrF13 pushed a commit to AltGrF13/kvas that referenced this issue Jan 8, 2025
AltGrF13 pushed a commit to AltGrF13/kvas that referenced this issue Jan 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants