Получи случайную криптовалюту за регистрацию!

.рубик

Логотип телеграм канала @dotrubic — .рубик Р
Логотип телеграм канала @dotrubic — .рубик
Адрес канала: @dotrubic
Категории: Технологии
Язык: Русский
Страна: Россия
Количество подписчиков: 317
Описание канала:

Канал о всяком, от CTF до разработки OC с примесью кеков от @Rubikoid
Чат - https://t.me/joinchat/3KSEUg7bfqE0N2Ey
Мемы: t.me/dotrubic_memes
Бложик: t.me/dotrubic_thoughts

Рейтинги и Отзывы

3.00

2 отзыва

Оценить канал dotrubic и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

1

4 звезд

0

3 звезд

0

2 звезд

0

1 звезд

1


Последние сообщения

2021-12-02 21:22:55 Очередной пост про весло.

На этот раз, правда, с болью: я запустил pacman -Syu, а весло или не весло, а сам пакман в результате потеряло часть системных файлов.
Их было достаточно много, при этом: например, bash или sudo просто не было, как таковых (они стали размером в 0 байт), а zsh ругался на:
zsh: error while loading shared libraries: /usr/lib/libcap.so.2: file too short
Очевидно, либа тоже была 0 байт.

В целом, из оставшихся доступных взаимодействий был маппинг весла по сети, был бинарь wsl.exe (есть ещё bash, но я проиграл в рулетку, и баш был тоже обнулен).

Какое решение всей это проблемы вышло по итогу:
Качается сама либа из пакетов арча:
https://archlinux.org/packages/core/x86_64/libcap/
Как-то её придется распаковать, а расжимать zstd скорее всего нечем - поэтому качается разжималка zstd отсюда

Либа распаковывается куда-нибудь, а дальше в проводнике открывается сетевой путь до tmp внутри весла \\wsl$\Arch\tmp, куда переносится либа.
Распаковать сразу в /usr из винды нельзя - винда ругается на пермишены (и правильно ругается кста).

Дальше фикшу либу, и можно уже заходить в шелл.
wsl -u root -e /bin/cp -r /tmp/usr /

Но всё веселье только начинается, надо ж ещё починить систему!

Логичней всего это делать через пакман, но увы - пакман тоже умер, поэтому по старой схеме - качаем https://archlinux.org/packages/core/x86_64/krb5,
распаковываем, накатываем поверх системы.

Ура, пакман появился, но починить всё нам будет мешать неработащий gpgme - его тоже придется накатить поверх системы.
(можно прописать "SigLevel = Never" в /etc/pacman.conf, но переустановить сам gpgme у меня всё равно не вышло - вылезли проблемы с либами).

Теперь gpg полностью работает, и можно наконец перенакатывать все пакеты: pacman -S --overwrite "*" $(pacman -Qnq)

Последним этапом можно попробовать поискать по системе мертвые файлы через лютый
find / \( -path '/mnt' -o -path '/sys' -o -path '/proc' -o -path '/dev' -o -path '/run' \) -prune -o -size 0c -print | grep -vE "lock|.gitkeep|__init__.py\$"
Но я у себя ничего не нашел.

UPD: покопался у себя в event viewer, и похоже, что причиной этому был OOM - весло попросило слишком много памяти, и винда убила виртуалку. pacman такое переживает достаточно плохо.

UPDx2: В комментариях подсказали, что восстановление после такого краша описано на арчевики - если вкратце, то половину действий можно упростить при наличии pacman-static (статической версии пакмана), или просто другого работающего арча, например, livecd, хотя в случае с веслом это сложнее. Also, мертвые файлы можно искать менее лютым find /usr/lib -size 0 - поскольку при обновлении пакетов из реп задевается только этот путь.
150 viewsRubikoid, edited  18:22
Открыть/Комментировать
2021-11-13 19:55:41 Yet another WSL2 trick Если хочется получить доступ к сервису, запущенному во втором весле из локальной сети, а не только с тачки с самим веслом - пригодится https://github.com/CzBiX/WSLHostPatcher. Суть - когда внутри второго весла открывается listen tcp…
238 viewsRubikoid, 16:55
Открыть/Комментировать
2021-11-13 19:44:27 Ещё одна фича особенность WSL2, о которой знают не все) Каждый раз, когда второе весло запускается - создается новая hyper-v сетка. Соответственно, и айпишник самого весла, и айпишник винды в этой сетке каждый раз разный. В итоге, если надо из весла сходить…
201 viewsRubikoid, edited  16:44
Открыть/Комментировать
2021-11-13 19:37:39 Ещё одна фича особенность WSL2, о которой знают не все)

Каждый раз, когда второе весло запускается - создается новая hyper-v сетка.
Соответственно, и айпишник самого весла, и айпишник винды в этой сетке каждый раз разный.

В итоге, если надо из весла сходить на какой-то сервис (например, иксы) в винде - надо сначала сначала определить этот айпишник
Наиболее простой и стабильный способ это сделать - вот такой вот однострочник для баша, который дергает виндовый netsh.
export REAL_WSL_ADDR=`netsh.exe interface ip show ipaddresses "vEthernet (WSL)" | head -n 2 - | tail -n 1 | awk '{ print $2; }'`

Есть ещё один вариант, через /etc/resolv.conf - но у меня весло стабильно криво поднимает DNS, поэтому конфиг резолва со статикой, и этот вариант не подходит.

После определения айпишника достаточно проверить, что сервис слушает не 127.0.0.1, а ip винды/0.0.0.0 - и всё, из весла можно на него сходить, других препятствий нет.
199 viewsRubikoid, 16:37
Открыть/Комментировать
2021-10-05 10:39:19 Yet another WSL2 trick Если хочется получить доступ к сервису, запущенному во втором весле из локальной сети, а не только с тачки с самим веслом - пригодится https://github.com/CzBiX/WSLHostPatcher. Суть - когда внутри второго весла открывается listen tcp…
274 viewsRubikoid, 07:39
Открыть/Комментировать
2021-10-05 08:30:13 В продолжение извращений - есть маленький бинарь на rust, который транслируется все вызовы себя в git в весле.

https://github.com/andy-5/wslgit

У него довольно узкий юзкейс, но вдруг кому-то пригодится)
215 viewsRubikoid, 05:30
Открыть/Комментировать
2021-10-05 08:30:13 Yet another WSL2 trick

Если хочется получить доступ к сервису, запущенному во втором весле из локальной сети, а не только с тачки с самим веслом - пригодится https://github.com/CzBiX/WSLHostPatcher.

Суть - когда внутри второго весла открывается listen tcp-порт - небольшой бинарь, маппящий всякие взаимодействия между виндой и веслом - wslhost.exe - начинает слушать этот же порт на 127.0.0.1 в винде, фактически выступая в роли tcp-прокси между виндой и веслом.
В итоге для пользователя появляется прозрачный доступ к порту, открытому в весле, но из локалки он не доступен.

Всё, что делает вышеупомянутая утилита - патчит в памяти этот бинарь, чтобы он открывал соединения не на 127.0.0.1, а на 0.0.0.0, слушая его на всех интерфейсах.

Нашел давно, но думал, что это достаточно узкая и частная проблема, а внезапно оказалось, что это не так)
274 viewsRubikoid, edited  05:30
Открыть/Комментировать
2021-09-19 01:09:49
Продолжая нерегулярную рубрику "а че там с бетой телеги"

Прилетела версия 3.0.5 beta, в которой в дефолтной синей теме поменяли цвет некоторых элементов.

Слева - было; Справа - стало

Вариант вернуть старую синюю тему: t.me/addtheme/h9soEq0wbHH4Co9k. Можно скачать себе файлом и поставить независимую версию)
256 viewsRubikoid, 22:09
Открыть/Комментировать
2021-09-11 19:11:55
Прилетела новая бетка десктопной телеги: теперь можно смотреть, кто прочитал твое сообщения в небольших группах.

Что такое небольшая группа - вопрос отдельный, правда, учитывая, что разделение на группы и супергруппы, вроде, ушло в прошлое.

Работает в прошлое, кстати, где-то до 4-5 сентября.

Ну и записывать видосы разрешили (а то раньше при записи звонка на выходе было только аудио)
309 viewsRubikoid, edited  16:11
Открыть/Комментировать
2021-09-04 22:35:51
Прилетел августовский апдейт на VSCode, и извините, я в лёгком ахуе.

Они впилили определение ЯП файла через ML (tenserflow на js, запускаемый локально), потому что, внимание, "некоторые новые пользователи VS Code не знали, как выбрать язык файла".
349 viewsRubikoid, 19:35
Открыть/Комментировать