Category Archives: UNIX/Linux

Вопросы, касающиеся работы операционных систем GNU/Linux

Linux: ncdu и pydf – отображение информации о занятом/свободном месте на дисках

16 January 2019
 

 NCDU NCDU – утилита для отображения занятого и свободного места на дисках, аналог du и df. Аббревиатура NCDU расшифровывается как NCurse Disk Usage, и, очевидно, использует библиотеку ncurses для отображения данных. Установка на Arch – с помощью pacman: Debian/Ubuntu: Запускаем: После проверки данных – ncdu выведет окно с данными по дискам и каталогам: По каталогам можно… Read More »

Jenkins: Remote call on JNLP4-connect connection failed

15 January 2019
 

 Имеется Jenkins, для которого подключили новый слейв. Слейв запущен на Mac Mini, и используется для iOS билдов. Но во время запуска – возникает ошибка: [EnvInject] – Injecting environment variables from a build step. [EnvInject] – Injecting as environment variables the properties file path ‘propsfile’ [EnvInject] – Variables injected successfully. FATAL: Remote call on JNLP4-connect connection… Read More »

Linux: проверка диска на bad blocks

14 January 2019
 

 Имеется у нас билд-агент для Jenkins, запущен на Ubuntu 16. Периодически при загрузке машина подвисает сразу после запуска GRUB. Один из вариантов поиска проблемы – проверить диск на предмет наличия битых секторов. Для этого можно использовать утилиты badblocks из набора e2fsprogs, и smartctl из набора smartmontools. badblocks Проверяем диски на этой машине: /dev/sda2 – /boot-раздел,… Read More »

Linux: сделать скриншот на удалённой машине по SSH

9 January 2019
 

 Есть Jenkins билд-агент на Ubuntu, запущенный на машинке, которая стоит в офисе, мониторы от неё висят на стенке и отображают результаты билдов (см. Build Monitor Plugin). Задача – сделать скриншот экрана, не бегая в другой конец комнаты к клавиатуре. Устанавливаем imagemagick: Создаём скриншот, используя import: Копируем файлик на свою машинку: Проверяем: Готово.

Linux: добавить swap-file

25 December 2018
 

 На AWS EC2 AMI-образ Debian 9 идёт без активного swap. При желании и необходимости – его можно легко добавить самому. Создаём файл: Задаём права доступа: Выполняем mkswap: Включаем swap: Проверяем его: Что бы увеличить размер файла подскачки – достаточно его отключить, и увеличить размер самого файла, например с помощью dd. Отключаем swap: Добавляем 1 гигабайт… Read More »

Arch Linux: File /usr/lib/libQt5Positioning.so.5.12.0 is empty, not checked

14 December 2018
 

 Уже не первый раз ноут вырубается от перегрева (см. Linux: /lib/modules/4.16.13-1-ARCH/modules.devname not found и error: file ‘/grub/i386-pc/normal.mod’ not found и Linux: /usr/bin/ps: empty и ldconfig: File /usr/lib/libprocps.so.7 is empty, not checked.), теперь вылезла аналогичная проблема, но с библиотеками Qt. В /var/log/pacman.log куча ошибок типа: [2018-12-13 21:55] [ALPM-SCRIPTLET] ldconfig: File /usr/lib/libQt5Positioning.so.5.12.0 is empty, not checked. [2018-12-13 21:55] [ALPM-SCRIPTLET] ldconfig:… Read More »

DNS: dnsmasq и порядок разрешения домён из resolv.conf

11 December 2018
 

 Имеется AWS EC2 инстанс, на котором запущен dnsmasq. Имеется AWS RDS-инстанс, для которого разрешён публичный доступ, и у домена которого, соответственно, есть два IP – публичный, если запрашивать публичные DNS, и приватный, который отдаётся DNS самого Amazon, с DNS VPC, в котором запущены инстансы. См начало поста AWS: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution… Read More »

Linux: “unprivileged users with UID > INT_MAX can successfully execute any systemctl command”

6 December 2018
 

 Интересная бага сегодня была опубликована в Twitter и Github. Кратко – если у пользователя UID больше, чем INT_MAX в системе – он может выполнять любые операции systemctl. Справдливости ради – это бага не у systemd, а у polkit. Проверям значение INT_MAX: Добавлям пользователя с +1 к 2147483647: Проверяем: Находим что-нибудь для ребута: Пробуем под нормальным пользователем:… Read More »

Appium: Android Virtual Device, Original error: Condition unmet after 60159 ms и костыль

6 December 2018
 

 Проблема: UI-тесты, запускаемые с помощью Appium, падают. Задача: найти причину, и пофиксить. Что бы воспроизвести проблему –  установили Android Studio на рабочую машинку и создали устройство. Теперь – можно настроить “тестовый тест”, а потом попробовать запустить наши реальные тесты. Забегая наперёд – проблема была найдена, но решения не нашёл, потому пришлось костылить в Jenkins-джобе. Сама проблема на… Read More »

Vim: плагины supertab и vim-devicons

26 November 2018
 

 В продолжение поста vim: превращаем редактор в “IDE” – плагины и вот это вот всё – ещё пара полезностей для vim. supertab supertab вызывает автоподстановку по нажатию кнопки <TAB>, вместо комбинаций типа Ctrl+O/Ctrl+X. Добавляем в .vimrc: … ” https://github.com/ervandew/supertab Plug ‘ervandew/supertab’ … Перечитываем его, и устанавливаем: Для настройки плагина есть много опций, основные, которые могут пригодиться,… Read More »