gladilov.org.ru 

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

ОС

Позднее Ctrl + ↑

Монтирование директории с удалённого хоста по SSH*

(* точнее — по SFTP, надстройкой над протоколом SSH)

Требуется установленный пакет sshfs. В общем виде команда выглядит так:

sshfs user@remotehost:/path/to/directory /local/path -p port

Показать

Реализация:

sudo modprobe fuse
mkdir ~/music
sshfs insect@192.168.1.234:/home/insect/music ~/music

Размонтировать так:

sudo umount ~/music

или (для ранних версий) так:

sudo fusermount -u ~/music

Автоматический запуск 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   ОС   роутер   софт

Простейший 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   интересное   ОС   софт

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

26 лет ядру Linux

25 августа в 1991 году 21-летний студент Линус Торвальдс объявил в телеконференции comp.os.minix о создании после пяти месяцев разработки рабочего прототипа новой операционной системы, для которой было отмечено завершение портировния bash 1.08 и gcc 1.40. Первый публичный выпуск был представлен 17 сентября. Ядро 0.0.1 имело размер 62 Кб в сжатом виде и содержало около 10 тысяч строк исходного кода (современное ядро насчитывает более 24 млн строк кода)

Показать

Ядро создавалось под впечатлением от операционной системы MINIX, не устраивающей Линуса своей ограниченной лицензией. Впоследствии, когда Linux стал известным проектом, недоброжелатели пытались обвинить Линуса в прямом копировании кода некоторых подсистем MINIX. Нападение отразил Эндрю Таненбаум, автор MINIX, который поручил одному из студентов провести детальное сравнение кода Minix и первых публичных версий Linux. Результаты исследования показали наличие только четырёх несущественных совпадений блоков кода, обусловленных требованиями POSIX и ANSI C.

Первоначально Линус решил назвать ядро Freax, от слов «free», «freak» и X (Unix). Но имя «Linux» ядро получило с лёгкой руки Ари Лемке (Ari Lemmke), который по просьбе Линуса разместил ядро на FTP-сервере университета, назвав директорию с архивом не «freax», как просил Торвальдс, а «linux». Примечательно, что некий предприимчивый делец Вильям Делло Крок (William Della Croce) сумел зарегистрировать торговую марку Linux и хотел со временем собирать отчисления, но позднее передумал и передал все права на торговую марку Линусу. Официальный талисман Linux-ядра, пингвин Tux, был выбран в результате соревнования, состоявшегося в 1996 году. Имя Tux расшифровывается как Torvalds UniX.

P. S. — сегодня ещё и день рождения царя Ивана Васильевича IV Грозного.

Проекту Debian исполнилось 24 года

Проект Debian празднует своё двадцатичетырёхлетие. Дистрибутив был впервые анонсирован студентом Университета Пердью Яном Мёрдоком (Ian Murdock) 16 августа 1993 года в списке рассылки comp.os.linux.development. Этот день и считается днем рождения операционной системы Debian.

Показать

Первичной задачей проекта была разработка дистрибутива, развиваемого в соответствии с духом полной открытости, свойственной Linux и GNU, а также стремление к техническому совершенству и надёжности.

За время существования Debian было выпущено 14 релизов, обеспечена официальная поддержка 30 аппаратных архитектур, сформирован репозиторий из более чем 50 тысяч пакетов. В проект вовлечено более 1000 разработчиков, в сервисе alioth.debian.org зарегистрировано около 30 тысяч аккаунтов. На технологиях Debian построено более 300 производных дистрибутивов, из которых около 120 активно развиваются.

С днём рождения, лучший и надёжнейший дистрибутив! Дистрибутивище!!!

P.S. Дебиан уже 24 года торт!

P.P.S. Жизненный путь дебиана и его семья:
https://upload.wikimedia.org/wikipedia/commons/6/69/DebianFamilyTree1210.svg?uselang=ru

Ранее Ctrl + ↓
Наверх