2.6666666666667 1 1 1 1 1 1 1 1 1 1 Rating 2.67 (6 Votes)
4 1 1 1 1 1 1 1 1 1 1 Rating 4.00 (2 Votes)

Иногда возникает необходимость посмотреть какие пакеты установлены в CentOS / Fedora, самый первый метод, который приходит на ум - использовать RPM пакет менеджер:

rpm -qa

Будет отображен список установленных пакетов:

...
intltool-0.51.0-13.fc29.noarch
libreport-plugin-logger-2.10.0-1.fc29.x86_64
lame-libs-3.100-4.fc29.x86_64
perl-Pod-Checker-1.73-417.fc29.noarch
php-php-gettext-1.0.12-5.fc29.noarch
libcmis-0.5.2-1.fc29.x86_64
python2-backports-1.0-15.fc29.x86_64
gnutls-dane-3.6.6-1.fc29.x86_64
hunspell-1.6.2-3.fc29.x86_64
qt-4.8.7-44.fc29.i686
...
2.75 1 1 1 1 1 1 1 1 1 1 Rating 2.75 (4 Votes)

Понадобилось на тестовой машине запилить один bash скрипт, иногда под это дело использую SublimeText, короче - в какой-то момент мне попался скрипт rmate, для Sublime есть плагин, который называется rsub, все это в купе, позволяет запускать на редактирование файлы, с удаленной машины, которые будут открываться локально в SublimeText.

Rsub можно установить при помощи Package Control - Install package - rsub, далее подключиться к удаленной машине по ssh:

ssh -R 52698:localhost:52698 user@server

Установка, использование rmate

После подключения к серверу необходимо загрузить скрипт из git репы:

wget -O /usr/local/bin/rmate https://raw.githubusercontent.com/aurora/rmate/master/rmate
4 1 1 1 1 1 1 1 1 1 1 Rating 4.00 (1 Vote)

Довольно часто приходится заглядывать в файлы при работе в Linux системах, иногда необходимо просто просмотреть содержимое файлов, без использования какого-либо тексового или иного редактора.

Ниже решил подоборать несколько довольно часто используемых команд, для просмотра содержимого текстовых файлов, конфигов и т.п.

Cat

Самое наверное часто-используемая, достаточно просто используется:

cat rpm-list.txt 

Результат:

intltool-0.51.0-13.fc29.noarch
libreport-plugin-logger-2.10.0-1.fc29.x86_64
lame-libs-3.100-4.fc29.x86_64
libreoffice-langpack-en-6.1.5.2-4.fc29.x86_64
perl-Pod-Checker-1.73-417.fc29.noarch
php-php-gettext-1.0.12-5.fc29.noarch
libcmis-0.5.2-1.fc29.x86_64
...

В том числе, к примеру позволяет просмотреть вывод с нумерацией строк:

cat -n rpm-list.txt
     1	intltool-0.51.0-13.fc29.noarch
     2	libreport-plugin-logger-2.10.0-1.fc29.x86_64
     3	lame-libs-3.100-4.fc29.x86_64
     4	libreoffice-langpack-en-6.1.5.2-4.fc29.x86_64
     5	perl-Pod-Checker-1.73-417.fc29.noarch
     6	php-php-gettext-1.0.12-5.fc29.noarch
     7	libcmis-0.5.2-1.fc29.x86_64
4 1 1 1 1 1 1 1 1 1 1 Rating 4.00 (1 Vote)

wireguardЧто характерно - поднимается все это VPN хозяйство на CentOS (и иных дистрибутивах, коих порядка ~20 в списке, включая даже OpenWRT) буквально в считанные минуты.

Кратко о том, что такое WireGuard - быстрый, простой инструмент для построения VPN сетей, на столько все быстро и просто все "поднимается", что даже не верится, что это нечто сложное, что под капотом скрыты алгоритмы шифрования или что-то еще, что обеспечивает безопасность и скорость содинения. На официальном сайте приведены бенчмарки, графики вполне впечатляющие... Я сам уже какое-то время использую WireGuard и вполне доволен, НО сами разработчики называют это экспериментом, поэтому если не в проде, то в тестовой среде, как минимум это стоит попробовать.

Далее кратко, пошагово расскажу как поднять VPN на своем CentOS VPS...

Установка WireGuard VPN в CentOS

Загрузить repo-файл:

curl -Lo /etc/yum.repos.d/wireguard.repo https://copr.fedorainfracloud.org/coprs/jdoss/wireguard/repo/epel-7/jdoss-wireguard-epel-7.repo

Установить нужный софт:

yum install nano epel-release -y && yum install wireguard-dkms wireguard-tools qrencode -y

Добавить, проверить модули ядра:

modprobe wireguard && lsmod | grep wireguard
4.3333333333333 1 1 1 1 1 1 1 1 1 1 Rating 4.33 (3 Votes)

Понадобилось синхронизировать файлы с локального диска в OneDrive и обратно. Нашел, протестировал инструмент - работает, собственно об этом пойдет речь ниже. 

Сама тулза написана на языке D, по сути весь экшн-план по установке состоит из компиляции, установке onedrive и взаимосвязанных служб.

Onedrive в Linux

Скажу сразу - это не официальный клиент, беглый осмотр исходного кода не показал каких-либо пюрешек, поэтому собственно решено было этот клиент попробовать. По сути onedrive это CLI-утилита, может работать в Ubuntu, Fedora, Arch, может синхронизировать каталоги, файлы, устанавливается и настраивается довольно просто, ниже пойдет речь про Fedora, но  в репе проекта есть инструкции по установке в других дистрах.

Установка

Необходимо установить пару devel библиотек и поддержку git:

dnf install libcurl-devel sqlite-devel git

Загрузить интерпретатор D, он загрузится, его можно будет активировать, после компиляции проекта, деактивировать:

curl -fsS https://dlang.org/install.sh | bash -s dmd

Клонировать проект с GitHub:

git clone https://github.com/abraunegg/onedrive.git
4 1 1 1 1 1 1 1 1 1 1 Rating 4.00 (1 Vote)

Предположим в какой-то момент была склонирована репа по https ссылке, например:

https://github.com/user/repo.git

Проверить статус url репы можно при помощи команды:

git remote -v
4.5 1 1 1 1 1 1 1 1 1 1 Rating 4.50 (2 Votes)

Альтернативное CLI для DNF, предназначенное для выполнения автоматических действий, таких как - уведомление о обновлениях. загрузка обновлений, установка обновлений. Работа с этим инструментом регламентируется специальным конфигом - /etc/dnf/automatic.conf или функциональными таймерами:

  • dnf-automatic-notifyonly
  • dnf-automatic-download
  • dnf-automatic-install

Собственно выбранный таймер может синхронизировать метаданные пакетов, проверять наличие обновлений, затем может уведомлять, загружать, устанавливать пакеты, уведомлять посредством почты или например MOTD сообщений. Что характерно таймеры и сам конфиг могут работать независимо друг от друга, соответственно:

  • notifyonly - будет уведомлять  через известные методы уведомлений
  • download - будет загружать обновления
  • install - будет устанавливать обновления

Установка dnf-automatic

Устанавливается из стандартных репозиториев Fedora:

dnf install dnf-automatic
4.5 1 1 1 1 1 1 1 1 1 1 Rating 4.50 (2 Votes)

TRIM нужен для минимизации моментов связанных с деградацией производительности на SSD дисках, по сути эта функция позволяет уведомить твердотельный накопитель о том, какие блоки данных не несут полезной нагрузки и их можно не хранить физически.

Поддержку TRIM можно посмотреть используя lsblk:

lsblk --discard

Все диски, где в колонках DISC-MAX / DISC-GRAN не будет по нулям, это значит, что диски поддерживают TRIM:

lsblk --discard
NAME   DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO
sda           0        0B       0B         0
├─sda1        0        0B       0B         0
...
sdb           0        0B       0B         0
└─sdb1        0        0B       0B         0
sdc           0        0B       0B         0
├─sdc1        0        0B       0B         0
...
sdd           0      512B       2G         0
├─sdd1        0      512B       2G         0
...
2.6666666666667 1 1 1 1 1 1 1 1 1 1 Rating 2.67 (3 Votes)

В стандартном bash окружении алиас можно указать например в .bashrc или .bash_aliaces, кто не знает что такое алиас (alias) - это псевдоним команды или списка команд, например есть такая вот команда:

systemctl restart NetworkManager

Для нее можно создать алиас, допустим restart-nm... Коротко, быстро. Ниже рассмотрим, как создавать псевдонимы в fish shell.

Создать alias в fish shell

Алиас можно указать прям из терминала:

alias restart-nm 'systemctl restart NetworkManager'
4 1 1 1 1 1 1 1 1 1 1 Rating 4.00 (1 Vote)

Логированием вводимых команд в Linux терминале можно преследовать ряд целей, например отправка такого рода логов на syslog сервер, для аудита, исторической хронологии... Типичная ситуация - на одном сервере работает несколько админов, программеров, просто людей. Все эти люди выполняют различные команды, что-то делают, а потом с удивленным лицом говорят - я этого не делал :)

Включение логирования

Логирование вводимых команд можно настроить индивидуально для каждого пользователя в файле ~/.bash_profile или глобально для всех в файле /etc/profile, для этого достаточно поместить в файл настроек профиля скрипт (допустим это файл настроек конкретного пользователя ~/.bash_profile)

4 1 1 1 1 1 1 1 1 1 1 Rating 4.00 (1 Vote)

Информация по установке Nodejs в Linux, в моем случае для CentOS / Fedora есть на офф сайте Nodejs.org, но эта информация немного размыта на мой взгляд, ниже пошагово расскажу как установить нод джс в своем дистре.

Для начала хочется сказать, что в природе существует официальный node.js yum репозиторий, на сегодня это версия Node 11.x.

Добавление репозитория Node.js

Установка необходимых пакетов:

yum install -y gcc-c++ make
3.5 1 1 1 1 1 1 1 1 1 1 Rating 3.50 (2 Votes)

Скачал ttf и что делать дальше? Как что - устанавливать в свой Linux и  использовать :) Глобально шрифты расположены в каталоге /usr/share/fonts/, но обычно, если возникает необходимость использовать кастомный шрифт, эта необходимость вызвана именно с пользовательской точки зрения, для использования в например в GIMP'е и т.п. то файлы шрифта можно располагать в каталог:

/usr/share/fonts/<fontname>

Для некоторых систем (например Ubuntu) здесь:

/usr/local/share/fonts

Для конкретного пользователя в каталог:

~/.local/share/fonts

Установка шрифта для пользователя

Необходимо создать каталог (если его еще нет):

mkdir -p ~/.local/share/fonts
4 1 1 1 1 1 1 1 1 1 1 Rating 4.00 (1 Vote)

Сообщение о небезопасном соединении к удаленному VNC хосту, как минимум немного напрягает... Предположим есть VNC сервер, при попытке подключиться к нему при помощи TigerVNC Viewer у клиента возникает сообщение This connection is not secure

vnc connection not secure

4 1 1 1 1 1 1 1 1 1 1 Rating 4.00 (1 Vote)

Представим есть каталог с Node.js приложением, как пример приложение из статьи Установка Node.js в CentOS / Fedora, для него нужно создать systemd service юнит, т.е обычный сервис...

Для этого необходимо создать юнит-файл в каталоге:

cd /etc/systemd/system/
4 1 1 1 1 1 1 1 1 1 1 Rating 4.00 (1 Vote)

Допустим есть несколько дисков mpathf1 и mpathc2 по 100Гб каждый, эти диски можно объединить в один, с общей суммарной емкостью в 200Гб, далее пошагово.

Создаем физический том:

pvcreate /dev/mapper/mpathf1 /dev/mapper/mpathc2

Создаем группу томов:

vgcreate VG_DATA /dev/mapper/mpathf1 /dev/mapper/mpathc2
3 1 1 1 1 1 1 1 1 1 1 Rating 3.00 (1 Vote)

Отличная связка nginx + php-fpm - работает быстро, настраивается быстро, разворачивается быстро, при работе с php по мне так, это отличная связка. Весь материал из данной статьи - настройка домашнего LEMP сервера для тестовых нужд т.е. ниже расскажу как развернуть такой стек, создать демо-страницу или страницы. По сути чтение + воплощение стати в жизнь, примерно 5 - 10 минут, в конце сатьти представлен рабочий скрипт, который создает, удаляет, отображает существующие сайты.

Установка Nginx + Php-fpm

Устанавливаем необходимые пакеты (собственно сам стек):

dnf install nginx php-fpm php-common

Стартуем, включаем nginx:

systemctl enable nginx && systemctl start nginx

Сейчас 218 гостей и ни одного зарегистрированного пользователя на сайте

Вверх
Вниз