gladilov.org.ru 

1372 заметки с тегом

софт

Позднее Ctrl + ↑

Автоматический запуск screen при входе по SSH

Для работы скрипта требуются установленные в системе пакеты dialog и screen.

Показать

В конец ~/.bashrc дописать:

if [ "$SSH_TTY" ]; then
  if [ ! "$STY" ] ; then
    CHOICE=`~/SCREEN/choose`
    if [ "$CHOICE" ]; then exec screen -dr $CHOICE; fi
  fi
fi

При логине по ssh-протоколу откроется меню с выбором работы в существующих сессиях screen’а или возможностью остаться в консоли ssh-клиента. Если запущенных сессий screen’а нет — меню не откроется.

Содержимое файла ~/SCREEN/choose:

#!/usr/bin/env bash
i=0
declare -ax SCREENS
SOCKETS=`find /var/run/screen/S-$(whoami) -type p 2>/dev/null`
if [ -z "$SOCKETS" ]; then exit 0; fi
for S in $SOCKETS; do ((i=$i+1)); S=`basename $S`; SCREENS[$i]=`screen -ls | grep $S | perl -e '$s=<>; $s =~ s/^\\t(.*)\s/$1/; $s =~ s/\s/_/g; print $s'`; done
MENU=""
for ((j=1; j<=$i; j=$j+1)); do MENU="$MENU $j ${SCREENS[$j]}"; done
MENU="$MENU $j Отменить"
WHICH=`dialog --stdout --menu Select: 0 0 0 $MENU`
if [ "$WHICH" != "$j" ]; then echo ${SCREENS[$WHICH]} | sed -e 's/_(.*)$//'; fi

Установка DebWrt на DIR-320 аппаратных ревизий A1/A2

На всякий случай сделаю в блоге копию руководства со страницы  DIR-320 -> Firmwares -> DebWrt

Показать

Оглавление
Необходимые материалы
Подготовка накопителя
Прошивка устройства
Действия после перепрошивки
Использование NetConsole

Необходимые материалы

Я использую прошивку DebWrt ревизии 116 от 22 июня 2011 года с ядром версии 2.6.34.5. Немного тухло, но в сборках с более свежими ядрами мне не удалось заставить работать интерфейс wlan0 (видимо — из-за этого), а пересобирать прошивку — лениво. Работает — и пусть работает :-) Прошивки беру с официального сайта DebWrt.

Перейти к оглавлению

Подготовка накопителя

Команды выполняются от имени пользователя root или используется sudo. Допустим, что USB-флеш-накопитель объявлен в системе как /dev/sdb

Последовательность действий следующая:

Разбивка накопителя на разделы

/dev/sdb1 - метка тома DEBWRT_ROOT, тип - Linux (ext3), весь объём накопителя, кроме свопа
/dev/sdb2 - метка тома DEBWRT_SWAP, тип - Linux Swap, объём - 128 Мб

Создание файловых систем

mkfs.ext3 -L DEBWRT_ROOT /dev/sdb1
tune2fs -c 0 -i 0 /dev/sdb1
mkswap -L DEBWRT_SWAP /dev/sdb2

Монтирование корневого раздела ext3

mkdir -p /mnt/debwrt
mount /dev/sdb1 /mnt/debwrt
cd /mnt/debwrt

Распаковка архива с корневым образом в /mnt/debwrt (/dev/sdb1)

tar xjvf ~/debwrt-rootfs-mipsel-2.0-1.tar.bz2

Распаковка архива с модулями ядра в /mnt/debwrt (/dev/sdb1)

tar xzvf ~/debwrt-modules-brcm47xx-Broadcom-b43-2.6.34.5-angel-2.0-1.tar.gz --no-same-owner

Размонтирование и извлечение накопителя

cd
sync
umount /mnt/debwrt
eject /dev/sdb

Перейти к оглавлению

Прошивка устройства

Устройство перепрошивается DebWrt-прошивкой по инструкции с сайта OpenWrt, затем необходимо перезагрузить маршрутизатор.

Вариант для  Шindoшs

tftp -i 192.168.0.1 put debwrt-firmware-brcm47xx-squashfs.trx

Вариант для  Linux

atftp --trace --option "timeout 1" --option "mode octet" --put --local-file debwrt-firmware-brcm47xx-squashfs.trx 192.168.0.1

После перепрошивки действуют следующие установки по умолчанию:

  • пользователь : root
  • пароль : debwrt
  • IP-адрес : 192.168.1.1

При первой загрузке (в случае самостоятельной сборки образа) выполняются сервисы SSHD и telnetd

При обычной загрузке

  • запущены сервисы SSHD и telnetd
  • eth0 настроен в /etc/network/interfaces
  • настройки switch не произведены (используется пакет robocfg или swconfig)
  • предустановлены пакеты DebWrt
    — robocfg
    — nvram
    — libnl
    — hostapd (nl80211, madwifi, WPA, WEP, режим ТД)
    — iw

Перейти к оглавлению

Действия после перепрошивки

Необходимо:

  • настроить MAC-адрес (опционально, MAC’и выдуманы)
nvram set et0macaddr=1c:af:f7:96:3b:0e
nvram set il0macaddr=1c:af:f7:96:3b:10
nvram commit
reboot
  • установить новый пароль пользователя root
  • установить пакет locales (опционально)
  • настроить timezone
  • сбросить секретный ключ SSHD
  • проверить, что настройки /etc/securetty позволяют пользователю root логиниться на pts/0 ... pts/6

Для запуска сервиса robocfg установите ENABLED=1 в файле /etc/default/robocfg, добавьте символическую ссылку от файла /etc/init.d/robocfg в /etc/rcS.d (сервис должен стартовать до службы «networking»), удалите файл /etc/network/interfaces (если это символическая ссылка) и создайте его заново.
Перейти к оглавлению

Использование NetConsole

nc -l -p 6666 -u

Перейти к оглавлению

Продолжение

2017   D-Link   Linux   ОС   роутер   софт

Запуск Apache с IP в качестве имени сервера

Должен быть доступен ifconfig (в Debian 9 по умолчанию не установлен пакет net-tools), конфиг-файл апача лежит по пути /etc/apache/httpd.conf.

Показать

#!/usr/bin/env bash
APACHECONFFILE=/etc/apache/httpd.conf
if test $(id -u) != 0
    then echo "You must be root to run this script! Aborting."
    exit 1
fi
if ! type /sbin/ifconfig>/dev/null 2>&1
    then echo "ifconfig required but not installed! Aborting."
    exit 1
fi
LC_ALL=C
export LC_ALL
ALL=$(ifconfig -a | sed -n 's/^\([^ ]\+\):.*/\1/p' | paste -sd ' ')
IF=""
for if in $ALL; do
    test "$if" == "ppp0" -a "$IF" == "" && IF=$if
done
for if in $ALL; do
    test "$if" == "ippp0" -a "$IF" == "" && IF=$if
done
for if in $ALL; do
    test "${if/#eth*/eth}" == "eth" -a "$IF" == "" && IF=$if
done
for if in $ALL; do
    test "${if/#enp*/enp}" == "enp" -a "$IF" == "" && IF=$if
done
for if in $ALL; do
    test "${if/#wlan*/wlan}" == "wlan" -a "$IF" == "" && IF=$if
done
test "$IF" == "" && IF=lo
echo Using $IF
IP=$(ifconfig $IF|awk '/inet/{print $2}'|cut -d: -f2)
SERVERNAME=$(awk '/^ServerName/{print $2}' $APACHECONFFILE)
echo ServerName changed from $SERVERNAME to $IP
perl -pi -e "s/(^ServerName).*/\1 $IP/" $APACHECONFFILE
/etc/init.d/apache reload

Простейший portknock’ер

Простейший portknock’ер, работающий по icmp.

Показать

iptables -A INPUT -p icmp --icmp-type 8 -m length --length 153 -m recent --name portknock --rsource --set -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 8 -m length --length 154 -m recent --name portknock --rsource --update --hitcount 1 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 8 -m length --length 155 -m recent --name portknock --rsource --update --hitcount 2 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -m recent --seconds 10 --name portknock --rsource --rcheck --hitcount 3 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP


Для открытия порта SSH необходимо пустить три определённых пинга на адрес целевой системы:

ping -s 125 -c 1 [адрес]
ping -s 126 -c 1 [адрес]
ping -s 127 -c 1 [адрес]


Пользователям системы Microsoft ® Шindoшs ™ придётся использовать такой синтаксис:

ping -l 125 -n 1 [адрес]
ping -l 126 -n 1 [адрес]
ping -l 127 -n 1 [адрес]

Создатель MINIX обратился в Intel с открытым письмом

В связи с использованием корпорацией Интел в чипе ME-11 миркоядерной операционной системы MINIX Эндрю Таненбаум, автор этой ОС, выпускаемой под лицензией BSD, обратился к сотрудникам «Голубого гиганта» с открытым письмом.

Цитата:

«Единственное, что было бы хорошо, это то, что после завершения проекта и развертывания чипа кто-то из Intel сказал бы мне, как любезность, что MINIX 3 теперь, вероятно, является самой широко используемой операционной системой в мире на компьютерах x86. Это определенно не требовалось никоим образом, но я думаю, было бы вежливо дать мне знать, вот и все.»

Ссылка на текст открытого письма

N. B. Знатно потролил ( o.o)

Системы управления пакетами

Моей любимой жене, только ступившей на путь
превращения в отличного системного администратора.

Никуда с этого пути на сворачивай!

Современный мир операционных систем состоит как из отдельных ярких звёзд, так и из целых созвездий, сгруппированных общей идеологией. Примерами первых могут служить RISC OS или QNX, во вторую группу входят целые плеяды операционок, например UNIX-подобные ОС, системы, основанные на BSD, macOS, дистрибутивы на ядре Linux и т. д.

Показать

Ещё в раннюю эпоху развития операционных систем создатели и пользователи столкнулись с необходимостью контроля за процессом установки, удаления, настройки и обновления различных компонентов системного и пользовательского ПО. Изящным решением стали системы управления пакетами. Но, к сожалению, в связи с зоопарком эволюцией операционных систем их стало так много, что не все пользователи разбираются, в каких ОС какой пакетный менеджер используется. Решил их здесь перечислить и немного упорядочить свои знания о них.

DEB
dpkg — базовая система пакетного менеджмента в  Debian GNU/Linux и его производных
dselect — фронтенд к dpkg, развивался парраллельно с dpkg
apt — более продвинутая система, позволяет ставить пакеты и из исходных кодов
aptitude — оболочка для apt, имеет псевдографический интерфейс
Synaptic —  графический интерфейс для apt (и apt-rpm)

IPK
apkg — Atlas Package Manager для встраиваемых систем, например  AI\OS Linux
ipkg — облегчённый ПМ для встраиваемых систем, постепенно заменяется opkg
opkg — основан на ipkg, применяется в основном в  *WRT/ LEDE-встраиваемых системах

DEB/RPM
apt-rpm — версия apt, работающая с RPM-пакетами ( ALT Linux,  PCLinuxOS,  Vine Linux)
apt4rpm —  создает APT-репозиторий из RPM-репозитория
smart —  интеллектуальный ПМ, работает с DEB-, RPM- и TXZ-пакетами
PackageKit —  графический пакет с интерфейсом к различным ПМ
KPackage —  пакетный менеджер из состава KDE, работает с DEB-, RPM-, tgz/tar.gz-пакетами

RPM
urpmi — пакетный менеджер для  Mandriva Linux,  OpenMandriva (до версии 3.x),  Mageia и  Rosa Linux
rpmdrake — графический интерфейс для urpmi
dnf — ПМ в  Fedora с версии 22,  OpenMandriva (с версии 4.0)
yum — ПМ в  Fedora до версии 22,  RHEL,  CentOS
Yum Extender — графический интерфейс для yum в  Fedora,  RHEL,  CentOS
YaST — графическая утилита конфигурации  SuSE и установки/обновления пакетов с ПО
ZYpp — консольный менеджер пакетов для  SuSE
pkcon — CLI-версия PackageKit, используется в  Sailfish OS
pkgcon — утилита управления пакетами в  Fedora,  Ubuntu,  OpenSUSE,  Mandriva Linux
Portage — система управления пакетами в  Gentoo Linux
Kuroo — графический интерфейс (QT) к Portage в  Gentoo Linux
PortHole — графический интерфейс (GTK+) к Portage в  Gentoo Linux
Himerge — графический интерфейс на Haskell для Portage в  Gentoo Linux
Pacman — менеджер пакетов для  Arch Linux и его производных (ArchBang, Chakra Linux, ConnochaetOS, DeLi Linux, Frugalware, Manjaro Linux, Parabola, MSYS2, Antergos)
yaourt — обертка для pacman, добавляет работу с AUR в  Arch Linux
pacaur — добавление к pacman, позволяет работать с AUR в  Arch Linux
Entropy — пакет, состоящий из клиентов Equo (текстовый), Sulfur и Rigo (графические), а также серверы Reagent и Activator в  Sabayon Linux

XZM | LZM
Unified Slackware Package Manager — графический пакетный менеджер USM для  Slackware. Модули *.xzm и *.lzm — это LZMA2-архивы SquashFS-образов ФС с нужными файлами.

SNAP
snappy — новая система установки и управления ПО, поддерживается дистрибутивами  Arch Linux,  Fedora,  OpenEmbedded/ Yocto,  Debian GNU/Linux,  Gentoo Linux,  Linux Mint,  Manjaro,  OpenSUSE,  OpenWRT,  Solus OS,  Ubuntu

TAR
pkgsrc — менеджер пакетов для  NetBSD,  DragonFly BSD (в настоящее время использует dports),  BSD/OS,  MirBSD,  FreeBSD (с версии 10.0 pkg),  OpenBSD,  Solaris,  Linux,  Darwin (Mac OS X),  IRIX,  AIX,  Tru64 UNIX ( Digital UNIX,  OSF/1),  HP-UX,  Minix,  UnixWare 7 (в очень ранней стадии),  Haiku (hpkgsrc),  QNX 6 (в ранней стадии)
pkgin — пакетный менеджер, надстройка над pkgsrc, используется в  NetBSD,  DragonFly BSD,  Solaris 10/SunOS,  Opensolaris/SunOS,  Debian GNU/Linux,  Darwin (Mac OS X),  Minix,  SmartOS
pkgtools — система управления пакетами в tar-файлах дистрибутива  Slackware
slackpkg — утилита для управления и установки пакетов из сети в  Slackware
slapt-get — максимально приближенная к apt программа для управления пакетами в дистрибутивах  Slackware и ему подобных, например  Vector
netpkg — менеджер пакетов дистрибутива  Zenwalk Linux

XML
PiSi — пакетный менеджер для дистрибутива  Pardus
eopkg — ПМ (форк PiSi) в дистрибутиве  Solus OS

Исходный код
Paludis — ПМ для сборки пакетов из исходных кодов в  Gentoo Linux
lunar — «волшебный» ПМ для «лунного»  Lunar Linux
sorcery — «колдунский» ПМ для «магического»  Source Mage GNU/Linux
conary — менеджер пакетов для дистрибутивов  rPath Linux и  Foresight Linux
apk-tools — система управления пакетами для дистрибутивов  Alpine Linux и  Adélie Linux
nix — пакетный менеджер для дистрибутива  NixOS, использующий собственный язык nix
xbps —  Void Linux

Источники:
Википедия
Статья Linux Package Management
Сегодняшняя статья на Хабре
BSD’ишный FAQ

2017   интересное   ОС   софт

Регулярка для проверки IPv4

Проверить на корректность IP четвёртой версии можно таким регулярным выражением

/ ((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?) /g

Проверить работоспособность можно здесь.

Количество Linux и Windows систем в локальной сети

Количество Linux- и Windows-хостов в сети можно с помощью следующих команд:

$ sudo nmap -F -O 192.168.1.1-255 | grep "Running: " > /tmp/os; \
echo "$(cat /tmp/os | grep Linux | wc -l) Linux device(s)"; \
echo "$(cat /tmp/os | grep Windows | wc -l) Window(s) devices"

Вместо 192.168.1.1-255 нужно подставить параметры своей сети. Для выполнения требуется установленный в системе пакет nmap и пользователь должен иметь возможность получать привилегии рута.

P. S. В источнике приведён однострочник, но я разбил строку на три для удобства и читаемости.

Моды для KSP 1.3.1

Являясь ярым поклонником игры Kerbal Space Program, оставлю для истории список модификаций, которые использую в версии 1.3.1. Перечислил множество модов, некоторые несовместимы между собой, если описание мода выделено красным — для меня мастхэв.
Последнее обновление: 24.06.2018

Показать

Название мода и ссылка Функционал
CKAN Менеджер модов
Module Manager Требуется для работоспособности других модов
Манёвры и управление
MechJeb 2 Система автоматического пилотирования
MechJeb and Engineer for all! Автопилот, интегрированный во все командные модули
Precise Node Точный планировщик орбит
kRPC Управление игрой из внешних скриптов на различных языках программирования
kOS: Kerbal Operating System Скриптовый автопилот
kOS for All Добавление встроенного kOS во все командные модули
Astrogator Помощник по навигации
Trajectories Предсказание траектории спуска в атмосфере
Внутренний вид кабины
RasterPropMonitor Многофункциональные дисплеи в кабине в режиме IVA
VesselView Добавляет экран, отображающий текущий внешний вид аппарата
kOSPropMonitor Работа с kOS из IVA-вида (в треде есть ссылка для 1.3.1)
Картографирование, Спутники, Связь
Remote Tech Система спутниковой связи и управления (не работает с ScienceRelay)
SCANsat Картографирование небесных тел — биомы, аномалии, карта высот, полезные ископаемые
Сбор науки
ForScience! Автоматический сбор научных данных
[x] Science! Помошник по сбору научных данных
DMagic Orbital Science Проведение научных экспериментов беспилотными спутниками и роверами
Science Relay Передача научных данных между аппаратами (не совместим с Remote Tech)
ScienceAlert Предупреждение о возможности сбора научных данных
Внешний вид и управление игры
Toolbar Набор настраиваемых кнопок быстрого доступа
Docking Port Alignment Indicator Вспомогательная индикация по выравниванию/направлению в процессе стыковки
Kerbal Engineer Redux Выводит важные данные о корабле в полете и во время постройки
Alternate Resource Panel Альтернативная панель показа ресурсов
Kerbal Alarm Clock Напоминания о запланированных событиях
Crowd Sourced Flags Набор прикольных флагов, созданных сообществом
Fusebox Continued Отображение уровней потребления и генерации электроэнергии
RCS Build Aid Помощник по балансировке аппарата при проектировании
KerbalStats Вывод дополнительной информации о кербонавтах в игре
Portrait Stats Отображение типа и уровня членов экипажа во время полета
Real Time Clock 2 Вывод внеигрового времени
TextureReplacerReplaced Персонализация и улучшение вида кербонавтов
Probe Control Room Центр управления непилотируемых аппаратов
NavUtilities Посадочная навигационная информация
Navball docking alignment indicator Навбол как указатель правильного направления на стыковочный агрегат
Better Burn Time Отображение точного времени выполнения манёвра
Kronal Vessel Viewer Создание чертежей и схем аппаратов
Who Am I? Отображение имени текущего кербонавта в режиме IVA
DockSafe Блокировка включения двигателей при стыковке
CommunityTraitIcons Значки для отображения типа членов экипажа
Critical Temperature Gauge Отображение имени и температуры самой нагретой детали
Landing Height Показывает расстояние от нижнего края аппарата до поверхности земли
Docking camera (KURS) Стыковочная камера, интегрируемая во все детали
Telemachus Отображение данных телеметрии в браузере
Изменение игровой механики
Sensible Pumps Выключение тяги движков при их отделении
Oh Scrap! Отказы, ремонт и проверки надёжности агрегатов и узлов
Kerbal Launch Failure Revived Случайные аварии и нештатные ситуации во время старта
BARIS Реалистичная система наработки надёжности деталей (вместо TestFlight и DangIt!)
HyperEdit Плагин для перемещения любого объекта в любое место
Kerbal Krash System Реалистичные нештатные ситуации, поломки частей при столкновениях
Kerbal Joint Reinforcement Правдоподобная жёсткость соединения деталей и конструкций
Connected Living Space Реалистичная механика перехода кербонавтов из отсека в отсек
USI Life Support Система жизнеобеспечения для кербонавтов (совместим с EPL и MKS)
Kerbal Construction Time Постройка аппаратов в течение некоторого времени
Kerbal R&D Улучшение функционала узлов и агрегатов за очки науки
Deadly Reentry Реалистичный нагрев в плотных слоях атмосферы при сверхзвуковых скоростях
Ferram Aerospace Research Правдоподобная аэродинамика
KRASH Симуляция полёта с восстановлением предыдущего состояния
Crew R&R Реалистичный набор членов экипажа
Dang It! Continued Случайные аварии и нештатные ситуации (заменяется BARIS)
TestFlight Увеличение надёжности деталей посредством лётных испытаний (заменяется BARIS)
EvaFuel Continued Реалистичная трата монотоплива при ВКД
Улучшение звукового сопровождения
Docking Port Sound FX Добавляет реалистичные звуки стыковки и расстыковки
Water Sounds Добавляет звук воды и подводные звуковые эффекты
Music Mute Continued Отключение и включение фоновой музыки горячей клавишей
Chatterer Добавляет звуки радиопереговоров в процесс игры
RCS Sound Effects Звуки работы маневровых двигателей
Реалистичная визуализация
Stock Visual Enhancements Реалистичные облака и атмосферы планет
Reentry Particle Effect Отображение плазмы и искр при торможении в атмосфере
Distant Object Удалённые объекты реалистично выглядят на больших расстояниях
Collision FX Добавляет искры, свето-звуковые эффекты при столкновениях
Through the Eyes Вид от первого лица во время ВКД
Real Plume Добавляет реалистичный выхлоп двигателей
Engine Lighting Добавляет реалистичные отблески выхлопа двигателя




Рекомендованные моды
Дополнительные детали и наборы
ALCOR Усовершенствованная капсула ALCOR
Kerbal Attachment System Прикрепляемые детали, стойки, трубы и лебедки
Kerbal Inventory System Реалистичная система хранения деталей
Ground Construction Постройка аппаратов в любом месте, где есть ресурсы и условия
Extraplanetary Launchpads Возможность создания аппаратов в полёте
Modular Kolonization System Набор модулей для создания длительных самодостаточных колоний
SnapDock Установка стыковочных агрегатов под углом
OLDD (8К82К) РН «Протон-К»
Smart Parts Сontinued Набор интеллектуальных деталей и контроллеров с настраиваемыми функциями
Pathfinder Оборудование для организации лагерей и поселений (включает Buffalo)
Buffalo Модульные транспортные средства для поселений
Изменение игровой механики
Kerbal Star Systems Другие звёздные системы вблизи Кербола
Real Solar System Преобразование системы Кербола в Солнечную систему
Realism Overhaul Приближение игры к реальности
Real Fuels Реальные типы топлива, ограниченное количество зажиганий двигателей
SETI-Unmanned before Manned Улучшенный игровой баланс деталей, технологий, контрактов
Kerbalism Продвинутая система жизнеобеспечения
TAC Life Support Система жизнеобеспечения для кербонавтов (несовместим с EPL и MKS)
WarpEverywhere Улучшенный варп
Editor Extensions Redux Новые уровни симметрии, режимы привязки, горячие клавиши
TAC Fuel Balancer Удобный перелив топлива, обмен ресурсов между деталями
WorldStabilizer Предотвращает подпрыгивание крафтов в момент прогрузки
Реалистичная визуализация
Environmental Visual Enhancements Реалистичные облака и огни городов
Scatterer Зффект рассеяния в атмосфере
Stock Part Revamp Более правдоподобные текстуры деталей
Antenna Helper Отображение возможностей связи антенн крафта
Всякий хлам
Community Resource Pack
Orbital Colony
Contract Configurator

2017   KSP   досуг   игры   интересное   космос   софт
Ранее Ctrl + ↓
Наверх