diff --git a/wiki/Linux/Astra/Авторизация в PostgreSQL.md b/wiki/Linux/Astra/Авторизация в PostgreSQL.md new file mode 100644 index 0000000..75e78ac --- /dev/null +++ b/wiki/Linux/Astra/Авторизация в PostgreSQL.md @@ -0,0 +1,26 @@ +--- +Title: "Astra: авторизация в PostgreSQL через PAM" +Category: Linux +Tags: Linux, Astra, postgresql +Summary: +... + +Для обеспечения авторизации пользователей через PAM системному +пользователю `postgres`, с правами которого выполняется сервер +базы данных, необходимо выдать права на чтение информации из базы +данных пользователей и сведений о мандатных метках и привилегиях: + +```sh +usermod -a -G shadow postgres +setfacl -d -m u:postgres:r /etc/parsec/macdb +setfacl -R -m u:postgres:r /etc/parsec/macdb +setfacl -m u:postgres:rx /etc/parsec/macdb +``` + +Для обеспечения возможности авторизации пользователя `user`, +зарегистрированного в системе PAM, нужно выполнить команду + +```sh +usermac -c 0:0 -l 0:0 user +``` + diff --git a/wiki/Linux/Hardware/GPE.md b/wiki/Linux/Hardware/GPE.md new file mode 100644 index 0000000..1a0b004 --- /dev/null +++ b/wiki/Linux/Hardware/GPE.md @@ -0,0 +1,28 @@ +--- +title: "Прерывания GPE" +category: Linux +tags: Linux, hardware, железо +summary: +... + +Неисправная аппаратура может генерировать большое количество прерываний, +что приводит к заметному ухудшению отзывчивости системы. Проверить +наличие подобной ситуации можно командой + +```sh +find /sys/firmware/acpi/interrupts | sort | while read i; do echo "$i:"; cat $i; done +``` + +Если в выводе будет присутствовать очень большое число, то значит проявляется +именно данная проблема. Для временного исправления можно заблокировать прерывание, +выполнив команду + +```sh +echo 0 > /sys/firmware/acpi/interrupts/gpeXX 2>/dev/null +``` + +где XX номер прерывания, для которого зафиксировано большое число срабатываний. +Для полного исправления проблемы нужно разбираться с аппаратурой. + +[См. также](https://unix.stackexchange.com/questions/242013/disable-gpe-acpi-interrupts-on-boot) + diff --git a/wiki/Linux/System/Сервер NTP в локальной сети.md b/wiki/Linux/System/Сервер NTP в локальной сети.md new file mode 100644 index 0000000..e9a522c --- /dev/null +++ b/wiki/Linux/System/Сервер NTP в локальной сети.md @@ -0,0 +1,37 @@ +--- +title: "Сервер времени NTP в локальной сети" +category: Linux +tags: Linux, NTP, время +summary: +... + +Если в локальной сети необходимо синхронизировать время, не имея +авторитетного источника времени, то можно использовать локальные +часы сервера в качестве базовых. В этом случае файл настройки +`/etc/ntp.conf` на сервере будет выглядеть так: + +``` +driftfile /var/lib/ntp/ntp.drift +logfile /var/log/ntp.log +tinker panic 0 + +server 127.127.1.0 minpoll 4 maxpoll 7 +fudge 127.127.1.0 stratum 8 +restrict 192.168.0.0 mask 255.255.255.0 +restrict default nomodify notrap +``` + +Файл `/etc/ntp.conf` на клиенте, работающем в подсети `192.168.0.0/24`, +и получающем время от сервера `192.168.0.1`, имеет вид: + +``` +driftfile /var/lib/ntp/ntp.drift +logfile /var/log/ntp.log +tinker panic 0 + +server 127.127.1.0 minpoll 4 maxpoll 7 +fudge 127.127.1.0 stratum 12 +server 192.168.0.1 minpoll 4 maxpoll 7 iburst +restrict default nomodify nopeer +``` + diff --git a/wiki/Linux/Xorg/Терминал Rxvt-Unicode.md b/wiki/Linux/Xorg/Терминал Rxvt-Unicode.md new file mode 100644 index 0000000..a89d848 --- /dev/null +++ b/wiki/Linux/Xorg/Терминал Rxvt-Unicode.md @@ -0,0 +1,44 @@ +--- +title: "Терминал rxvt-unicode" +category: Linux +tags: Linux, Xorg, rxvt, терминал +summary: +... + +Скачать скрипт для динамического изменения размера шрифта + +```sh +curl -fLo $HOME/.urxvt/ext/font-size --create-dirs \ + https://raw.githubusercontent.com/majutsushi/urxvt-font-size/master/font-size +``` + +Добавить в файл `$HOME/.Xresources`: + +``` +URxvt.background: White +URxvt.foreground: Black +URxvt.saveLines: 8192 +URxvt.scrollstyle: rxvt +URxvt.scrollBar_right: True +URxvt.scrollWithBuffer: False +URxvt.reverseVideo: True +URxvt.perl-ext-common: default,matcher,font-size +URxvt.searchable-scrollback: M-S +URxvt.scrollTtyOutput: False +URxvt.maximized: True + +! Подcветка URL +URxvt.url-launcher: /usr/bin/firefox +URxvt.matcher.button: 1 +URxvt.colorUL: #80FFFF + +! Изменение размера шрифта +URxvt.keysym.C-KP_Add: perl:font-size:increase +URxvt.keysym.C-KP_Subtract: perl:font-size:decrease +URxvt.keysym.C-S-KP_Add: perl:font-size:incglobal +URxvt.keysym.C-S-KP_Subtract: perl:font-size:decglobal + +! Запрет печати +URxvt.print-pipe: "cat > /dev/null" +``` + diff --git a/wiki/Linux/Ссылки.md b/wiki/Linux/Ссылки.md new file mode 100644 index 0000000..fc3fd10 --- /dev/null +++ b/wiki/Linux/Ссылки.md @@ -0,0 +1,11 @@ +--- +title: "Linux: полезные ссылки" +category: Linux +tags: Linux, ссылки +summary: +... + +* [Параметры загрузки ядра](https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html) +* [Примеры команд](http://cheat.sh/) +* [Новости](https://m.opennet.ru/) + diff --git a/wiki/Prog/Development/Профилирование кода.md b/wiki/Prog/Development/Профилирование кода.md index 4c477fd..39efa0e 100644 --- a/wiki/Prog/Development/Профилирование кода.md +++ b/wiki/Prog/Development/Профилирование кода.md @@ -24,12 +24,22 @@ quickstack -f -p $(pidof application) Утилита профилирования для ядра Linux (находится в дереве его исходных текстов в каталоге `tools/perf`). +```sh +perf record --call-graph dwarf -- yourapp +perf report -g graph --no-children +``` + Полезные ссылки: * [Официальная страница](https://perf.wiki.kernel.org/index.php/Main_Page) * [Примеры](https://stackoverflow.com/questions/1777556/alternatives-to-gprof/10958510#10958510) * [Примеры](http://www.brendangregg.com/perf.html) +## oprofile + +```sh +opcontrol --setup --vmlinux=/boot/vmlinux-`uname -r` +``` ## Systemtap diff --git a/wiki/Prog/GIS/.Построение профиля местности в QGis.md.swp b/wiki/Prog/GIS/.Построение профиля местности в QGis.md.swp new file mode 100644 index 0000000..398068e Binary files /dev/null and b/wiki/Prog/GIS/.Построение профиля местности в QGis.md.swp differ diff --git a/wiki/Prog/GIS/Построение профиля местности в QGis.md b/wiki/Prog/GIS/Построение профиля местности в QGis.md index 57c8ecc..30e0cbc 100644 --- a/wiki/Prog/GIS/Построение профиля местности в QGis.md +++ b/wiki/Prog/GIS/Построение профиля местности в QGis.md @@ -12,6 +12,7 @@ summary: "" 2) Среди слоёв выбрать слой с рельефом местности и типом геометрии `LineString`. ![Слои карты](files/qgis-heights1.png) +{: .img-center } 3) На панели **Панель слоёв** правой кнопкой мыши щелкнуть на слое, содержащем данные о высотах, и выбрать **Фильтр...**. @@ -26,6 +27,7 @@ summary: "" 6) В появившемся диалоговом окне выбрать имя выходного файла, например, `heights`. ![Имя выходного файла](files/qgis-heights2.png) +{: .img-center } 7) В каталоге `/home/a/work/map` выполнить команду, которая в файле `heights.shp` из слоя `heights` берёт данные о высотах из поля `SC_4` @@ -49,3 +51,4 @@ gdal_grid -a invdist:power=3.0:smoothing=1.0 -outsize 2000 2000 -of BMP -ot Byte После этого на карте можно строить профили местности. ![Матрица высот](files/qgis-heights3.png) +{: .img-center }