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 сервере. Возвращаем к жизни Linux, Гайд, DNS, Raspberry pi, Длиннопост

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

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

Сдохла флешка в DNS сервере. Возвращаем к жизни Linux, Гайд, DNS, Raspberry pi, Длиннопост

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

Сдохла флешка в DNS сервере. Возвращаем к жизни Linux, Гайд, DNS, Raspberry pi, Длиннопост

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

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

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

Сдохла флешка в DNS сервере. Возвращаем к жизни Linux, Гайд, DNS, Raspberry pi, Длиннопост

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

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

Сдохла флешка в DNS сервере. Возвращаем к жизни Linux, Гайд, DNS, Raspberry pi, Длиннопост

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

Сдохла флешка в DNS сервере. Возвращаем к жизни Linux, Гайд, DNS, Raspberry pi, Длиннопост
Сдохла флешка в DNS сервере. Возвращаем к жизни Linux, Гайд, DNS, Raspberry pi, Длиннопост

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

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

Сдохла флешка в DNS сервере. Возвращаем к жизни Linux, Гайд, DNS, Raspberry pi, Длиннопост

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

Сдохла флешка в DNS сервере. Возвращаем к жизни Linux, Гайд, DNS, Raspberry pi, Длиннопост

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

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

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

sudo apt update

sudo apt dist-upgrade

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

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

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

Сдохла флешка в DNS сервере. Возвращаем к жизни Linux, Гайд, DNS, Raspberry pi, Длиннопост
Сдохла флешка в DNS сервере. Возвращаем к жизни Linux, Гайд, DNS, Raspberry pi, Длиннопост

Отмечаем, что в сети нет 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

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

Сдохла флешка в DNS сервере. Возвращаем к жизни Linux, Гайд, DNS, Raspberry pi, Длиннопост

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

Сдохла флешка в DNS сервере. Возвращаем к жизни Linux, Гайд, DNS, Raspberry pi, Длиннопост

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

Сдохла флешка в DNS сервере. Возвращаем к жизни Linux, Гайд, DNS, Raspberry pi, Длиннопост

./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. Это оказалось максимально близко к тому, что я себе представлял.

Как я в 2023 году с Windows 7 воевал. Рассказ в четырёх актах Программа, Python, Windows 7, Длиннопост

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

Как я в 2023 году с Windows 7 воевал. Рассказ в четырёх актах Программа, Python, Windows 7, Длиннопост

Проводник

Как я в 2023 году с Windows 7 воевал. Рассказ в четырёх актах Программа, Python, Windows 7, Длиннопост

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

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