TheKuT

Пикабушник
Дата рождения: 12 февраля
125 рейтинг 0 подписчиков 0 подписок 5 постов 0 в горячем
6

Как я собирал прошивку OpenWRT под Альт Линукс

Итак, возникла у меня производственная необходимость, собрать OpenWRT, но под рукой был лишь ноутбук с ALT Linux 10.4 KDE.

Итак, приступим.

Для подготовки на официальном сайте рекомендуют следующую команду для Debian

sudo apt install build-essential libncurses-dev zlib1g-dev gawk git gettext libssl-dev xsltproc rsync wget unzip python3 python3-distutils

Но у нас же не Debian, а отечественный дистрибутив с необычной моделью apt-rpm.

В процессе проб и ошибок получилась следующая команда

sudo apt-get install build-essential libncurses-devel zlib-devel gawk git gettext libssl-devel xsltproc rsync wget unzip python3 python3-module-distutils-extra perl-JSON-PP

Регистр важен

После этого стандартный image-builder начинает работать штатно.

Показать полностью
2

Помогите вспомнить игру? Попытка номер два

Помню, играл в детстве на компьютере (примерно, середина 2000-х).
Это была аркада с рисованной графикой и мультяшным сеттингом. Возможно, позиционировалась, как детская.
По элементам геймплея: это был платформер с элементами бит-ем-апа.
На выбор давалось несколько персонажей. Один из них – женщина с металлическими щупальцами, бьющая током. Был ещё босс в виде вентилятора. Был кооперативный режим, когда два игрока играют на одном экране, как на денди. Внизу был счётчик жизней.

Помню, катсцены там были в avi. Находил их поиском Windows XP и смотрел отдельно. Была такая катсцена: вот этот женский персонаж находится то ли в туалете, то ли в душе. к нему кто-то крадётся, и когда открывает дверь, персонаж его убивает электричеством из щупалец.

Игра была у меня на диске, но в связи с выходом дисков из моды, скорее всего, оказалась в помойке.

На уточняющие вопросы отвечу в комментариях.

12

Сдохла флешка в DNS сервере. Возвращаем к жизни

Перепост моей статьи 2021 года из Дзена. С течением времени, что-то могло поменяться.

Всех приветствую! Решил поделиться с общественностью своим хобби. Эта пилотная статья о насущном и о том, как с этим насущным бороться.

Итак, открыв шкаф после очередного отключения света, я обнаружил, что мой основной DNS на Raspberry Pi 1 не подаёт никаких признаков жизни. Благо, ничего перенастраивать не пришлось - в своё время, позаботился о резервировании.

Первая мысль: опять выгнуло адаптер, щас прижмём. Прижал адаптер, попробовал другой -- безрезультатно. Вставил флешку через USB-кард-ридер в соседний сервер и увидел следующее:

Вывод команды dmesg

Вывод команды dmesg

LSBLK никаких блочных устройств не видит

LSBLK никаких блочных устройств не видит

Стало очевидно - умерла флешка. Ну что ж, будем возвращать сервер в работу.

Берём запасную флешку, идём на сайт Raspberry в раздел Software, выбираем Raspberry Pi OS (он же Raspbian). Записывать флешку я буду утилитой Raspberry Pi Imager.

Ставить будем Raspberry Pi OS Lite. Нажимаем Write и ждем...

После записи образа переподключаем ридер с картой и в разделе boot создаём файл ssh без расширения. Это нужно для того, чтобы при загрузке Raspberry была доступна по SSH.

Подключаем, включаем - вроде заработало. DHCP в моей сети настроен на автоматическую выдачу адреса 192.168.200.10, так что можно сразу подключаться и производить настройку.

Логин и пароль по умолчанию pi:raspberry

Логин и пароль по умолчанию pi:raspberry

Произведём первоначальную настройку через команду raspi-config:

Задаём имя хоста

Задаём имя хоста

Указываем минимально возможный объем видеопамяти

Указываем минимально возможный объем видеопамяти

Проверяем все остальные настройки и перезагружаемся.

Далее - обновляем систему:

sudo apt update

sudo apt dist-upgrade

В качестве сервера будем использовать Pi-Hole. Это фильтрующий DNS-сервер, основанный на BIND. Установка очень простая:

Скрипт сам установит всё, что нужно и применит все настройки.

В процессе установки будет задан вопрос о предпочитаемом DNS-провайдере. Я выбираю Google. Это не принципиально, ибо при синхронизации применятся старые настройки.

Отмечаем, что в сети нет IPv6. На все остальные вопросы отвечаем утвердительно.

После завершения установки меняем пароль от веб-интерфейса

pihole -a -p

Теперь установим скрипт Gravity Sync для синхронизации

export GS_INSTALL=primary && curl -sSL https://gravity.vmstan.com | bash

Для основного сервера

export GS_INSTALL=secondary && curl -sSL https://gravity.vmstan.com | bash

Для резервного(ых) сервера(ов) (он у меня уже установлен)

На основном сервере всё! Подключаемся к резервному. С него мы возьмём настройки и чёрно-белые списки.

Чтобы не было проблем с ключами, удалим папку .ssh из домашней директории, всё равно, по SSH они общаются только друг с другом.

rm -rf .ssh

Заново познакомим основной и резервный сервера

./gravity-sync/gravity-sync.sh config

В процессе настройки у нас попросят данные для удаленного доступа по SSH (IP, логин, пароль).

Теперь можно сравнить две базы:

./gravity-sync/gravity-sync.sh compare

У данного скрипта есть три основных опции синхронизации:

smart - "умная" синхронизация. По сути, чья база свежее, ту и будем синхронизировать.
pull - синхронизируем базу с основного на резервный сервер.
push - синхронизируем с резервного на основной. Вот этот вариант нам и нужен.

./gravity-sync/gravity-sync.sh push

pi@nuke-DNS2:~ $ ./gravity-sync/gravity-sync.sh push

[∞] Initalizing Gravity Sync (3.4.4)

[✓] Loading gravity-sync.conf

[✓] Evaluating arguments: PUSH

[i] Remote Pi-hole: pi@192.168.200.10

[e] Validating OpenSSH client

[e] Validating RSYNC client

[e] Validating Gravity Sync folders on nuke-DNS2

[e] Validating configuration of Pi-hole

[e] Validating configuration of SQLITE3

[✓] Connecting to 192.168.200.10

[✓] Hashing the primary Domain Database

[✓] Comparing to the secondary Domain Database

[!] Differences detected in the Domain Database

[✓] Hashing the primary Local DNS Records

[✓] Comparing to the secondary Local DNS Records

[!] Replication of Pi-hole settings is required

[?] Type FIRE PHOTON TORPEDOS to confirm: FIRE PHOTON TORPEDOS

[✓] Performing backup of primary Domain Database

[✓] Performing backup of secondary Domain Database

[✓] Checking Domain Database backup integrity

[✓] Pulling backup of primary Domain Database

[✓] Pushing the secondary Domain Database

[✓] Setting file ownership on Domain Database

[✓] Setting file permissions on Domain Database

[✓] Performing backup of primary Local DNS Records

[✓] Performing backup of secondary Local DNS Records

[✓] Pulling backup of primary Local DNS Records

[✓] Pushing the secondary Local DNS Records

[✓] Setting file ownership on Local DNS Records

[✓] Local DNS Records

[i] Inverting tachyon pulses

[✓] Updating primary FTLDNS configuration

[✓] Reloading primary FTLDNS services

[i] Performing replicator diagnostics

[e] Rehashing the primary Domain Database

[e] Recomparing to the secondary Domain Database

[e] Rehashing the primary Local DNS Records

[e] Recomparing to the secondary Local DNS Records

[✓] Purging redundant backups on secondary Pi-hole instance

[i] 3 days of backups remain (628M)

[✓] Saving the updated hashes from this replication

[✓] Logging successful PUSH

Теперь проверим результат

Основной сервер

Основной сервер

Резервный сервер

Резервный сервер

./gravity-sync/<!--noindex--><a href="https://pikabu.ru/story/sdokhla_fleshka_v_dns_servere_vozvrashchaem_k_zhizni_12041060?u=http%3A%2F%2Fgravity-sync.sh&t=gravity-sync.sh&h=ab7337555d672618982b4d7b6a3cc33526632d2a" title="http://gravity-sync.sh" target="_blank" rel="nofollow noopener">gravity-sync.sh</a><!--/noindex--> compare - репликация не требуется.

./gravity-sync/gravity-sync.sh compare - репликация не требуется.

Gоследний штрих - автоматизация синхронизации.

./gravity-sync/gravity-sync.sh automate

Указываем время в минутах между синхронизациями (5, 10, 15, 30 минут на выбор; 0 - отключить автоматическую синхронизацию). Я выбираю 30 потому что нечасто вношу изменения в базу, а маленькое время увеличит нагрузку на основной сервер из-за постоянного хэширования.

Вот и всё! Пишите в комментариях, продолжать ли дальше рассказывать о своих приключениях с техникой?

Я из 2024: Gravity Sync не работает с Pi-Hole, начиная с версии 6. В качестве альтернативы, на просторах интернета есть проект Nebula Sync. Сам я давно уже не использую Pi-Hole. Хватает Dnsmasq с кастомным конфигом на роутере.

Показать полностью 14
5

Нужна помощь софт-/хард- энтузиастов

Доброго времени суток. Есть у меня тонкий клиент TONK TN1000 с Linux Embedded на борту. Хочу сделать из него микросервер на Debian, но штатными методами систему на нём поменять нельзя. Может быть, можно ему как-то её незаметно подсунуть… Характеристики у него, как у Линукс-машины, вполне себе неплохие. В идеале - справиться без пайки. Предвещая будущие вопросы: доступа к консоли нет, по сети на него тоже не попасть.Гуглить пробовал - безрезультатно.

9

Как я в 2023 году с Windows 7 воевал. Рассказ в четырёх актах

Это мой первый пост. Прошу слишком строго не судить. Да и не умею писать много и по делу. Люблю краткость. Итак, начнём.

Предыстория

Есть у меня боевой ноутбук Lenovo Ideapad 100-15IBY немного проапгрейженный под современные реалии и допиленный по части софта. В какой-то момент захотелось мне дикого Legacy в лице Windows 98 на MS Virtual PC 2007, ибо никто другой, из современных игроков рынка, не способен нормально её эмулировать (PCem не в счёт). На тот момент ноутбук работал под Windows Embedded 8.1 Industry Pro. К слову заметить, довольно шустро. На ней MSVPC либо вылетает с ошибкой, либо приводит к BSOD. В интернете есть способы запуска на современных версиях Windows, но они не работают. Так как за время прошлых экспериментов система успела обрасти хламом в виде хвостов от VMWare и подобных, было принято решение переустановить систему и ставить сразу Windows 7.

Акт первый: неудачный

Выбор пал на облегчённую (в разумных пределах) сборку от GhostSpectre – Windows 7 Ultimate N Standard. Всё установилось без проблем, драйверы тоже. Проблемы начались на этапе установки русского языкового пакета: установка проходила без ошибок, язык интерфейса менялся, но переставали запускаться RUNDLL приложения. Решил откатиться, через «Средство Восстановления Windows» и получил ошибку об отсутствии MUI. После этого решил удалить языковой пакет штатными средствами –  язык системы сменился на Английский, приложения RUNDLL заработали. Решил ещё раз установить языковой пакет по нормальному, ибо в прошлый раз установка была прервана и начата заново, вдруг что-то криво встало. Как и в прошлый раз, установка прошла без проблем – результат тот же. Подумалось, что что-то поломалось в системе после первой кривой установки.

Акт второй: «Будем пользоваться, как есть»

Переустановил начисто сборку от GhostSpectre, накатил русский LanguagePack – проблема осталась. Ладно, думаю, оставлю английский язык, благо, все действия делаю на автомате и в подписи особо не вчитываюсь, да и с английским проблем нет. Ставлю софт: 7-Zip, Office и т. п. – без проблем. На этапе установки VirtualBox (нужен для рабочих задач) возникла серьёзная проблема – при запуске, установщик отправлял систему в BSOD без каких-либо причин. На данном этапе решаю полностью отказаться от неофициальных образов Windows, но не от оптимизации системы.

Акт третий: Почти победа, но…

После долгого изучения темы и танцев на граблях, останавливаюсь на Windows Embedded POSReady 7. Установка – без проблем. LanguagePack – тоже. Для установки последних обновлений использовал пакет от Simplix – после обновления KB3125574-v4 установщик перестал видеть его в системе, и установка пошла по кругу. Пришлось прервать установку.

Акт четвёртый: Таки победа

Решаю внедрить обновления в install.wim с помощью возможностей всё того же UpdatePack’а. Внедрение прошло успешно, файл потолстел в два раза. С помощью UltraISO кладём потолстевший файлик на место, грузимся. Загрузились, установка прошла успешно, весь софт поставился без проблем, KMS отработал.

Ставлю VirtualBox – BSOD’а нет, но есть ошибка об отсутствии Visual C++ 2019. Качаю AIO пак Visual C++, ставлю – ошибка не уходит. Ставлю версию постарше (6.1 вместо 7.0) – ошибка есть, но уже другая – что-то с DLL. Начинаю гуглить и выясняю, что VirtualBox не поддерживает Windows 7 с версии 6.1. Качаю установщик версии 6.0 и, о чудо – всё установилось с первого раза.

Дальше был Python. На официальном сайте крайней поддерживаемой версией для Windows 7 заявлена 3.8.x. Ищем… Последняя версия – 3.8.17, но нет установщика, но есть приписка, что бинарных установщиков нет с версии 3.8.10. Качаем, ставим, вроде работает.

После всех моих мучений захотелось тёмную тему, как в Windows 10. Стандартными методами этого не сделать, придется искать и ставить стороннюю тему. Вообще, я не сторонник всяких тем от Васянов, но в данном случае комфорт глаз победил. На удивление, светлый интерфейс не так бил по глазам в 8, как в 7. В итоге, перепробовав несколько вариантов, я остановился на теме Talaris. Это оказалось максимально близко к тому, что я себе представлял.

Рабочий стол Windows 7

Рабочий стол Windows 7

Проводник

Проводник

Ну и сам виновник торжества

Ну и сам виновник торжества

Показать полностью 3
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества