Дромомания

Дромома́ния (греч. δρόμος «бег», греч. μανία «бешенство, помешательство»), пориома́ния (греч. πόρος «путь»), вагабонда́ж (фр. vagabondage «бродяжничество») — импульсивное влечение к перемене мест. Под дромоманией принято понимать влечение к побегам из дома, скитанию и перемене мест, наблюдается при различных психических заболеваниях.

Таким образом, Колобок - яркий представитель дромоманов.

 

Debian. Systemd. Подвисает терминал при перезагрузке удаленной машины по SSH

Ситуация: вы, подключившись по SSH к удаленному серверу, производите его перезагрузку. Вас не выбрасывает из подключения, а лишь выбрасывает по tcp таймауту. Очень не приятно ждать столько времени, и даже ctrl+c не работает. Лечится очень просто, используем Systemd-logind  :

apt-get install libpam-systemd dbus

Systemd-logind отслеживает активные пользовательские сессии и назначает все процессы, порожденные в них, так называемым «слайсам». Таким образом, когда система выключается, systemd может просто выполнить SIGTERM внутри пользовательских "слайсов" (включая разветвленный SSH-процесс, который передает определенный сеанс), а затем продолжать закрывать службы и сеть.

D-Bus: 

Система межпроцессного взаимодействия, которая позволяет приложениям в операционной системе сообщаться друг с другом.

О systemd-logind:

systemd-logind is a system service that manages user logins. It is responsible for:

  • Keeping track of users and sessions, their processes and their idle state. This is implemented by allocating a systemd slice unit for each user below user.slice, and a scope unit below it for each concurrent session of a user. Also, a per-user service manager is started as system service instance of user@.service for each user logged in.
  • Generating and managing session IDs. If auditing is available and an audit session ID is set for a session already, the session ID is initialized from it. Otherwise, an independent session counter is used.
  • Providing PolicyKit-based access for users to operations such as system shutdown or sleep
  • Implementing a shutdown/sleep inhibition logic for applications
  • Handling of power/sleep hardware keys
  • Multi-seat management
  • Session switch management
  • Device access management for users
  • Automatic spawning of text logins (gettys) on virtual console activation and user runtime directory management

User sessions are registered with logind via the pam_systemd(8) PAM module.

 

Оригинальный текст:

When you shutdown or reboot your system, systemd tries to stop all services as fast as it can. That involves bringing down the network and terminating all processes that are still alive -- usually in that order. So when systemd kills the forked SSH processes that are handling your SSH sessions, the network connection is already disabled and they have no way of closing the client connection gracefully.

Your first thought might be to just kill all SSH processes as the first step during shutdown, and there are quite a few systemd service files out there that do just that.

But there is of course a neater solution (how it's "supposed" to be done): systemd-logind.
systemd-logind keeps track of active user sessions (local and SSH ones) and assigns all processes spawned within them to so-called "slices". That way, when the system is shut down, systemd can just SIGTERM everything inside the user slices (which includes the forked SSH process that's handing a particular session) and then continue shutting down services and the network.

systemd-logind requires a PAM module to get notified of new user sessions and you'll need dbus to use loginctl to check its status, so install both of those:

apt-get install libpam-systemd dbus

https://serverfault.com/questions/706475/ssh-sessions-hang-on-shutdown-reboot

Точки Лагранжа

Точки Лагра́нжа, точки либра́ции (лат. librātiō — раскачивание) или L-точки — точки в системе из двух массивных тел, в которых третье тело с пренебрежимо малой массой, не испытывающее воздействие никаких других сил, кроме гравитационных, со стороны двух первых тел, может оставаться неподвижным относительно этих тел.

Более точно точки Лагранжа представляют собой частный случай при решении так называемой ограниченной задачи трёх тел — когда орбиты всех тел являются круговыми и масса одного из них намного меньше массы любого из двух других. В этом случае можно считать, что два массивных тела обращаются вокруг их общего центра масс с постоянной угловой скоростью. В пространстве вокруг них существуют пять точек, в которых третье тело с пренебрежимо малой массой может оставаться неподвижным во вращающейся системе отсчёта, связанной с массивными телами. В этих точках гравитационные силы, действующие на малое тело, уравновешиваются центробежной силой.

Точки Лагранжа получили своё название в честь математика Жозефа Луи Лагранжа, который первым в 1772 году привёл решение математической задачи, из которого следовало существование этих особых точек.

Состояние гонки

Состояние гонки (англ. race condition) — ошибка проектирования многопоточной системы или приложения, при которой работа системы или приложения зависит от того, в каком порядке выполняются части кода. Своё название ошибка получила от похожей ошибки проектирования электронных схем (см. Гонки сигналов).

Состояние гонки — «плавающая» ошибка (гейзенбаг), проявляющаяся в случайные моменты времени и «пропадающая» при попытке её локализовать.

 

 

Гейзенбаг

Гейзенбаг (англ. heisenbug) — термин, используемый в программировании для описания программной ошибки, которая исчезает или меняет свои свойства при попытке её обнаружения. Это слово, в отличие от слова «баг» (англ. bug), в русском языке слишком редко используется. Не полностью идентичный, но достаточно близкий по значению русскоязычный термин — «плавающая ошибка».

Примером могут являться ошибки, которые проявляются в окончательном варианте программы (релизе (англ. release)), однако не видны в режиме отладки (англ. debug), или ошибки синхронизации в многопоточном приложении.

Сообщество Fedora выбрало «heisenbug» кодовым именем 20 версии дистрибутива.

Продолжить чтение »

Fortigate SSL VPN using web and tunnel mode. Пропала кнопка connect.

Вы пользовались FortiClient SSL VPN заходя в браузер и нажимали Connect

А теперь кнопка пропала, и браузер все время просит установить SSL-VPN client plugin.
После перезагрузки браузера это повторяется.

Вот что пишет FortiNet на своем сайте:

Significant SSL VPN web portal improvements (287328, 292726, 299319)

Significant updates and improvements have been made to the SSL VPN web portal in preparation for future browser updates, and in order to support all browsers:

  • SSL VPN web portal redesigned.
  • SSL VPN tunnel mode widget no longer works in the web portal. The tunnel mode widget used a deprecated NPAPI plugin mechanism to send the tunnel client to the browser for local system execution—this is a popular exploitation vector. FortiClient is now required for tunnel mode SSL VPN.
  • SSL VPN Web mode RDP Native java applet removed.
  • Removed unnecessary options from RDP bookmark and changed to HTML5 RDP.
  • Cache cleaning function has been removed.
  • If updating to 5.4.1, see above (258700).

Из-за проблем в безопасности почти все браузеры в новых версиях отказались от использования NPAPI, который был необходим для запуска VPN-подключения из браузера.
Вот пара решений:

  • использовать полноценный FortiClient
  • запускать FortiSSLVPNclient.exe вручную, указав там параметры подключения. Если в какой-то момент клиент перестанет подключаться - попробуйте залогиниться в браузере под своим пользователем и выйти. Наиболее простой вариант.
  • подобрать себе второй браузер, старой версии, где еще осталась поддержка NPAPI, например FireFox ESR 45.9.0, или Internet Explorer 11
    (он до сих пор есть в Windows 10 вместе с EDGE).
    Если не заработало проверьте, разрешен ли NPAPI в браузере, а так же когда появится уведомление - разрешите браузеру выполнить апплет forti.
    Ссылка на Firefox: (https://www.mozilla.org/en-US/firefox/45.9.0/releasenotes/).
    Работает эта штука только в 32-битных браузерах.

Глюк SAMBA, загадочное число 4294967295

Вы не можете выполнить chown username *, просто ничего не происходит, а при выполнении:

wbinfo -i username

возвращает:

username:*:4294967295:4294967295:/home/DOMAIN/username:/bin/false

 - подозрительно большой ID 4294967295.

Это глюк SAMBA, у меня случился на 4.2.14 после обновления с предыдущей версии.

Вылечилось строчкой в /etc/samba/smbd.conf:

idmap config * : range = 1000-1999999

И выполним рестарт сервисов:

/etc/init.d/winbind restart

service smbd restart

А число 4294967295 это - FFFFFFFF, или 11111111111111111111111111111111, если понимаете к чему я )

Debian, установка и настройка LVM в OS Linux

Менеджер логических томов (англ. Logical Volume Manager) — менеджер логических томов операционных систем Linux и OS/2. LVM — это метод распределения пространства жёсткого диска по логическим томам, размер которых можно легко менять, в отличие от разделов.

Для работы lvm нужен пакет lvm2

Просмотр наличия пакета

Подготавливает физический том (тома) к использованию в LVM

Создаем группу томов.

Чтобы включить в группу томов другие диски, то пишем

Создаем логические тома part1 и part2 размером по 20G

Проверяем

Форматируем разделы

Монтируем

Увеличиваем том до 40G

Теперь необходимо увеличить размер файловой системы.

Уменьшение логического тома (есть вероятность потерять данные)

Команды:

dumpconfig Сбрасывает дамп активной конфигурации
formats Показывает список доступных форматов метаданных
help Выводит справочную информацию о командах
lvchange Изменяет атрибуты логического тома (томов)
lvcreate Создаёт логический том
lvdisplay Выводит информацию о логическом томе
lvextend Добавляет пространство в логический том
lvmchange По причине использования сопоставителя устройств, эта команда является устаревшей
lvmdiskscan Выводит список устройств, которые можно использовать как логические тома
lvmsadc Собирает данные об активности
lvmsar Создаёт отчёт об активности
lvreduce Уменьшает размер логического тома
lvremove Удаляет логический том(а) из системы
lvrename Переименовывает логический том
lvresize Изменяет размер логического тома
lvs Выводит информацию о логических томах
lvscan Выводит список всех логических томов во всех группах томов
pvchange Изменяет атрибуты физического тома (томов)
pvcreate Подготавливает физический том (тома) к использованию в LVM
pvdata Выводите записанные на диск метаданные о физических томах (томе)
pvdisplay Выводит различные атрибуты физического тома (томов)
pvmove Перемещает блоки с одного физического тома на другой
pvremove Удаляет LVM-метку (метки) с физического тома (томов)
pvresize Изменяет размер физического тома, используемого группой томов
pvs Выводит информацию о физических томах
pvscan Выводит список всех физических томов
segtypes Выводит список доступных типов сегментов
vgcfgbackup Делает резервную копию конфигурации группы томов
vgcfgrestore Восстанавливает резервную копию конфигурации группы томов
vgchange Изменяет атрибуты группы томов
vgck Проверяет целостность группы томов
vgconvert Преобразует формат метаданных группы томов
vgcreate Создаёт группу томов
vgdisplay Выводит информацию о группе томов
vgexport Удаляет регистрацию группы томов из системы
vgextend Добавляет физические тома в группу томов
vgimport Регистрирует экспортированную группу томов в системе
vgmerge Объединяет группы томов
vgmknodes Создаёт специальные файлы для устройств групп томов в /dev/
vgreduce Удаляет физический том из группы томов
vgremove Удаляет группу томов
vgrename Переименовывает группу томов
vgs Выводит информацию о группах томов
vgscan Ищет все группы томов
vgsplit Перемещает физические тома в новую группу томов
version Выводит информацию о версии программы и драйвера

Linux, спискок установленных пакетов

Просмотр списка установленных пакетов

Red Hat/Fedora Core/CentOS Linux

В Red Hat/Fedora Core/CentOS Linux и т.п.

Debian Linux

Ubuntu Linux

FreeBSD

Используйте команду pkg_version чтобы показать общий список версий всех установленных пакетов в FreeBSD:

OpenBSD

В OpenBSD команда use pkg_info так же ведет себя как и в FreeBSD и покажет список установленных пакетов:

Поросенок

Вторые сутки жил поросёнок на новом месте. Всё это время он ничего не ел, неподвижно лежал среди закута и с тоской глядел перед собой в пол.
Тяжко было поросёнку выдержать свалившиеся на него в последние дни испытания. Сначала его вместе с братьями и сестричками забрали от мамы и посадили в тесный деревянный ящик. Долго их везли в телеге по неровной дороге. Оказались они на рынке. Здесь всякие руки то и дело просовывались сверху в ящик и ощупывали их. Дальше поросёнка схватили за уши, вытянули из ящика и затолкали в душный мешок. Снова его долго везли, пока не оказался он в этом закуте. После компанейской, весёлой, вольной жизни попасть одному сюда, к этим незнакомым нудным тёткам,- легко ли это?..
Тётки, обе упитанные, только одна чёрная, а другая рябая, день и ночь храпели и поднимались единственно для того, чтобы похлебать из корыта пойла. Затем возвращались в угол, валились на солому и снова начинали храпеть.

Продолжить чтение »

Крысы на тонущем корабле. Отрывок из книги Сергея Тармашеа.

Отрывок из книги Сергея Тармашева "Древний". Книга 5.

— Предположим, вы вышли в далекое плавание на огромном корабле древности, — начал старик, и один из экранов изобразил схематичный рисунок старинного парусника. — У вас на борту сто человек команды и — куда же без них! — тысяча крыс, ибо история развития нашей расы бескомпромиссно показывает, что крыс всегда больше. В трюмах достаточно еды, плюс вы имеете на борту, допустим, оранжерею и некую животноводческую палубу, где команда производит пишу. Итак, плавание проходит превосходно, нет ни штормов, ни цунами, ни даже слишком сильных ветров. Единственный недостаток — плыть вам предстоит очень долго. Предположим, веков, эдак, двенадцать. В вашей команде приблизительно равное количество мужчин и женщин, они имеют возможность образовывать семьи и обзаводиться потомством, что они и делают. Для того чтобы ваша команда как биологическая популяция могла со временем расти, а не уменьшаться, каждая семья должна произвести на свет, возьмем по усредненному минимуму, троих детей. Грубое приближение, разумеется, но у нас ведь чисто символические расчеты! Итак, три ребенка на каждые пятьдесят человек, итого сто пятьдесят новых человек экипажа к моменту взросления первого поколения! Пускай под временным интервалом «поколение» мы будем подразумевать, к примеру, двадцать пять лет.

Продолжить чтение »