From 52f327706ec2723ee7b734f3ed732c7515a483a9 Mon Sep 17 00:00:00 2001 From: Andrey Astafyev Date: Sun, 21 Apr 2019 13:05:39 +0300 Subject: [PATCH] Text --- wiki/Linux/Astra/Авторизация в PostgreSQL.md | 26 +++++++++++ wiki/Linux/Hardware/GPE.md | 28 +++++++++++ .../System/Сервер NTP в локальной сети.md | 37 +++++++++++++++ wiki/Linux/Xorg/Терминал Rxvt-Unicode.md | 44 ++++++++++++++++++ wiki/Linux/Ссылки.md | 11 +++++ wiki/Prog/Development/Профилирование кода.md | 10 ++++ ...Построение профиля местности в QGis.md.swp | Bin 0 -> 12288 bytes .../Построение профиля местности в QGis.md | 3 ++ 8 files changed, 159 insertions(+) create mode 100644 wiki/Linux/Astra/Авторизация в PostgreSQL.md create mode 100644 wiki/Linux/Hardware/GPE.md create mode 100644 wiki/Linux/System/Сервер NTP в локальной сети.md create mode 100644 wiki/Linux/Xorg/Терминал Rxvt-Unicode.md create mode 100644 wiki/Linux/Ссылки.md create mode 100644 wiki/Prog/GIS/.Построение профиля местности в QGis.md.swp 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 0000000000000000000000000000000000000000..398068e03e1220410e0bd152e9622dfe1b4d8322 GIT binary patch literal 12288 zcmeHNO>9(E6u$U}3aEj#$)$uKFZ13^Tg1}90+5h~@?$_Zipg}g3)LQx5=5;_jAuX=ljmj zoy<8Hd!=tD@3CSGf6p++H&$O8*cf3Ojx&~^YxnTy)-$Xe44RI$R$V|vJbKcvKz7s^4(L6y$;zA z`EeOzKR~{QT!vhNJPY}DDP!M2HbZ`2!q{(+kxc?@<#zI+tVLO7)M2xBvl7a`xnr$dl8AnPE~$NP{Y zZSsGL!0}#gIoXssU=MkAfxpvy&Q`uEJ`+Vbq*C_Jh$6;M{1JZ`(zu-JDGF{=`wcU>FwbjIHJ3D!I|90uBcnu?A*TfY1do zA+`CZ0w=Migz+Al^-)tjWscKg=sTblQ^9KdV;BLd&;m$-ftc~n!@N0#wBm-;p=K;+H zm|=*^u;hlcNjb8>+9q}z$)K=BmWXKt`-luBOm!8-l&J7{z^ipIn~z&eg^QR%+)m1= zulXs1C~v?>A}Qm5roh0i7^h$pQz6~09>{R4Kf!uHvm8CcIvO~eN1dEPQ)6dg&if-A z(R!hQ?lS14b(F?s08|6kDqVuwgse+T_W`a9IZzUbq>&@qm z*o95qR;<^}=5k)z8A@&Hv|`-M9rj%3n9aLlv6%WWbAx=#&ONy0@hwL^o14c59Xpfc zd$%4~$IT265Uw9BH=Pgv2kK;mn?}4Ll__uuK$H$pRs<@jRd5RQ!%dm#YW9vU-U*?( zN`}e3+Z65KXiU*Q+>%qM9TZkFDQNz$$m3=r-pj~OJyUMk$=*@n|}iwWGm+WHvztQ0mClct=n_ zsJ6pqTtM|fYT%rBBD5$%rC&0gLx!t#2a$cJp=%PFR2!=2p(wU%VO>EB zTd%CAFqfqSHl77FRasD=tsJ^U(NEChV;V03KFyWj?v}tolsGy4Ny!D+BXdMp2vjnj z)ZU>#$Qn|Tg_;5eaYKX!?N62%LV%)*8rwN?WU6bZusWBiiiFb@1Laz zN=?Vs{#~1QZtLKE{e3&O@inW(C2>uBf!O#M$E)JH_(*&zu5g@;&7@h`FX6)b`&c)b6hsbl4`;K9!qHyd(ZRe#%IytV16ns_{9~5gAB%AMnh@b|0Uzmngwqy)4J14} nm813I6Qm05CmNP9&+#%gw5uIUkaw~PQ=PrnVfhYbnkM@Tl}7^u literal 0 HcmV?d00001 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 }