Linux - работа в консоли

Материал из First-Leon
Перейти к: навигация, поиск

Содержание

Посмотреть список поддерживаемых локалей

cat /usr/share/i18n/SUPPORTED | grep ^ru

Включение русской локали

echo ru_RU UTF-8 >> /var/lib/locales/supported.d/local
dpkg-reconfigure locales
echo LANG="ru_RU" >> /etc/environment
echo LANGUAGE="ru_RU:ru" >> /etc/environment

И еще тут можно глянуть.

Пересылка локальной почты на публичный почтовый сервер

apt-get  install ssmtp
mcedit  /etc/ssmtp/ssmtp.conf
root=myemail@gmail.com  
mailhub=smtp.gmail.com:465  
AuthUser=myemail
AuthPass=пароль_к_почтовому_ящику
rewriteDomain=gmail.com  
hostname=gmail.com  
FromLineOverride=YES  
UseTLS=YES
mcedit /etc/ssmtp/revaliases
root:myemail@gmail.com:smtp.gmail.com:465
www-data:myemail@gmail.com:smtp.gmail.com:465

Подсчет количества файлов в каталоге

ls | wc -l

Поддеживает ли процессор аппаратную виртуализацию

egrep '(vmx|svm)' --color=always /proc/cpuinfo

Предотвращение вывода

Подавление вывода на stdout.

cat $filename >/dev/null

Подавление вывода на stderr:

rm $badname 2>/dev/null

Подавление вывода, как на stdout, так и на stderr.

cat $filename 2>/dev/null >/dev/null
cat $filename 2>/dev/null 1>/dev/null
cat $filename &>/dev/null

Установка пакетов из бэкпортов

apt-get -t lenny-backports install “package”

Удаленная перезагрузка Linux

echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger
Полный список магических сочетаний клавишь

Многопоточное сжатие

Упаковка:

tar -c directory_to_compress/ | pbzip2 -p4 -c > myfile.tar.bz2

Распаковка:

pbzip2 -dc myfile.tar.bz2 | tar x

Разрезать/склеить файл

split -b 1000m file.bz2 file_splitter
cat file_splitter* > file.bz2

Работа с дисковыми квотами

Включение поддержки квот для раздела

/dev/hda2      /boot     ext3    defaults,usrquota,grpquota    0   2

usrquota - включение квот для пользователя
grpquota - включение квот для группы

Проверка и включение квот

Команда quotacheck проверяет квотирование на всех файловых системах и создает необходимые файлы aquota.user и aquota.group, если их не существует. Также она может восстановить поврежденные файлы квот. Более подробно см. руководство man. Команда quotaon включает проверку квот. Пример показан в листинге. Следующие опции используются в обеих командах:

-a для всех файловых систем в /etc/fstab, для которых разрешено автоматическое монтирование
-u для пользовательских квот (установлено по умолчанию)
-g для групповых квот
-v для подробного вывода

Установка пределов квот

Типы лимитов квот

Soft Limit (мягкий предел) – указывает размер квоты на разделе. Вместе с льготным периодом (grace period), этот параметр работает как граница, при нарушени которой пользователь получает предупреждение.
Hard Limit (жесткий предел) – жесткий лимит работает только когда включен льготный период. Он определяем абсолютный предел через который пользователю нельзя перейти.
Grace period (льготный период) – выполненый с помошью команды edquota -t, льготный период это срок в течение которого будет активен мягкий предел. По истечению периода мягкий предел станет жестким.

Установка квот

Например для пользователя Admin

# edquota -u admin

Disk quotas for user admin (uid 1000):
Filesystem                 blocks soft  hard  inodes soft hard
/dev/mapper/VolGroup00-var 0      10000 12000 3      0    0

Копирование квот

# edquota -p ian gretchen tom greg

Массовое копирование переделов квот

edquota -p bob `awk -F: '$3 > 499 {print $1}' /etc/passwd`

Просмотр статуса использования квот

# repquota -a
 
*** Report for user quotas on device /dev/mapper/VolGroup00-var
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 295551 0 0 42582 0 0

Создание разделом, более 2-ух терабайт

http://wiki.enchtex.info/howto/gentoo/gentooinstallraid
http://habrahabr.ru/post/102007/

Работа со swap файлом

Создание:

dd if=/dev/zero of=/swap bs=1024 count=2048K

Разметка:

mkswap /swap

Включение:

swapon /swap

Автоматическое подключение при загрузке:

echo "/swap swap swap defaults 0 0" >> /etc/fstab

Докачка файлов по SCP

alias scprsync="rsync --partial --progress --rsh=ssh"

Использование rsync и нестандартный порт ssh-сервера

rsync -avz -e "ssh -p 1234" /local_folder/ user@host:/remote_folder/

Ускорение работы scp

Изменяем метод шифрации:

rsync -aHAXxv --numeric-ids --delete --progress -e "ssh -T -c arcfour -o Compression=no -x" <source_dir> user@host:/<dest_dir>

Удаление iptables правил по их номерам

Для отображения порядковых номеров iptables правил в списке необходимо использовать опцию --line-numbers. Например, просмотрим содержимое таблицы трансляции и правила, влияющие на пересылку пакетов между интерфейсами:

 iptables -L POSTROUTING -t nat -n -v --line-numbers
 iptables -L FORWARD -n -v --line-numbers

Удалим несколько записей по номеру:

 iptables -D FORWARD 55
 iptables -t nat -D POSTROUTING 15

Цепочку следует явно указывать, так как номера уникальны только в рамках каждой цепочки. Удалять следует внимательно и по одному элементу, так как после удаления следующие номера сдвигаются! Т.е., если вы хотели удалить в списке строки 15 и 25, удалять нужно, начиная с большего номера, иначе 25 запись после удаления 15 сменит номер на 24.

Насильственная перезагрузка linux

Такое часто бывает, когда отказывает диск, или начинаются проблемы с RAID массивом. Для форсирования перезагрузки сервера нам подойдет sysrq.

echo 3 > /proc/sys/vm/drop_caches
echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger

Выключение:

echo 3 > /proc/sys/vm/drop_caches
echo 1 > /proc/sys/kernel/sysrq
echo o > /proc/sysrq-trigger

Удаленное подключение к рабочему столу

Настройка в ubuntu, kubuntu 14.04:

apt-get install x11vnc

Генерируем пароль:

x11vnc -storepasswd yourpasswordhere /etc/x11vnc.pass

В файл /etc/init/x11vnc.conf:

start on login-session-start
script
x11vnc  -rfbauth /etc/x11vnc.pass -xkb -noxrecord -noxfixes -noxdamage -display :0 -auth /var/run/lightdm/root/:0 -forever -bg -o
/var/log/x11vnc.log
end script

Настройка в Kubuntu 15.04, 15.10

Устанавливаем сервис:

apt-get install x11vnc

Генерируем пароль:

x11vnc -storepasswd yourpasswordhere /etc/x11vnc.pass

В файл /lib/systemd/system/x11vnc.service:

[Unit]
Description=VNC Server for X11..
Requires=display-manager.service
After=display-manager.service

[Service]
Type=forking
ExecStart=/usr/bin/x11vnc  -rfbauth /etc/x11vnc.pass -xkb -noxrecord -noxfixes -noxdamage -auth /var/run/sddm/:0 -forever -bg -o /var/log/x11vnc.log

Потом выполняем:

systemctl enable x11vnc.service
systemctl daemon-reload
systemctl start x11vnc.service
systemctl status x11vnc.service 

Заморозка версии пакета

Отключает обновление заданного пакета:

echo -e "asterisk hold" | dpkg --set-selections

Настройка zram

apt-get install zram-config

Эмулятор cron

Эффективное копирование файлов по ssh

ssh root@host "tar --exclude="/proc/*" -cpf - /" | pv | tar xpf - -C /mnt/backup

pv используется для просмотра статистики копирования.

Настройка авторизации по отпечатку пальца

http://ubuntuforums.org/showthread.php?t=2175578 https://github.com/ars3niy/fprint_vfs5011 https://github.com/abbradar/fprint_vfs5011.git

Включение opcache в ubuntu 14.04

В файле /etc/php5/apache2/php.ini

opcache.enable=1
php5enmod opcache
service apache2 restart

Работа с Демонами. Включение, отключение, автозагрузка

Анализ старых логов с помощью Awstats

Проброс портов

Сервис rinetd. Пример:

# bindadress    bindport  connectaddress  connectport
10.10.10.128    123       127.0.1.1       123

Изменение даты создания файлов

find -print0 | xargs -0 touch -t201512301237

Сброс кэша файловой системы

Чтобы сбросить страничный кэш:

echo 1 > /proc/sys/vm/drop_caches

Чтобы сбросить кэши dentry и inodes:

echo 2 > /proc/sys/vm/drop_caches

Чтобы сбросить страничный кэш, dentry и inodes:

echo 3 > /proc/sys/vm/drop_caches

Проброс портов

Переброс удаленного порта на локальную машину

ssh -L 8081:<web-host>:80 user@<ssh-host>

Переброс локального порта или доступного нам по сети на удаленную машину

ssh -R 8081:<web-host>:80 user@<ssh-host>

Дополнительные параметры:

-f - переход в фоновый режим; 
-t - запуск консольного приложения на удаленном хосте 
-N запрет на выполнение удаленных команд 
-X - перенаправление всех запущенных X-приложений на ваш локальный X-сервер 
-p № - внешний порт SSH сервера