Архив рубрики: UNIX/Linux

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

Linux: rsyslog и «ротация» логов.

7 февраля 2019
 

 Имеется система с Debian 9, запущенная на AWS EC2 с дефолтным 8-гиговым рутовым разделом. Проблема в том, что временами /var/log/syslog и /var/log/daemon.log отжираются за сутки на пару гигов, и logrotate, который запускается раз в сутки, не успевает их сжать и выполнить ротацию. syslog и daemon.log используются (уже некоторыми подзабытым) демоном rsyslog: [simterm] root@bttrm-dev-console:/home/admin# cat /etc/rsyslog.conf… Читать далее »

Arch: yaourt — No space left on device

24 января 2019
 

 Требуется установить пакет libmysqlclient для работы с API MySQL из C. Описание пакета — тут>>>. Во время сборки — yaourt сообщает об ошибке: Scanning dependencies of target mysql_protocol [100%] Building CXX object router/src/mysql_protocol/CMakeFiles/mysql_protocol.dir/src/handshake_packet.cc.o Unknown file/directory /tmp/yaourt-tmp-setevoy/aur-libmysqlclient/src/mysql-8.0.13/router/src/mysql_protocol/../src/router/include. Unknown file/directory /tmp/yaourt-tmp-setevoy/aur-libmysqlclient/src/mysql-8.0.13/router/src/mysql_protocol/../src/harness/include. {standard input}: Assembler messages: {standard input}: Fatal error: can’t close CMakeFiles/mysql_protocol.dir/src/handshake_packet.cc.o: No space left on device… Читать далее »

Jenkins: JNLP-slave из Docker-образа

21 января 2019
 

 Имеется у нас зоопарк билд-агентов (macOS, Ubuntu), работающих в офисе. Сам Jenkins при этом запущен в AWS, на ЕС2, и обращается к агентам через проброс SSH-портов на офисном роутере. Задача — перенастроить схему, что бы агенты сами обращались к Jenkins, и, таким образом, отказаться от пробоса портов. Сесурити и вот это вот всё. Простой пример… Читать далее »

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

16 января 2019
 

 NCDU NCDU — утилита для отображения занятого и свободного места на дисках, аналог du и df. Аббревиатура NCDU расшифровывается как NCurse Disk Usage, и, очевидно, использует библиотеку ncurses для отображения данных. Установка на Arch — с помощью pacman: [simterm] $ sudo pacman -S ncdu [/simterm] Debian/Ubuntu: [simterm] $ sudo apt install ncdu [/simterm] Запускаем: После проверки… Читать далее »

Jenkins: Remote call on JNLP4-connect connection failed

15 января 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… Читать далее »

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

14 января 2019
 

 Имеется у нас билд-агент для Jenkins, запущен на Ubuntu 16. Периодически при загрузке машина подвисает сразу после запуска GRUB. Один из вариантов поиска проблемы — проверить диск на предмет наличия битых секторов. Для этого можно использовать утилиты badblocks из набора e2fsprogs, и smartctl из набора smartmontools. badblocks Проверяем диски на этой машине: [simterm] root@username-ci:~# fdisk… Читать далее »

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

9 января 2019
 

 Есть Jenkins билд-агент на Ubuntu, запущенный на машинке, которая стоит в офисе, мониторы от неё висят на стенке и отображают результаты билдов (см. Build Monitor Plugin). Задача — сделать скриншот экрана, не бегая в другой конец комнаты к клавиатуре. Устанавливаем imagemagick: [simterm] root@projectname-ci:~# apt install imagemagick [/simterm] Создаём скриншот, используя import: [simterm] root@projectname-ci:~# import -window root… Читать далее »

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

25 декабря 2018
 

 На AWS EC2 AMI-образ Debian 9 идёт без активного swap. При желании и необходимости — его можно легко добавить самому. Создаём файл: [simterm] root@bttrm-stage-app-1:/home/admin# fallocate -l 1G /data/swapfile [/simterm] Задаём права доступа: [simterm] root@bttrm-stage-app-1:/home/admin# chmod 600 /data/swapfile [/simterm] Выполняем mkswap: [simterm] root@bttrm-stage-app-1:/home/admin# mkswap /data/swapfile Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)… Читать далее »

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

14 декабря 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:… Читать далее »

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

11 декабря 2018
 

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