В этой статье я собрал для себя много чего полезного для Linux Manjaro. А именно, Вы увидите много команд, ссылок, информации, которая поможет найти быстрые ответы при возникновении различных ситуаций с OS Linux Manjaro (и не только, а для всех семейств Unix System)... Данный материал может понадобиться, как новичку, так и профессионалу web-разработки, а также системным администраторам Linux.
chown -R user:group /home/user/dir/
где user — имя пользователя;
-R — значит рекурсивное выполнение команды (на все внутренние файлы и подпапки);
group — группа пользователя.
Пример:
chown -R user:user /home/user/dir/
$USER:$USER — также пользователь и его группа:
sudo chown -R $USER:$USER /etc/transmission-daemon/settings.json
Изменить права директории или файла:
chmod 744 /home/user/localhost/
Поиск файла:
find / -name 545_Multik.UseMind.ORG_kot-*
Записать список файлов папки в текстовый файл:
переходим в нужную папку:
cd /home/user/_ALL/Video/PINK_P/
вызываем команду записи названий всех файлов в текстовый файл:
ls > filenames.txt
Создать tar.gz архив со сжатием, включая все вложенные папки:
tar -zcvf 2020-06-12_ALL_W_DEV4.tar.gz /var/www/site.pro
При этом архив будет находится в папке /root
Распаковать архив в определенную папку:
tar -xvzf archive.tar.gz -C /path/to/my/folder
Поменять путь диска (disk path) в Linux с корявых таких штук [ссылка на оригинал вопроса | или такая ссылка на ArchWiki]:
/run/media/user/67b1220f-e04e-4d71-a6af-d5d5g4dfg0
на что-то человекопоняное:
/run/media/user/my-hdd
Возможно, перед тем, как выполнить эти команды, Вам придётся размонтировать раздел такой командой:
sudo umount /dev/sdc2
такой командой (если файловая система ext2/ext3/ext4):
sudo e2label /dev/sda3 my-hdd
если файловая система btrfs
btrfs filesystem label /dev/XXX <label>
for reiserfs:
reiserfstune -l <label> /dev/XXX
for jfs:
jfs_tune -L <label> /dev/XXX
for xfs:
xfs_admin -L <label> /dev/XXX
for fat/vfat (using dosfstools):
fatlabel /dev/XXX <label>
OR (using mtools):
mlabel -i /dev/XXX ::<label>
for exfat (you might need to install exfat-utils
first):
exfatlabel /dev/XXX <label>
for ntfs:
ntfslabel /dev/XXX <label>
for swap (first you need to swapoff
):
swaplabel -L <label> /dev/XXX
перед этим можно узнать какой именно диск у Вас тот самый, который примонтирован хешем:
df -h
вывод такой приблизительно:
Файловая система Размер Использовано Дост Использовано% Cмонтировано в
dev 2,9G 0 2,9G 0% /dev
run 2,9G 1,4M 2,9G 1% /run
/dev/dm-0 111G 35G 74G 32% /
tmpfs 2,9G 105M 2,8G 4% /dev/shm
/dev/loop0 44M 44M 0 100% /var/lib/snapd/snap/snapd/15177
/dev/loop4 44M 44M 0 100% /var/lib/snapd/snap/snapd/14978
/dev/loop1 100M 100M 0 100% /var/lib/snapd/snap/snowflake/2
/dev/loop3 56M 56M 0 100% /var/lib/snapd/snap/core18/2344
/dev/loop2 56M 56M 0 100% /var/lib/snapd/snap/core18/2284
tmpfs 2,9G 57M 2,9G 2% /tmp
/dev/dm-0 111G 35G 74G 32% /home
/dev/dm-0 111G 35G 74G 32% /var/cache
/dev/dm-0 111G 35G 74G 32% /var/log
tmpfs 594M 76K 594M 1% /run/user/1000
/dev/sda1 96G 53G 39G 58% /run/media/user/67b1220f-e04e-4d71-adfgert4502c0
/dev/sda3 7,2T 2,7T 4,1T 40% /run/media/user/hdd
/dev/sdc2 466G 392G 75G 85% /run/media/user/03845rfgrgfAD66A
МОНТИРОВАНИЕ РАЗДЕЛОВ LINUX
Какой диск сначала можно узнать (/dev/sdc1
, напр.) lsblk
mount -o defaults /dev/sdc1 /var/www/html/site.ex/4
mount -a
/var/www/html/site.ex/4
— это путь, куда монтировать
mount -a
— это, вроде, монтировать автоматически (при перезагрузке системы)
https://fsen.ru/linux/gpt-mbr
https://losst.ru/smotrim-spisok-diskov-linux
Как в manjaro вызвать строку поиска программ?
Alt+Space
Узнать версию программы:
nginx -v
или
ffmpeg -version
rmdir /my_folder
Пример:
rmdiv /home/use/folder
Другая команда, которую можно применить - это rm. Она предназначена для удаления файлов Linux, но может использоваться и для папок если ей передать опцию рекурсивного удаления -r:
Рекурсивное удаление: удалит также все подпапки и файлы внутри:
rm -R моя_папка
Пример:
rm -R /home/use/folder
Узнать, где хранятся бинарные файлы ffmpeg
which ffmpeg
rsync -avr -e ssh --progress /var/www/slagor/data/www/ slagor@91.234.35.81:/var/www/slagor/data/www
Эту команду нужно запустить по ssh на исходящем сервере (с которого мы копируем данные).
При этом утилита должна быть установлена на обеих серверах - если на каком-то она не установлена - установить ее можно командой apt-get install rsync
либо yum install rsync
Так вот эта команда скопирует содержимое папки /var/www/slagor/data/www/
в папку /www
пользователя slagor
на сервер 91.234.35.81
Еще инфа по rsync:
Для того, чтобы синхронизировать два сервера, необходимо выполнить следующую команду в rsync НА СТАРОМ СЕРВЕРЕ (откуда все будет копироваться):
rsync -avr -e ssh --progress /vps/var/www/ root@11.22.33.44:/var/www/html
где, по порядку:
/vps/var/www/
– Это папка сервера ОТКУДА все будет копироваться (на нем и выполняется эта команда для rsync)root@11.22.33.44:/var/www/html
– root
- имя пользователя для доступа на сервер КУДА копировать файлы11.22.33.44
– IP адрес сервера КУДА копировать:/var/www/html
— папка на сервере КУДА БУДЕМ копировать.
После выполнения команды, необходимо будет ввести пароль от сервера НА КОТОРЫЙ копировать (11.22.33.44)
apt-get install -y rsync
rsync с прогрессом:
rsync -avr -e ssh --progress /var/www/html root@1.2.3.4:/var/www/
passwd root
далее ввести НОВЫЙ пароль
apt install torbrowser-launcher -t buster-backports
apt install gnome-tweak-tool
apt install synaptic
df -h
curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python -
wget --output-document=/dev/null http://speedtest.wdc01.softlayer.com/downloads/test500.zip
cbm — утилита позволяет увидеть сетевой трафик в реальном времени:
apt-get install cbm
Увидим данные об объеме приема и передачи в секунду:
Interface Receive Transmit Total
lo 10.07 MB/s 10.07 MB/s 20.13 MB/s
eth0 73.15 kB/s 2.44 MB/s
старт:
sudo systemctl start nginx
перезапуск:
sudo systemctl restart nginx
стоп:
sudo systemctl stop nginx
тоже в Debian:
service php7.4-fpm restart
service php7.4-fpm stop
service php7.4-fpm start
жестко перезагрузить nginx, при этом разорвутся все соединения с освободится оперативная память:
service nginx restart
мягко перезагрузить nginx, при этом все открытые соединения останутся открытыми, подгрузится только обновленная конфигурация, если Вы вносили изменения; оперативная память при этом НЕ освободится:
service nginx reload
торрент-клиент для загрузки и отдачи файлов на Linux:
service transmission-daemon reload
service transmission-daemon stop
service transmission-daemon start
sysctl -w net.ipv4.icmp_echo_ignore_all=1
Узнать версию Linux
lsb_release -a
С помощью данной утилиты, Вы сможете узнать:
- загрузку CPU;
- загрузку RAM (оперативная память);
- нагрузку на HDD/SSD;
- увидеть скорость передачи данных по LAN портам (интернета прием и отдача);
- список запущенных процессов и используемые ими ресурсы...
Покажет нагрузку из журнала, ведущегося самой утилитой:
atop -r 20130826 -b 02:00
Если просто ввести:
atop
, то информация будет выводится каждые 5 секунд, что не очень удобно. Если Вы хотите ускорить процесс:
atop 1
где 1 — это обновление информации каждую 1 секунду.
Чтобы выйти из режима просмотра нагрузки в режиме реального времени, нажмите клавишу Q (на En раскладке клавиатуры).
Скрин:
смотрите также статью о https, dhparam.. в nginx
openssl dhparam -out /etc/nginx/crt/dhparam.pem 4096
при этом Вы должны указать путь к папке, где лежат файлы сертификатов certificate.crt (в нем должна быть цепочка сертификатов [сам сертификат и цепочка сертификатов]), private.key.
Цепочка сертификата должна идти сразу после самого сертификата:
echo | openssl s_client -alpn h2 -connect your-host:443 | grep ALPN
Информация о пакетном менеджере Linux Mangaro на русском
Узнать список всех установленных пакетов, без зависимостей:
pacman -Qe
Базовые операции:
Команды | Arch | Red Hat Fedora |
Debian Ubuntu |
SLES openSUSE |
Gentoo |
---|---|---|---|---|---|
Установить пакет по имени | pacman -S |
dnf install |
apt install |
zypper install or zypper in |
emerge [-a] |
Удалить пакет по имени | pacman -Rs |
dnf remove |
apt remove |
zypper remove or zypper rm |
emerge -vc |
Поиск пакета(-ов), выполнив поиск по названию, описанию, короткому описанию. Какие именно поля ищутся по умолчанию, зависит от каждого инструмента | pacman -Ss |
dnf search |
apt search |
zypper search or zypper se [-s] |
emerge -S |
Пакеты обновления - установите пакеты, в которых уже установлена более старая версия | pacman -Syu |
dnf upgrade |
apt update and then apt upgrade |
zypper update or zypper up |
emerge -uDN @world |
Пакеты обновления - еще одна форма команды обновления, которая может выполнять более сложные обновления, такие как обновления дистрибутива. Когда обычная команда update пропускает обновления пакетов, которые включают изменения в зависимостях, эта команда может выполнять эти обновления | pacman -Syu |
dnf distro-sync |
apt update and then apt dist-upgrade |
zypper dup |
emerge -uDN @world |
Очистить все локальные кэши. Параметры могут ограничивать то, что на самом деле очищается. autoclean удаляет только ненужную устаревшую информацию | pacman -Sc or pacman -Scc |
dnf clean all |
apt autoclean or apt clean |
zypper clean |
eclean distfiles |
Удаляет зависимости, которые больше не нужны, потому что, например, пакет, который нуждался в зависимостях, был удален | pacman -Qdtq | pacman -Rs - |
dnf autoremove |
apt autoremove |
zypper rm -u |
emerge --depclean |
Удалить пакеты, больше не включенные ни в какие репозитории | pacman -Qmq | pacman -Rs - |
dnf repoquery --extras |
aptitude purge '~o' |
||
Отметить пакет, ранее установленный как зависимость, как явное требование | pacman -D --asexplicit |
dnf mark install |
apt-mark manual |
emerge --select |
|
Установить пакет (-ы) как зависимость / без специальной пометки «требуется» (required) | pacman -S --asdeps |
dnf install and then dnf mark remove |
apt-mark auto |
emerge -1 |
|
Загружает только данный пакет (ы), не распаковывая и не устанавливая их | pacman -Sw |
dnf download |
apt install --download-only (into the package cache) or apt download (bypass the package cache) |
zypper --download-only |
emerge --fetchonly |
Запустите оболочку для ввода нескольких команд за один сеанс | apt-config shell |
zypper shell |
|||
Показать журнал действий, предпринятых руководством программного обеспечения. | read /var/log/pacman.log |
dnf history |
read /var/log/dpkg.log |
read /var/log/zypp/history |
read /var/log/portage |
Получите дамп всей системной информации - Prints, Saves или подробное текущее состояние системы управления пакетами. Предпочтительным выводом является текст или XML. (Примечание: почему - или здесь? Ни один инструмент не предлагает возможность выбрать выходной формат.) | see /var/lib/pacman/local |
see /var/lib/rpm/Packages |
apt-cache stats |
emerge --info |
|
электронная почта доставки пакетов изменений | apt install apt-listchanges |
Запрос конкретных пакетов
Команды | Arch | Red Hat Fedora |
Debian Ubuntu |
SLES openSUSE |
Gentoo |
---|---|---|---|---|---|
Показать всю или большую информацию о пакете. Детальность инструментов для команды по умолчанию варьируется. Но с опциями инструменты находятся на одном уровне друг с другом. | pacman -Si or pacman -Qi |
dnf list or dnf info |
apt show or apt-cache policy |
zypper info or zypper if |
emerge -S , emerge -pv or eix |
Отображение информации о локальном пакете: имя, версия, описание и т.д. | pacman -Qi |
rpm -qi / dnf info installed |
dpkg -s or aptitude show |
zypper info or rpm -qi |
emerge -pv or emerge -S |
Показать информацию об удаленном пакете: имя, версия, описание и т.д. | pacman -Si |
dnf info |
apt-cache show or aptitude show |
zypper info |
emerge -pv and emerge -S or equery meta |
Показать файлы, предоставленные локальным пакетом | pacman -Ql |
rpm -ql |
dpkg -L |
rpm -ql |
equery files or qlist |
Показать файлы, предоставленные удаленным пакетом | pacman -Fl |
dnf repoquery -l or repoquery -l (from package yum-utils) |
apt-file list |
pfl |
|
Запросить пакет, который предоставляет ФАЙЛ | pacman -Qo |
rpm -qf (installed only) or dnf provides (everything) or repoquery -f (from package yum-utils) |
dpkg -S or dlocate |
zypper search -f |
equery belongs or qfile |
Перечислите файлы, которые содержит пакет. Опять же, эта функциональность может быть имитирована другими более сложными командами | pacman -Ql or pacman -Fl |
dnf repoquery -l |
dpkg-query -L |
rpm -ql |
equery files or qlist |
Отображает пакеты. В основном это ярлык для поиска определенного поля. Другие инструменты могут предлагать эту функцию через команду поиска | pacman -F |
dnf provides |
apt-file search |
zypper what-provides or zypper wp |
equery belongs (only installed packages) or pfl |
Поиск по всем пакетам. auto-apt использует эту функцию | pacman -F |
dnf provides |
apt-file search |
zypper search -f |
equery belongs or qfile |
Показать список изменений пакета | pacman -Qc |
rpm -q --changelog |
apt-get changelog |
rpm -q --changelog |
equery changes -f |
Обновление системы и пакетов Debian:
обновление списка доступных пакетов:
apt update
запуск команды обновления пакетов:
apt upgrade
обновление дистрибутива
apt dist-upgrade
Список файлов директории папки [windows] вывести в текстовый файл:
cd /d D:\folder && dir /b /s > D:\folder\filelist.txt
где cd /d
— переместиться в каталог | D:\folder
- путь к каталогу | &&
— заодно выполнить следующую команду: /b /s >
куда сохранить файл (путь D:\folder\название файла.txt
)
Список файлов директории Linux:
cd /run/media/user/D/downloads/555_Elena-printsessa-avalora && ls -R > all_files.txt
где cd
— переход в необходимую директорию, && ls -R > название_файла.txt
— создание файла с нужным названием
Создать символическую ссылку:
ln -s /etc/nginx/sites-available/site.org.conf /etc/nginx/sites-enabled/
Manjaro:
конфигурация Wine:
winecfg
Напрочь удалить все следы пакета (программы):
sudo pacman -Rs название пакета && sudo pacman -Scc && sudo pacman -Rsn $(pacman -Qtdq)
Посмотреть системный журнал:
journalctl -xe
Обновление ключей
pacman-key --refresh-keys
Посмотреть список пакетов
pacman -Qdt
Получить информацию о пакете
pacman -Qi название_пакета
Обновить ключи
sudo pacman-key --init
sudo pacman-key --populate archlinux
sudo pacman-key --refresh-key
sudo pacman -Syy
Аккуратно удалить пакеты, без проверки и удаления всех зависимостей:
pacman -Rdd название_пакета
Убрать программу из автозапуска:
autostart pulseaudio-alsa
Проверить статус:
systemctl --user status название_пакета
Остановить:
systemctl --user stop название_пакета
systemctl --user stop название_пакета.socket
Отключить:
systemctl --user disable название_пакета
systemctl --user disable название_пакета.socket
Смотреть как установить PHP 7.4 на Debian 10.
MySQL (MariaDB).
MySQL удалить полностью папку, так как при удалении она может не удалиться:
rm -rf /var/lib/mysql/*
Сначала войти через SSH под root или Вашим пользователем, затем войти в MySQL (MariaDB):
mysql
Далее команды выполняются ИСКЛЮЧИТЕЛЬНО в среде исполнения команд MySQL (MariaDB)!
Удалить базу данных:
DROP {DATABASE | SCHEMA} [IF EXISTS] db-name
Сохранить резервную копию базы данных на диск:
mysql -u user_name -p db_name < /usr/local/file.sql;
Узнать какой пользователь сейчас активен:
SELECT CURRENT_USER();
Результат:
+----------------+
| CURRENT_USER() |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.016 sec)
Создать базу данных MySQL (или MariaDB аналогично):
CREATE DATABASE db_name;
Добавить пользователя:
CREATE USER 'user_name'@'localhost' IDENTIFIED BY 'tap_user_password';
Дать ему привилегии:
GRANT ALL ON db_name.* TO 'user_name'@'localhost' IDENTIFIED BY 'tap_user_password' WITH GRANT OPTION;
Сохранить привилегии:
FLUSH PRIVILEGES;
Изменить пароль для конкретного пользователя MySQL (MariaDB) [выполнить после "mysql"]:
SET PASSWORD FOR 'USER'@'localhost' = PASSWORD('NEW_PASSWORD');
Например:
SET PASSWORD FOR 'user0001'@'localhost' = PASSWORD('zxc098sdf45');
Чтобы выйти из управления MySQL (MariaDB), введите:
exit;