asciidoc вместо markdown

This commit is contained in:
2019-06-02 00:08:41 +03:00
parent 71dd5de667
commit 82ae133e81
89 changed files with 3514 additions and 3122 deletions

View File

@ -1,26 +1,25 @@
---
title: "Astra: авторизация в PostgreSQL через PAM"
category: Linux
tags: Linux, Astra, postgresql, базы данных,
summary:
...
= Astra: авторизация в PostgreSQL через PAM
:category: Linux
:tags: Linux, Astra, postgresql, базы данных,
Для обеспечения авторизации пользователей через PAM системному
пользователю `postgres`, с правами которого выполняется сервер
базы данных, необходимо выдать права на чтение информации из базы
данных пользователей и сведений о мандатных метках и привилегиях:
пользователю `postgres`, с правами которого выполняется сервер базы
данных, необходимо выдать права на чтение информации из базы данных
пользователей и сведений о мандатных метках и привилегиях:
```sh
[source,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
[source,sh]
----
usermac -c 0:0 -l 0:0 user
```
----

View File

@ -1,42 +1,45 @@
---
title: "CUPS: команды"
category: Linux
tags: Linux, печать, CUPS
...
= CUPS: команды
:category: Linux
:tags: Linux, печать, CUPS,
Текущее состояние принтера (см. также [lpstat](http://cheat.sh/lpstat)):
Текущее состояние принтера (см. также http://cheat.sh/lpstat[lpstat]):
```sh
[source,sh]
----
lpstat -h hostname -p printer_name
```
----
Возобновить работу принтера:
```sh
[source,sh]
----
lpadmin -h hostname -p printer_name -E
```
----
Печать (см. также [lp](http://cheat.sh/lp)):
Печать (см. также http://cheat.sh/lp[lp]):
```sh
[source,sh]
----
lp -h hostname -d printer_name file.pdf
```
----
Просмотр очереди:
```sh
[source,sh]
----
lpq -h hostname -p printer_name
```
----
Удаление задания job-id из очереди:
```sh
[source,sh]
----
lprm -h hostname -p printer_name job-id
```
----
Удаление всех заданий из очереди:
```sh
[source,sh]
----
lprm -h hostname -p printer_name -
```
----

View File

@ -1,12 +1,10 @@
---
title: "APT"
category: Linux
tags: linux, ubuntu, debian, apt,
summary:
...
= APT
:category: Linux
:tags: linux, ubuntu, debian, apt,
Запрет загрузки переводов описаний пакетов:
```sh
[source,sh]
----
echo 'Acquire::Languages "none";' > /etc/apt/apt.conf.d/99translations
```
----

View File

@ -1,32 +1,35 @@
---
title: "GnuPG: шифрование файлов"
category: Linux
tags: Linux, GnuPG, безопасность
...
= GnuPG: шифрование файлов
:category: Linux
:tags: Linux, GnuPG, безопасность
Для шифрования файлов с использованием публичного ключа адресата можно выполнить команду:
Для шифрования файлов с использованием публичного ключа адресата можно
выполнить команду:
```sh
[source,sh]
----
tar cp files_list | pv | gpg -e --recipient user@domain.tld > archive.tar.gpg
```
----
По умолчанию во время шифрования данные сжимаются компрессорами `zip` или `gzip`,
поэтому сжимать данные до `gpg` не нужно. Можно отключить стандартный алгоритм сжатия и
использовать собственный компрессор, например `xz`:
По умолчанию во время шифрования данные сжимаются компрессорами `zip`
или `gzip`, поэтому сжимать данные до `gpg` не нужно. Можно отключить
стандартный алгоритм сжатия и использовать собственный компрессор,
например `xz`:
```sh
[source,sh]
----
tar cp files_list | pv | xz -9 | gpg -e --compress-algo none --recipient user@domain.tld > archive.tar.xz.gpg
```
----
Для шифрования с использованием пароля:
```sh
[source,sh]
----
tar cf files_list | pv | gpg -c > archive.tar.gpg
```
----
Для расшифровки нужно выполнить команду:
```sh
[source,sh]
----
gpg -d archive.tar.gpg --output archive.tar
```
----

View File

@ -0,0 +1,28 @@
= Прерывания GPE
:category: Linux
:tags: Linux, hardware, железо,
Неисправная аппаратура может генерировать большое количество прерываний,
что приводит к заметному ухудшению отзывчивости системы. Проверить
наличие подобной ситуации можно командой
[source,sh]
----
find /sys/firmware/acpi/interrupts | sort | while read i; do echo "$i:"; cat $i; done
----
Если в выводе будет присутствовать очень большое число, то значит
проявляется именно данная проблема. Для временного исправления можно
заблокировать прерывание, выполнив команду
[source,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

@ -1,28 +0,0 @@
---
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,15 @@
= DNS в контейнере LXC
:category: Linux
:tags: lxc, контейнеры, ubuntu, linux, dns,
В системе Ubuntu 18.04 работающей внутри контейнера LXC по умолчанию не
работает разрешение имён. Чтобы использовать DNS-сервер `8.8.8.8`, нужно
внутри контейнера выполнить команды:
[source,sh]
----
sed -i 's/#DNS=/DNS=8.8.8.8/' /etc/systemd/resolved.conf
systemctl restart systemd-resolved
rm /etc/resolv.conf
ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
----

View File

@ -1,17 +0,0 @@
---
title: "DNS в контейнере LXC"
category: Linux
tags: lxc, контейнеры, ubuntu, linux, dns,
summary:
...
В системе Ubuntu 18.04 работающей внутри контейнера LXC по умолчанию
не работает разрешение имён. Чтобы использовать DNS-сервер `8.8.8.8`,
нужно внутри контейнера выполнить команды:
```sh
sed -i 's/#DNS=/DNS=8.8.8.8/' /etc/systemd/resolved.conf
systemctl restart systemd-resolved
rm /etc/resolv.conf
ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
```

View File

@ -1,28 +1,27 @@
---
title: "runit: система инициализации"
category: Linux
tags: Debian, Ubuntu, Linux, инициализация, runit,
summary:
...
= runit: система инициализации
:category: Linux
:tags: Debian, Ubuntu, Linux, инициализация, runit,
### Установка
== Установка
[runit](http://smarden.org/runit/) — это система инициализации со
http://smarden.org/runit/[runit] — это система инициализации со
встроенными средствами контроля за процессами.
Установка в Ubuntu:
```sh
[source,sh]
----
sudo apt-get install runit runit-systemd
```
----
### Запуск сервисов от непривилегированного пользователя
== Запуск сервисов от непривилегированного пользователя
Чтобы разрешить непривилегированному пользователю `user` управлять
собственной конфигурацией для runit, нужно с правами суперпользователя
выполнить:
```sh
[source,sh]
----
mkdir -p /etc/service/run-user/supervise
cat > /etc/service/run-user/run << EOF
#!/bin/sh
@ -31,17 +30,18 @@ exec 2>&1
exec chpst -u user runsvdir /home/user/sv
EOF
chmod +x /etc/service/run-user/run
```
----
В результате в каталоге `/home/user/sv` пользователь `user` сможет
создавать собственные правила управления сервисами.
### Пример сервиса
== Пример сервиса
Для запуска сервера Redis пользователем `user` нужно создать файл
конфигурации `/home/user/redis/etc/redis.conf`:
```
[source,text]
----
daemonize no
port 5079
tcp-backlog 128
@ -56,33 +56,36 @@ client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 4mb 1mb 60
client-output-buffer-limit pubsub 4mb 1mb 60
maxclients 50
```
----
Запускаемый сервер должен запускаться не в фоновом режиме, чтобы
runit мог контролировать его состояние.
Запускаемый сервер должен запускаться не в фоновом режиме, чтобы `runit`
мог контролировать его состояние.
Скрипт `/home/user/sv/redis/run`, который `runit` использует для
запуска процесса:
Скрипт `/home/user/sv/redis/run`, который `runit` использует для запуска
процесса:
```sh
#!/bin/sh
[source,sh]
----
#!/bin/sh -e
WORKDIR=/home/user/redis
cd "${WORKDIR}" || exit 1
exec 2>&1
exec redis-server etc/redis.conf
```
----
Журналирование выполняется с помощью входящей в состав пакета
runit программы `svlogd`. Скрипт для его запуска должен находиться
в подкаталоге `log` (`/home/user/sv/redis/log/run`):
Журналирование выполняется с помощью входящей в состав пакета runit
программы `svlogd`. Скрипт для его запуска должен находиться в
подкаталоге `log` (`/home/user/sv/redis/log/run`):
```sh
[source,sh]
----
#!/bin/sh -e
LOGDIR=/home/user/redis/log
mkdir -p "${LOGDIR}"
exec svlogd -tt "${LOGDIR}""
```
----

View File

@ -1,16 +1,14 @@
---
title: "Сервер времени NTP в локальной сети"
category: Linux
tags: Linux, NTP, время,
summary:
...
= Сервер времени NTP в локальной сети
:category: Linux
:tags: Linux, NTP, время,
Если в локальной сети необходимо синхронизировать время, не имея
авторитетного источника времени, то можно использовать локальные
часы сервера в качестве базовых. В этом случае файл настройки
`/etc/ntp.conf` на сервере `192.168.0.1` будет выглядеть так:
авторитетного источника времени, то можно использовать локальные часы
сервера в качестве базовых. В этом случае файл настройки `/etc/ntp.conf`
на сервере `192.168.0.1` будет выглядеть так:
```
[source,text]
----
driftfile /var/lib/ntp/ntp.drift
logfile /var/log/ntp.log
tinker panic 0
@ -19,11 +17,12 @@ 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` имеет вид:
```
[source,text]
----
driftfile /var/lib/ntp/ntp.drift
logfile /var/log/ntp.log
tinker panic 0
@ -32,5 +31,4 @@ 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

@ -1,20 +1,19 @@
---
title: "Терминал rxvt-unicode"
category: Linux
tags: Linux, Xorg, rxvt, терминал,
summary:
...
= Терминал rxvt-unicode
:category: Linux
:tags: Linux, Xorg, rxvt, терминал,
Скачать скрипт для динамического изменения размера шрифта
```sh
[source,sh]
----
curl -fLo $HOME/.urxvt/ext/font-size --create-dirs \
https://raw.githubusercontent.com/majutsushi/urxvt-font-size/master/font-size
```
----
Добавить в файл `$HOME/.Xresources`:
```
[source,text]
----
URxvt.background: White
URxvt.foreground: Black
URxvt.saveLines: 8192
@ -40,5 +39,5 @@ URxvt.keysym.C-S-KP_Subtract: perl:font-size:decglobal
! Запрет печати
URxvt.print-pipe: "cat > /dev/null"
```
----

View File

@ -0,0 +1,8 @@
= Linux: полезные ссылки
:category: Linux
:tags: Linux, ссылки,
* https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html[Параметры
загрузки ядра]
* http://cheat.sh/[Примеры команд]
* https://m.opennet.ru/[Новости]

View File

@ -1,10 +0,0 @@
---
title: "Linux: полезные ссылки"
category: Linux
tags: Linux, ссылки,
...
* [Параметры загрузки ядра](https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html)
* [Примеры команд](http://cheat.sh/)
* [Новости](https://m.opennet.ru/)