Док вайбит
Статистика- Последний пост
- 10 июн.
- Последнее чтение
- ещё не заходили
- Постов за неделю
- 0
- Всего постов
- 16
- Тип
- открытый
- Язык
- русский
- В каталоге с
- 15 авг.
- 1/24сутки в ленте
- —
- 1/48двое суток
- —
- 1/72трое суток
- —
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
Сообщаю, https://huggingface.co/unsloth/Qwen3.6-35B-A3B-MTP-GGUF на одной из последних сборок llama.cpp на 3060Ti 8G VEAM + 30G+ RAM выдаёт чёткие и невероятные 20-30 токенов в секунду Собрал llama.cpp так FROM nvidia/cuda:13.1.1-devel-ubuntu24.04 AS builder RUN apt-get update && apt-get install -y \ build-essential cmake git curl \ && rm -rf /var/lib/apt/lists/* RUN git clone https://github.com/ggml-org/llama.cpp /build && \ cd /build && \ git checkout b9672 WORKDIR /build RUN cmake -B build \ -DCMAKE_BUILD_TYPE=Release \ -DGGML_CUDA=ON \ -DCMAKE_CUDA_ARCHITECTURES=86 \ -DBUILD_SHARED_LIBS=OFF \ && cmake --build build --target llama-server -j$(nproc) # Финальный образ — runtime + необходимые библиотеки FROM nvidia/cuda:13.1.1-runtime-ubuntu24.04 RUN apt-get update && apt-get install -y \ libgomp1 \ && rm -rf /var/lib/apt/lists/* # Копируем бинарник COPY --from=builder /build/build/bin/llama-server /usr/local/bin/llama-server EXPOSE 8080 ENTRYPOINT ["llama-server"] Запускаю так [Unit] Description=Podman container-llama-qwen36-moe.service Wants=network-online.target After=network-online.target RequiresMountsFor=%t/containers [Service] Environment=PODMAN_SYSTEMD_UNIT=%n Restart=on-failure TimeoutStopSec=70 ExecStart=/usr/bin/podman run \ --cidfile=%t/%n.ctr-id \ --cgroups=no-conmon \ --rm \ --sdnotify=conmon \ --replace \ --name llama-qwen3-gpu \ --device nvidia.com/gpu=all \ --network slirp4netns \ -p 8080:8080 \ -v /mnt/8T/dump/LLM:/models:ro,z \ --read-only \ --security-opt no-new-privileges \ --tmpfs /tmp \ --cap-drop ALL \ --pids-limit 64 \ --memory 48g \ --cpus 6 \ --user 65534:65534 \ llama-gpu \ -lv 4 \ --model /models/Qwen3.6-35B-A3B/unsloth-Qwen3.6-35B-A3B-UD-Q4_K_XL.gguf \ --mmproj /models/Qwen3.6-35B-A3B/mmproj-F32.gguf \ --no-mmproj-offload \ --image-min-tokens 2048 \ --image-max-tokens 8192 \ --host 0.0.0.0 \ --port 8080 \ --threads 6 \ --n-gpu-layers 99 \ --n-cpu-moe 38 \ --no-mmap \ --ctx-size 155648 \ -np 1 \ -ub 1024 -b 1024 \ --flash-attn on \ --cache-type-k q8_0 \ --cache-type-v q8_0 \ --jinja \ --temp 0.6 \ --top-p 0.95 \ --top-k 20 \ --min-p 0 \ --presence-penalty 1.5 \ --repeat-penalty 1.05 \ --repeat-last-n 256 \ --reasoning-budget 4096 \ --cache-ram 4096 \ --kv-unified \ --cache-idle-slots \ --spec-type draft-mtp \ --spec-draft-n-max 3 ExecStop=/usr/bin/podman stop \ --ignore -t 10 \ --cidfile=%t/%n.ctr-id ExecStopPost=/usr/bin/podman rm \ -f \ --ignore -t 10 \ --cidfile=%t/%n.ctr-id Type=notify NotifyAccess=all [Install] WantedBy=default.target Так же, помогает sudo nvidia-smi -pm 1 - Уменьшает латентность инициализации CUDA-контекста. Persistence mode держит NVIDIA-драйвер постоянно загруженным в ядро, чтобы CUDA-процессы стартовали мгновенно вместо ожидания инициализации GPU. Количество токенов в карте поместилось около 150к+ #ai #контейнеры
Продолжаем четверг! Слово автору @Dok2d --- Привет всем из самарского хакспейса S4M! Flipper Zero LAN Tester - приложение для Flipper Zero с модулем W5500, превращающее его в полноценный сетевой мультитул для Ethernet. [демо] Модуль W5500 для Flipper существует уже давно, но за два года под него написали ровно две вещи: DHCP-клиент и ping. Всё, больше я не видел других реализаций. При том, что чип умеет MACRAW (сырые фреймы), IPRAW, UDP, TCP и вообще готов к любой приключенческой деятельности. Решил закрыть этот пробел, благо сейчас это стало невероятно просто. И да, вчера приложение приехало в официальный каталог: https://lab.flipper.net/apps/lan_tester Сразу с козырей. Самые невероятные фишки Flipper с Ethernet: - ETH Bridge - Flipper работает мостом USB↔️Ethernet на Layer 2. Телефон или ноут подключается по USB CDC-ECM(этого режима у флиппера раньше не было), трафик бриджуется через W5500 MACRAW(И самое интересное, этот траффик можно дампить прямо в карту флиппера!). Хост прозрачно получает IP от DHCP локалки. Работает нативно на Linux, macOS и Android, на экране счётчики фреймов в обе стороны. То есть Flipper теперь может быть USB-Ethernet-адаптером! - PXE-сервер - минимальный PXE с DHCP + TFTP. Загрузочные файлы читаются с SD, автодетект .kpxe/.efi/.pxe/.0. Причём, я сначала хотел оставить чёткую инструкцию откуда куда какие именно файлы качать.. НО я решил рискнуть.. И теперь флиппер может сам скачать файлы из интернета куда надо! - HTTP-сервер / File Manager - веб-морда на 80 порту, отдающая файлы с SD. Навигация по директориям, скачивание/загрузка, создание папок, удаление. ЦЕЛЫЙ ВЕБ-СЕРВЕР на флиппере! Другие возможности: Обнаружение и инвентаризация сети: - LLDP Listener - пассивный парсинг IEEE 802.1AB со всеми TLV (типы 0–8, 127): имя свича, порт, management IP, VLAN, chassis ID, capabilities - CDP Listener - Cisco Discovery Protocol через LLC/SNAP: device ID, platform, software version, native VLAN, duplex - STP/VLAN Detection - пассивный BPDU-листенер и извлечение 802.1Q VLAN-тегов - ARP Scanner - активное сканирование подсети пачками по 16 запросов, OUI-lookup по ~120 вендорам (Cisco, HP, Dell, Intel, MikroTik, Ubiquiti, Apple, WIZnet, Espressif и т.д.), детект дубликатов IP - Ping Sweep - ICMP-свип всей подсети по CIDR, автодетект диапазона из DHCP - mDNS/SSDP Discovery - поиск сервисов по multicast DNS и устройств по UPnP/SSDP - Port Scanner - TCP connect-скан: Top-20, Top-100 и кастомный диапазон 1–65535 - DNS Lookup - резолв A-записей через UDP DNS Диагностика: DHCP-анализатор, Ping обычный или непрерывный, Traceroute К сожалению, прозвонки кабеля (TDR/wiremap) нет - для этого нужна аналоговая обвязка, которой у W5500 просто нет. Flipper теперь ещё больше мультитул, чем раньше) Да, приложение ещё обкатывать и фиксить, но какой уже прогресс! Так же, планирую добавить поддержку других lan-модулей. Каталог приложений: https://lab.flipper.net/apps/lan_tester GitHub: https://github.com/dok2d/fz-W5500-lan-analyse ---
Возможно, мы не разглядели главного обновления телеги
Ребята! Скрипт был обновлён и если у кого есть дедик, то на нём можно запустить такой cron 10 01 * * * bash /home/user/gog-games-downloader.sh -c /home/user/gog_cookie.txt --only-giveawayclaim >> /home/user/gog_log 2>&1 Таким образом, вам не надо будет следить, когда у GOG будет раздача. Скрипт сразу будет добавлять её в библиотеку, не скачивая все игры. Кстати, сегодня там открылась очередная бесплатная раздача, можете заодно проверить. Хороших выходных!
Залипательно #bash https://github.com/dok2d/scripts/blob/master/dvd_screen
Очередной квест сделал специально для аддона @RottenMechanism, который ребята из Offzon просто проигнорили, хотя это был лучший аддон мероприятия. К слову, сегодня вышел его райтап. Приятного чтения :)
Вы не просили и не ждали, но он вышел в паблик - мой доклад 2022 года про попадание операционки на железные серваки или BMaaS на пальцах(18+). С тех пор появились новые нюансы, благодаря которым можно смело делать доклад Провижн железа v2.0(теперь банановый), такие как BGP и redfish-virtual-media, которые круто меняют весь процесс.. Да.. Получился бы клёвый доклад.. Но может быть, как-нибудь. #openstack #доклады #bmaas
Ууу! Теперь живём по подпискам) Интересно, как оно на стороне самих репок реализовано. Ну например, теперь есть одни зависимости для пакетов вне подписки и отдельно для для лакшери-юзеров? И как оно обыгрывается через кеширующие сервера..🤔
Выгрузка всех игр из личной библиотеки GOG У меня за несколько лет использования GOG, накопилось больше ста игр. И однажды встал вопрос, как бы их разом сдампить. Залез на страницу, увидел API-вызовы и понеслось) https://github.com/dok2d/gog-games-downloader Требования: jq, curl, wget Перед запуском необходимо заполнить в начале скрипта параметры platforms, langs_priority и outpath Далее, захватываем свою куку с www.gog.com, выглядит она, примерно, так Cookie: csrf=true; gog_lc=RU_RUB_ru-RU; CookieConsent={stamp:%274W2xTRAtatatatatatatata+TRAtata+Nnoasdg==%27%2Cnecessary:true%2Cpreferences:false%2Cstatistics:false%2Cmarketing:false%2Cmethod:%27explicit%27%2Cver:1%2Cutc:749574957495%2Cregion:%27ru%27}; gog_us=OOOOOMoyaOboronaaaa; cart_token=aff749574957495f; gog-al=10O8XXXXXXXXXXXXXX-H3XXXXXXXXXXX-KoXXXXXXXXXXXX_XXXXXXXXXXXXXX-; front_ab=old Запуск: bash get_gog_library cookie_file Скрипт умный: - Поддерживает 16 языков(больше в своей библиотеке не нашёл) - Скачает только первый найденный язык по указанным приоритетам - Если файл игры уже был скачан, то его скипнет - Если установщик игры составляет более одного файла, то кладёт в отдельную директорию - Если выдаётся cd-key игры, то он скачается тоже #bash
Оказывается, из awk можно делать shell-вызовы! Пример echo uptime | awk '{system($1)}' 23:01:25 up 8 days, 10 min, 1 user, load average: 8.71, 8.86, 8.77 #bash
На самом деле, в sed такое не работает. Мало того, что для ? требуется вызывать с аргументом -r, так ещё и происходит жадная квантификация. Реально же, спасает такая схема echo '"tra" ta "tata"' | sed 's/"[^"]*"//g' ta
Как здесь отработала регулярка? Она нашла первую кавычку. Далее по требованию «.+» подходили все символы до конца строки, так что регулярка дошла до конца строки и начала поиск в обратном направлении. Нашла первую закрывающую кавычку с конца и выдала результат. Это пример жадной квантификации. Чтобы эту проблему решить, существует ленивая квантификация. Она вводится с помощью «?» после квантификатора. Как работает регулярка, если мы добавим «?»? Она находит первую кавычку и идет уже не до конца строки, а до границы результата — закрывающей кавычки. Затем проверяет содержимое внутри границ и снова переходит к следующей открывающей кавычке. https://habr.com/ru/companies/rosbank/articles/765538/ #regexp
Аварийная смена пароля в #linux Я несколько лет использовал такую громоздкую схему для смены пароля при аварийном восстановлении доступа mount --bind /dev /mnt/dev mount --bind /dev/pts /mnt/dev/pts mount --bind /proc /mnt/proc mount --bind /sys /mnt/sys chroot /mnt/ passwd root Но только сегодня случайно узнал, про аргумент passwd --root И вся работа свелась к двум простым командам, прекрасно! mount /dev/sda3 /mnt passwd --root /mnt root Можно, конечно, ещё и через grub рутоваться и менять, но это не всегда удобно.
Серверные дикости Существуют сервера, которые при монтировании iso-образа через MegaRac(аналог iLo/iBMC/iDRAC и пр.), вырубают сетевой интерфейс НА СВИЧЕ, что обслуживает тот самый MGMT-интерфейс! Сервак просто начинает засирать траффик multicast-пакетами и его лочит свич, ввиду политик дефолтного ограничения количества пакетов(pps)! #bmaas
Написал скрипт, чтобы мониторить успехи друзей в duolingo https://github.com/dok2d/scripts/blob/master/duolingowatch Принцип: скрипт периодически заходит на публичную API-страницу пользователя и сравнивает прошлые баллы, с нынешними. Если есть разница, присылает сообщение в телегу кто на каком языке сколько баллов набрал. Для запуска потребуются: bash, jq и curl Прописываем внутри данные tg-бота и запускаем командой bash duolingowatch dok2d #bash
Облако тегов #bash #openstack #контейнеры #доклады #сервисы #linux #ansible #bmaas #медиа #regexp #ai