Архив рубрики: GNU/Linux utils

Вопросы, касающиеся использования различных системных утилит и прочего программного обеспечения – описания, их использование.

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… Читать далее »

C: отладка с gdb – примеры

30 января 2019
 

 gdb (GNU Project Debugger) используется при отладке/дебаге кода. Ниже приводятся примеры работы с кодом на С. Используем такой код: #include <stdio.h> #include <string.h> #include <stdlib.h> char * buf; int sum_to_n(int num) { int i,sum=0; for(i=1;i<=num;i++) sum+=i; return sum; } void printSum() { char line[10]; printf(“Enter a number: “); fgets(line, 10, stdin); if(line != NULL) strtok(line, “\n”);… Читать далее »

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] Запускаем: После проверки… Читать далее »

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… Читать далее »

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… Читать далее »

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

26 ноября 2018
 

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

Android Studio: установка на Linux и работа с Android Virtual Devices

21 ноября 2018
 

 Есть у нас UI-автотесты, которые немного поломались – надо пофиксить, заодно появился повод вообще с ними разобраться. Для тестирования используется Android Virtual Device и эмулятор из Android Studio. В этом посте – установка студии и создание такого устройства, в следующем – запуск Appium тестов на нём. Установка и запуск выполняются на Arch Linux, но процесс не специфичен для… Читать далее »

vim: превращаем редактор в “IDE” – плагины и вот это вот всё

15 ноября 2018
 

 Пользуюсь vim-ом уже не первый год, и всё хотелось превратить его в “настощий IDE” – но как-то было лень и руки не доходили. Т.е., vim, конечно, прекрасен и сам по себе, но сейчас начал в очередной раз ковырять Golang, и очень напрягает писать функции в ЭтОмВоТдУрАцКоМкЕмЕлСтАйЛе и постоянно shift-тить, а потому начал искать плагин для… Читать далее »

Linux: увеличение размера раздела без LVM с сохранением данных на ext4

20 октября 2018
 

 Емеется EC2, на котором был увеличен EBS диск с 8 до 16 гиг. Задача – увеличить размер раздела на диске, при этом сохранив данные. Проблема в том, что на диске уже создан раздел, и этот раздел – фиксированный, и он не LVM: [simterm] admin@monitonrig-dev:~$ lsblk /dev/xvdb NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvdb 202:16… Читать далее »