Whereat, what, whither ?
Fast find, easy …
… upd 04.07.2019
###
Отображение нумерации строк в nano:
$ cp /etc/nanorc ~/.nanorc
$ nano ~/.nanorc
Добавим в файл:
set const
# set constantshow (устар.)
Теперь номера отображаются внизу терминала.
Если добавим
set linenumbers
то отображается нумерация слева от текста.
Вкл.выкл нумерацию строк - Alt+#
###
Также в nano:
Alt+U - undo;
Alt+E - redo;
Ctrl+W - find;
Alt+W - go on find;
Alt+\ - go start of file;
Alt+/ - go end of file;
Ctrl+K - cut and copy the selected text to the buffer, if no selected text, then all line or from a marker to the end of the line (Alt+K - select mode);
Alt+T - delete from a marker to the end of the file;
Alt+6 - copy selected text;
Ctrl-U - paste;
###
Удалить Cloud-Init из Ubuntu18.04 Server
$ echo 'datasource_list: [ None ]' | sudo -s tee /etc/cloud/cloud.cfg.d/90_dpkg.cfg
$ sudo apt purge cloud-init
$ sudo rm -rf /etc/cloud/
$ sudo rm -rf /var/lib/cloud/
$ sudo reboot
###
Вывести содержимое файла file, исключая пустые строки и строки начинающиеся с # или ;
egrep -v '^(#|;|$)' file
тоже самое, но еще исключить строки оканчивающиеся на *
egrep -v '^(#|;|$)' file | grep -v '*$'
вывести 4-ое поле строк, в которых первое поле не равно 0
awk '$1 != 0 {print $4}'только один пользователь имеет ID равный нулю, это root
awk -F: '{print $3}' /etc/passwd | grep -w "0"
вывод этой команды должен быть один ноль. Если больше, должен возникнуть вопрос подлома (…
или так
cat /etc/passwd | grep -w "0"
###
Монтирование директории в другую директорию
Linux:
mount --bind /dir/source /dir/destination
добавим если необходимо
nano /etc/fstab
/dir/source /dir/destination none bind 0 0
FreeBSD:
включаем options NULLFS
kldload nullfs.ko
далее
mount_nullfs /dir/source /dir/destination
добавим если необходимо
nano /etc/fstab
/dir/source /dir/destination none ro,bind 0 0
###
iptables
Блокировка пакетов с определенного ip-адреса или подсети
$ sudo iptables -A INPUT -s xxx.xxx.xxx.xxx/xx -j DROPУдаление правила из таблицы
$ sudo iptables -vnL --line-numbers
первый столбец - это порядковый номер правила - N
$ sudo iptables -D INPUT NСохранение правил
$ iptables-save > /home/user/iptables.rules # для "пожарного"
$ sudo -i
# iptables-save > /etc/iptables.rules
# exitДля применеия правил после перезагрузки
$ sudo nano /etc/crontab
Alt+/
@reboot root sleep 20 && iptables-restore < /etc/iptables.rules
Enter
Ctrl+o, Enter, Ctrl+x###
Передача публичного ssh ключа на удаленный хост
$ cat /home/user/.ssh/id_rsa.pub | ssh remote_user@remote.ip.add.ress "cat >> .ssh/authorized_keys"
###
Добавить дату в название файла
$ mv FILE_NAME.txt FILE_NAME-$(date +%y%m%d).txt###
cups на ubuntu-server 18.04 не слушает порт локальной сети при добавленной строке
Listen 192.168.1.*:631 в файле /etc/cups/cupsd.conf и соответственно не дает доступ к web-странице.
проблема решилась заменой на
Listen 0.0.0.0:631
и добавлением правила в ufw
sudo ufw allow from 192.168.1.0/24 to any port 631
##
Ошибка запуска сервиса pptpd после перезагрузки ubuntu 18.04
MGR: Couldn't create host socket
происходит по причине не установившегося соединения на сетевом интерфейсе
Лечение
$ sudo nano /etc/systemd/system/multi-user.target.wants/pptpd.service
меняем содержимое на
1 [Unit]
2 Description=PoPToP Point to Point Tunneling Server
3 Documentation=man:pptpd(8) man:pptpctrl(8) man:pptpd.conf(5)
4 Wants=network-online.target
5 After=network-online.target
6 After=network.target
7
8 [Service]
9 EnvironmentFile=-/etc/default/pptpd
10 RemainAfterExit=True
11 # don't daemonize to simplify stuff
12 ExecStart=/usr/sbin/pptpd --fg $DAEMON_OPTS
13
14 [Install]
15 WantedBy=multi-user.target
16Сохраняемся и применяем
$ sudo systemctl daemon-reload
Перезагружаемся и проверяем
##