-
Notifications
You must be signed in to change notification settings - Fork 57
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
Обновление: приборка за собой #234
Comments
К сожалению не уберет, необходимо для этого использовать опцию в opkg: |
Интересные опции, не знал о них. Но исходил из того, как на это реагируют пакеты при обновлении в "больших" менеджерах. Они именно ругаются на то, если файл отличается от того, что предлагается пакетом. И в моей схеме после удаления новых КВАСов в конфигах должны оставаться/восстанавливаться исходные файлы. И они не будут "different", т.е. предупреждения быть не должно (из-за совпадения файла). |
(расширенные пункты по задаче для реализации самому) А. ipset.kvasВ механизме предочистки пытаться удалить ipset.kvas из всех крон-директорий из-за оптимизации пользователями. Б. Конфиги исходныеВ рамках этой же задачи надо сделать это
Кроме правильности подхода; это ещё уберёт (при переходе с новых версий на новые) предупреждение, пугающее пользователей В. Сохранение спискаС одной стороны, при обновлении со старых версий от пользователей мы требуем самостоятельно позаботиться о списке и его преобразовании (избавиться от звёзд). С другой — это не дружелюбно, нужно исходить из простоты использования малоподкованными пользователями. В #210 перед установкой, как уже упоминал, добавлен механизм приборки. При очистке
filename=list_$(date +"%y-%m-%d").txt
Тогда если пользователь пишет, что забыл о старом списке и хотел бы именно его развернуть (у меня уже несколько таких было), то ему просто надо будет подсказать о домашней директории. Не надо будет ни заботиться о бекапе самому, ни чистить его от звёзд в редакторе. |
(задача, которую может выполнить любой желающий)
Продолжение #201 и #210.
Очистка
По сути, эпохально сейчас 4 версии КВАСа:
Каждая из них оставляла какие-нибудь да хвосты. Заставлять пользователя что-то чистить или перезагружаться — не подходит к концепции "дружелюбия" к технически неподготовленным пользователям.
В идеале проверить, чтобы будущий релиз перед своей установкой мог "прибраться" за любой из них (т.е. прогнать ниже указанные тесты не для одной, а для четырёх). На примере файла /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. Файлы
Вроде бы уже боролись, но мало ли чего осталось. Тестовая функция
Переустанавливаем 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 уже есть.
The text was updated successfully, but these errors were encountered: