
Лига Сисадминов
Ответ на пост «РКН проверяет граждан на прочность»10
Ура блокировкам! Есть спрос на стеганографию. Взял себе сервер в Германии за 149 рублей в месяц, поставил убунту и поднял shadowsocks сервер. Туча инструкций и решений. Тянул долго, реализовал за два рабочих дня, параллельно решая рабочие задачи. Сотовый 4G спид тест показал 40Мбит. На 4К тянет со скрипом, а вот на ваши дискорты, вообще с королевским запасом.
Я за спрос на эти технологии. Нахер никому не нужный биткоин взлетел из-за спроса. Пусть сейчас криптопанк перестанет быть местом взаимного дрочева двух с половиной гиков. Пусть бабло потечёт в эту тему и появятся крутые решения. Пусть люди ВПН от прокси отличать научатся и станут понимать, что такое луковая маршрутизация.
О смене юзернейма в MacOS
Ночью сел и часок-другой потратил на то, чтобы поменять username главного аккаунта на MacOS
Штука больше эстетичная, с элементом челленджа и легкой ноткой экстрима в виде возможности потери работоспособности операционной системы, что приведет к её переустановке.
Но я решительно его сменил везде, и вот больше года сижу со старым на ноуте...
Где-то читал что это можно сделать только снаружи системы, с рекавери мода или внешней системы
Формулировки не точные, но суть именно такая была
Но загуглив снова - я нашел официальное руководство на сайте Apple
В нём не хватает инструкции по переименованию директорий и восстановлению символьных ссылок только...
В целом операция довольно простая, притом явно проще, чем для Linux.
UPD. (Для рядового юзера) В линуксе юзернейм меняется всего одной командой:
usermod -l new_username old_username
Просто создаем второго админа, логинимся под ним, в настройках меняем имя пользователя и путь к его домашней директории.
Проблемы могут возникнуть именно со вторым пунктом, когда понадобится переименовать директорию (эт надо сделать вручную).
У меня не хватило любопытства разобраться в том как это сделать, т.к. мне выбивало Permission denied даже под sudo и su.
Видимо, есть еще доп права на эту операцию для вторичных админов.
Так что я просто при помощи su в терминале залогинился под главным пользователем, которому и меняю юзернейм и домашнюю директорию. И из-под него с sudo переименовал его же директорию, словив панику в консоле. (Самая высокая степень критичности ошибки)
Благо что паника не ядра, а каких-то консольных утилит 😂
Потом перепроверил - всё ок, задумка удалась. Директория переименована.
Заменил ему юзернейм и перезагрузил компьютер.
В целом на этом этапе 99% юзерам можно закончить.
Только вот есть один нюанс: этим юзерам не нужно переименовывать пользователя, а уж тем более менять путь домашней директории.
И, скорее, всего они даже не в курсе об их существовании, просто есть Finder, файлы и, в лучшем случае они не называют «директории» - «папками» 🤓
Так вот в системе, особенно в инструментах разработки активно используются символьные ссылки.
И именно тут может крыться дьявол. А дьявол, как мы помним - в деталях.
Мы не только сменили имя пользователя, а и путь к его домашней директории.
И все ссылки, которые вели к её содержимому, с этого момента теперь битые.
А значит у нас перестанут работать множество утилит.
Из первого что приходит на ум, использующее символьные ссылки в своей работе:
yarn, n, кэши, poetry и множество других утилит
В них в первую очередь можно будет столкнуться с проблемами.
Так что пришлось применить знания, которые были получены в процессе пользования семейством линуксовых дистрибутивов:
Был собран список всех битых ссылок при помощи команды:
find . -type l ! -exec test -e {} \; -print > broken-symlinks.txt
Затем этот файл был прочтен и построчно перепроверен Python скриптом
Я не делал никакой унификации, чисто одноразовый проход мне нужен был, так что готового скрипта прикреплять не стану, в силу его отсутствия.
После перепроверки получившегося списка - я убедился что правильно помню как работать с pathlib
(Как по мне, один из лучших вариантов для работы с файловой системой, хотя бывает, в редких случаях, функционала не хватает)
Далее уже пошло как по маслу - собрал данные по ссылкам в переменные, добавил логов через принты, убедился что нет относительных ссылок, отфильтровал и удалил все битые ссылки что не связаны с заменой юзернейма, затем еще одним проходом сделал замену в реальном пути ссылки, попутно ее пересоздавая при помощи операции "удалить + создать" в том же цикле.
Как итог, я с уверенностью могу продолжить пользоваться системой, из изменений в которой - только имя пользователя и имя его домашней директории.
Ну и финальным штрихом при помощи grep -r "/username" проходимся по всем файлам в домашней директории, подчищаем старые, не нужные файлы и ручками меняем значения конфигов, где был указан абсолютный путь к домашней директории пользователя чтобы восстановить работу оставшихся утилит.
Обычно таких файлов немного. Лично у меня их вышло около 10, часть fish, другая часть docker.
Ну и устаревшие билды кэша packer от Neovim, в отдельной директории, которую я просто снёс, потому что на последнем стриме переписал весь конфиг на Lazy
UPD. Узнал, что в авторский контент можно ссылки на свои ресурсы добавлять.
Мой Телеграм канал: @cododelia
Правда ли, что ютюб блочит аккаунты за использование впн или вброс?
У кого-то такое было? Не хотелось бы потерять свои плейлисты, которые годами формировались
Странный глюк в сети. Может кто сможет подсказать куда рыть?
Всем привет!
Собственно суть примерно такова, имеется сеть, в основе которой роутер микротик rb951. Далее он делит сетку на две части, одна из которых домашняя сетка, другая - пара подключенных по радиомосту соседей.
Радиомост построен на секторной точке доступа от tp-link с моей стороны и два микрота со-стороны соседей.
С недавних пор возник глюк, если провод от секторной антенны втыкать напрямую в основной роутер, то линк живёт с полминуты-минуту и потом падает, без объяснения причин (думал может там закольцевалось что, но нет). Если же между ними воткнуть что-нить простенькое типа dir-100, то всё нормально работает.






