This commit is contained in:
Andrei Astafev 2019-04-21 13:05:39 +03:00
parent 7d2c994664
commit 52f327706e
8 changed files with 159 additions and 0 deletions

View File

@ -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
```

View File

@ -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)

View File

@ -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
```

View File

@ -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"
```

View File

@ -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/)

View File

@ -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

View File

@ -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 }