Список из самых больших открытых файлов
Список из самых больших файлов (включая размер), открытых в данный момент
lsof -X | sort -k7 -n | awk '{print $9}' | uniq | tail | xargs -n1 ls -lh | grep -v "^d"
Список из самых больших файлов (включая размер), открытых в данный момент
lsof -X | sort -k7 -n | awk '{print $9}' | uniq | tail | xargs -n1 ls -lh | grep -v "^d"
Стандартные консольные утилиты Linux не показывают количество памяти процесса, выгруженной в файл подкачки (swapped out).
Но есть достаточно простой способ узнать это. Всё, что для этого нужно — взять идентификатор процесса (PID) и просмотреть файл smaps, относящийся к этому процессу:
sudo cat /proc/<pid процесса>/smaps | grep Swap
Эта команда выдаст кучу строк, относящихся к разным сегментам памяти. Чтобы просуммировать всё, можно воспользоваться командой awk:
sudo cat /proc/<pid процесса>/smaps | grep Swap | awk '{ SUM += $2 } END { print SUM }'
Выведенное число — размер использованного свопа в килобайтах.
du -sk ./* | sort -nr | awk 'BEGIN{ pref[1]="K"; pref[2]="M"; pref[3]="G";} { total = total + $1; x = $1; y = 1; while( x > 1024 ) { x = (x + 1023)/1024; y++; } printf("%g%s\t%s\n",int(x*10)/10,pref[y],$2); } END { y = 1; while( total > 1024 ) { total = (total + 1023)/1024; y++; } printf("Total: %g%s\n",int(total*10)/10,pref[y]); }'
Меряет только реальные файлы и директории, симлинки будут нулевого размера.
Так же могут быть полезны пакеты типа ncdu или pydf...
(* точнее — по 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
dd if=/dev/zero of=./big_file bs=1024k seek=400000 count=0
Данная команда создаёт файл размером 40 гигабайт.
Для работы скрипта требуются установленные в системе пакеты 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
На всякий случай сделаю в блоге копию руководства со страницы
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
mkdir -p /mnt/debwrt mount /dev/sdb1 /mnt/debwrt cd /mnt/debwrt
tar xjvf ~/debwrt-rootfs-mipsel-2.0-1.tar.bz2
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
После перепрошивки действуют следующие установки по умолчанию:
При первой загрузке (в случае самостоятельной сборки образа) выполняются сервисы SSHD и telnetd
При обычной загрузке
Необходимо:
nvram set et0macaddr=1c:af:f7:96:3b:0e nvram set il0macaddr=1c:af:f7:96:3b:10 nvram commit reboot
Для запуска сервиса robocfg установите ENABLED=1 в файле /etc/default/robocfg, добавьте символическую ссылку от файла /etc/init.d/robocfg в /etc/rcS.d (сервис должен стартовать до службы «networking»), удалите файл /etc/network/interfaces (если это символическая ссылка) и создайте его заново.
Перейти к оглавлению
nc -l -p 6666 -u
Простейший 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 [адрес]
В связи с использованием корпорацией Интел в чипе 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