Antix Linux

Здесь будут мои записки касательно ошибок/сложностей с которыми я столкнулся при эксплуатации antiX Linux

Следующие подписи неверны expkeysig DB36CDF3452F0C20

Скачать с сайта http://repo.antixlinux.com/testing/pool/main/a/antix-archive-keyring/ последнюю версию файла antix-archive-keyring_20019.5.0_all.deb или если есть более новый и установить его в систему:

$ wget http://repo.antixlinux.com/testing/pool/main/a/antix-archive-keyring/antix-archive-keyring_20019.5.0_all.deb
$ sudo dpkg -i antix-archive-keyring_20019.5.0_all.debCode language: JavaScript (javascript)

Дальше как обычно в debian-based системах обновляемся и при необходимости перезагружаемся:

$ sudo apt update && sudo apt full-upgrade -y && sudo apt autoremove -y && [ -f /var/run/reboot-required ] && sudo shutdown -r nowCode language: JavaScript (javascript)

Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg)

Оригинал находится по ссылке

The easy way to fix these warning messages generated by sudo apt update

W: https://linux.teamviewer.com/deb/dists/stable/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
W: http://apt.keepsolid.com/ubuntu/dists/groovy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
W: http://linux.dropbox.com/ubuntu/dists/disco/Release.gpg: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
W: http://download.virtualbox.org/virtualbox/debian/dists/hirsute/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
W: http://download.opensuse.org/repositories/home:/IBBoard:/cawbird/xUbuntu_22.04/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
W: http://ppa.launchpad.net/solaar-unifying/stable/ubuntu/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
W: http://ppa.launchpad.net/team-xbmc/ppa/ubuntu/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
W: http://ppa.launchpad.net/yannubuntu/boot-repair/ubuntu/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.Code language: JavaScript (javascript)

Note: These warning messages can be generated by any enabled repo or ppa in Software & Updates «Other Software» tab.

Example fix:


For this warning message with sudo apt update

W: http://ppa.launchpad.net/team-xbmc/ppa/ubuntu/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
Code language: JavaScript (javascript)

We look in sudo apt-key list and find this entry for xbmc…

pub   rsa1024 2009-01-20 [SC]
      1897 01DA 570C 56B9 488E  F60A 6D97 5C47 91E7 EE5E
uid           [ unknown] Launchpad PPA for XBMC for Linux
Code language: CSS (css)

Then we convert this entry to a .gpg file, using the last 8 numeric characters from above…

sudo apt-key export 91E7EE5E | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/team-xbmc.gpg
Code language: JavaScript (javascript)

Optionally you can remove the deprecated key from /etc/apt/trusted.gpg by running:

sudo apt-key --keyring /etc/apt/trusted.gpg del 91E7EE5E

Repeat the above commands for each warning message generated by sudo apt update.

Полезные однострочные скрипты Bash

По мотивам https://t.me/srv_admin/2207

Работа с файлами и директориями

📌 Создание сразу нескольких директорий dir1, dir2, dir3:

mkdir -p -v /home/user/{dir1,dir2,dir3}

То же самое, только с файлами. Создаём 3 файла:

touch file0{1,2,3}

Переименовываем файл:

mv file.{old,new}

Удобный приём с оператором { }, можно использовать в различных командах.

📌 Смотрим файл конфигурации без комментариев (начинаются с ; или #) и пустых (^$) строк:

grep -E -v ';|#|^$' /etc/php.ini

Этим постоянно приходится пользоваться, особенно в конфигах php, asterisk, postgresql.

📌 Удаляем комментарии и пустые строки и записываем чистый конфиг в новый файл:

sed '/^;|^$|^#/d' php.ini > php.ini.clean

Изменение параметра в конфиге post_max_size на новое значение:

sed -i 's/^post_max_size =.*/post_max_size = 16M/g' php.ini

Сначала запустите команду без ключа -i и проверьте результат. Файл не изменится.

📌 Сравниваем содержимое файлов двух директорий с выводом результата в файл:

diff -Naur /var/www/site.ru/ /mnt/backup/site.ru/ > ~/site.diff

Удобно для поиска изменений в файлах сайта после взлома. Сравниваете с бэкапом и сразу все изменения перед глазами.

📌 Считаем размер всех файлов определённого типа в директории.

i=0; for n in $(find /mnt/files -type f -name '*.iso' -print \

| xargs stat --printf "%s "); do ((i+=n)); done; echo $i

Результат будет в байтах.

Сравнить два файла и вывести НЕ уникальные значения

sort first-file.txt second-file.txt | uniq -d

Подсветка синтаксиса в less

Устанавливаем пакет souce-highlight, в соответствии с инструкцией на сайте http://www.gnu.org/software/src-highlite/source-highlight.html#Using-source_002dhighlight-with-less добавляем пару переменных окружения в пользовательский (~/.bashrc) или в системный (/etc/bash.bashrc) файл настройки командной оболочки (я использую bash, по крайней мере сейчас, поэтому для него и пишу данную инструкцию):

echo 'export LESSOPEN="| /usr/share/source-highlight/src-hilite-lesspipe.sh %s"' >> ~/.bashrc
echo "export LESS=' -R '" >> ~/.bashrcCode language: PHP (php)

Да, в случае добавления в системный файл, надо добавлять не в конец, как в приведенном примере, а в начало до проверки на интерактивность шела:

# source-highlight
export LESSOPEN="| /usr/share/source-highlight/src-hilite-lesspipe.sh %s"
export LESS=' -R '
# If not running interactively, don't do anything
[ -z "$PS1" ] && return
...
Code language: PHP (php)

Для добавления поддержки синтаксиса, например Arduino *.ino, нужно подправить файл /usr/share/source-highlight/lang.map, а именно внести туда строчку типа:

...
ino = cpp.lang
...

Команды управления фаерволом pf

Список команд для управлением фаерволом pf.

pfctl -dвыключить пакетный фильтр
pfctl -eвключить пакетный фильтр
 
pfctl -f /etc/pf.confзагрузить конфиг из /etc/pf.conf
pfctl -n -f /etc/pf.confпроверить на ошибки /etc/pf.conf, но не загружать его
pfctl -R -f /etc/pf.confзагрузить только правила фитрации из /etc/pf.conf
pfctl -N -f /etc/pf.confзагрузить только правила NAT из /etc/pf.conf
pfctl -O -f /etc/pf.confзагрузить только опции из /etc/pf.conf
 
pfctl -F allсбросить всё
pfctl -F rulesсбросить только правила фильтрации
pfctl -F queueсбросить только очереди
pfctl -F natсбросить правила NAT
pfctl -F infoсбросить всю статистику
pfctl -z clearочистить все счётчики
 
pfctl -s rulesпоказать текущие правила фильтрации
pfctl -v -s rules showпоказать информацию по каждому правилу фильтрации
pfctl -vvsrпоказать текущие правила фильтрации с добавлением номера правила
pfctl -v -s natпоказать текущие правила NAT отдельно по каждому правилу
pfctl -s nat -i xl1показать правила NAT для интерфейса xl1
pfctl -s queueпоказать очереди
pfctl -s stateпоказать текущее состояние таблиц
pfctl -s infoпоказать статистику правил и состояние счётчиков
pfctl -s allпоказать все что можно
 
pfctl -t testtable -T showпросмотр содержимого таблицы testtable
pfctl -t testtable -T show -vпросмотр более подробной статистики по каждому адресу таблицы testtable
pfctl -t testtable -T add 192.168.1.1добавление адреса 192.168.1.1 в таблицу testtable
pfctl -t testtable -T delete 192.168.1.1удаление адреса 192.168.1.1 из таблицы testtable
pfctl -t testtable -T flushочистить таблицу testtable

Установка Java 8 на Ubuntu 20.04

sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y
sudo apt install openjdk-11-jdk для установки 11-й ветки
sudo apt install openjdk-8-jdk для установки 8-й ветки

Для переключения между ветками Java используем команду:
update-alternatives --config java