27/04/2021

Vim Commands Cheat Sheet / памятка по командам

 

Хороший справочник: http://www.fprintf.net/vimCheatSheet.html 

Как выходить:

q[uit] Quit Vim. This fails when changes have been made.
:q[uit]! Quit without writing.
:cq[uit] Quit always, without writing.
:wq Write the current file and exit.
:wq! Write the current file and exit always.
:wq {file} Write to {file}. Exit if not editing the last
:wq! {file} Write to {file} and exit always.
:[range]wq[!] [file] Same as above, but only write the lines in [range].
ZZ Write current file, if modified, and exit.
ZQ Quit current file and exit (same as ":q!").

 

Правка файла:

:e[dit] Edit the current file. This is useful to re-edit the current file, when it has been changed outside of Vim.
:e[dit]! Edit the current file always. Discard any changes to the current buffer. This is useful if you want to start all over again.
:e[dit] {file} Edit {file}.
:e[dit]! {file} Edit {file} always. Discard any changes to the current buffer.
gf Edit the file whose name is under or after the cursor. Mnemonic: "goto file".


Удаление текста:

<Del> or
x
Delete [count] characters under and after the cursor
X Delete [count] characters before the cursor
d{motion} Delete text that {motion} moves over
dd Delete [count] lines
D Delete the characters under the cursor until the end of the line
{Visual}x or
{Visual}d
Delete the highlighted text (for {Visual} see Selecting Text).
{Visual}CTRL-H or
{Visual}
When in Select mode: Delete the highlighted text
{Visual}X or
{Visual}D
Delete the highlighted lines
:[range]d[elete] Delete [range] lines (default: current line)
:[range]d[elete] {count} Delete {count} lines, starting with [range]















Bash Aliases: удобства в Linux под себя

    Для того, чтобы установить какой-то пакет в Debian/Ubuntu, обычно используется команда:

sudo apt-get install имя_пакета

    Эта длинная команда отбирает много времени, сил и энергии. Давайте упростим её при помощи alias;

alias Install="sudo apt-get install"

    Теперь устанавливать пакеты стало проще:

Install имя_пакета

    Таким же образом можно упростить остальные часто используемые моменты при управлении пакетами:

alias Update=”sudo apt-get update”
alias Upgrade=”sudo apt-get upgrade”
alias Search=”apt-cache search”
alias Autoremove=”sudo apt-get autoremove”
alias Autoclean=”sudo apt-get autoclean”
alias Purge=”sudo apt-get remove –purge”

Псевдонимы для «неудобных» клавиш

    На некоторых клавиатурах символ точки расположен крайне неудобно и если вы частенько им пользуетесь, начинают возникать различного рода неудобства. По этой причине автор иногда не может с первого раза корректно ввести команду 'cd …' и предлагает таким же как он исправить ситуацию при помощи псевдонимов (вместо точки, само-собой, можно использовать что-нибудь другое, если вам так удобнее):

alias .=”cd ..”
alias ..=”cd ../..”
alias ...=”cd ../../..”
alias ....=”cd ../../../..”

Упрощаем сложные команды

    Сложные команды не только трудны для запоминания, но ещё и требуют много времени на их ввод. Если вы пользуетесь сложными командами каждый день, это рано или поздно начнёт вас утомлять и раздражать. Не лучше ли сделать псевдонимы для таких команд и перестать морочить себе голову?

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

alias top10files=”find . -type f -exec ls -sh {} \; | sort -n -r | head -10”

 

Статистика команд

    Команда для просмотра самых используемых команд в системе (без учета истории mc) 

В свое время нашел в интернете и теперь использую:

history | awk '{CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a;}' | grep -v "./" | column -c3 -s " " -t | sort -nr | nl |  head -n10

 

 

 

26/04/2021

Запуск iperf как сервис systemd

 

 

/etc/systemd/system/iperfd.service
[Unit]
Description=iPerf Service
After=network.target
 
[Service]
Type=forking
PIDFile=/var/run/iperf3.pid
ExecStart=-/bin/iperf3 -s -D -I /var/run/iperf3.pid
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
 
[Install]
WantedBy=multi-user.target

 

26/02/2021

WorkShop от IPMATIKA по оборудованию Yealink

 

     Решил написать по впечатлениям от однодневного обучения. Отлично, когда такое проводят дестрибьютеры. Есть чему поучиться и узнать новинки ,какие-нить плюшки, фичи, да и вообще пообщаться в сообществе единомышленников.

     Свое изучение я правда начал не с телефонов, а с АТС Yeastar S100


Login: admin

Password: password



Станция оставляет приятное впечатление.

Сделана разумеется на базе Астериска, но визуально и логически закончена.

Конечно залез под капот, но так уж необходимости нет

Инструменты отладки есть: можно снять дамп прям из веб, ping, ловить конкретный порт и т д

Нельзя было из веб залезть в консоль астера как на фрипбх, но это-то по факту я толком и в ней не использовал.






 

Вот тут нюанс, который не нашел сходу в документации:


Не пускала к себе станция по SSH, хотя вроде и порт тот, и доступ открыл и при включении пароль создал, а все никак.

Разгадка проста и тривиальна.

Login: support

Password: задается пи включении доступа


Как видите интерфейс милый

Хотя если мое мнение, то Еалинк много уделяет времени чтобы соедениться с Еастар и 3СХ

Да их линейкак АТС достаточно интересная и законченая, да, есть определенная популярность и 3СХ у нас в России, но все это не то по сравнению с Астериском. Лично их всегда так воспринимал - универсальный и надежный телефон к астеру, как собственно и Фанвил. 

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

Может компании смотреть все же в эту сторону.

Хотя есть у них интересное решение и все как я люблю:



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

Вот такую маленькую фичу попробовали, вроде мелочь, а интересно:

image.png


Теперь пишем в строке: http://IP-адрес/screencapture

И если все правильно сделали, то нам дадут такую пикчу:




22/01/2021

AVAYA: экспорт подключений к АТС

 

    Если  управляешь болшим количеством станций и из разных мест, дом, работа с несколькими терминалами или отладки на стендах, то ручками вносить по 10-100 АТС не вариант.

    Как такое сделать с AVAYA? Как оказалось просто!

    Вот пусть с данными подключения, бэкапами, импортами и всем всем что только может понадобиться:

C:\Users\a.cherkasov\AppData\Roaming\Avaya\Site Administration\user

    Нам нужны три файла ,которые отвечают в ASA за настройки подключения к АТС:

- ButtonLabelPrintData.dat

- persist.dat

- TemplateData.dat





AVAYA: Пренабор для удобства выхода в город или ограничения extension

 

    Иногда у клиентов стаят страрые понасоники, нет смециалистов по телефонии и все что есть это атс по схеме дайте нам штуки три линии, а у нас будет 8 аппаратов. Ходят такие клиент от БЦ к БЦ и бывает отключаясь в одном месте через полгода-год включаем его же, но уже в другом конце москвы. Зачастую неудобно им набирать пару раз 9 для выхода в город, подвисает из-за этого что-то где-то и т д или же наоборот, надо чтоб сразу выходили вгород и по внутреннем не звонили - актуально для работающих заводов и иных предприятий, которые сдают площадя под коммерцию


Для таких целей или подобных в Авайи есть: abbreviated-dialing 

Дословно можно перевести как Сокращенный набор номера

Он есть нескольких уровней Personal Group System

 Прежде чем воспользуемся им, его надо активировать:

    ch system-parameters customer-options, 

        =>стр 2: Abbreviated Dialing Enhanced  List? Y

 

Теперь заводим лист по которому будем настраивать

add abbreviated-dialing sys:  

 

Здесь два кода

1) выход в город, очевидно

2) второй доступ к набору кодов из первого листа abbreviated-dialing

PS

 



Теперь активируем на нужном абоненте:

Как видите диалингов может быть много и разных

В даном случае лист системный, а вот в Hot Line Destination мы видим, что

это первый лис и первый в нем код наберется при поднятии трубки.


    Не сказать что часто это нужно, но стабильно периодически при администрировании АТС. 


Могут быть проблемы с CORами, видно в трассе, что ограничен доступ

Time            data

12:14:20     tone-receiver     02D0106 cid 0x144
12:14:20     active station    9184 cid 0x144
12:14:23     dial 6
12:14:23     denial event 1732: Caller COR Restricted D1=0x321 D2=0x144
12:14:23     dial 6
12:14:23     denial station    9184 cid 0x144

Проблема с графикой NVIDIA Ubuntu 20.04

 

        На днях кашилась графическая среда в моей любимой Убунте. Симптомы страшные:

- не прогружатся графика

- переходя на соседнии TTY через три секунды гаснет экран и снова надо заходить...минут 5 логинился.

В остальном система работает исправно и удаленно по SSH логиинился с телефона нормально.

    Обнавления и тесты не дали информаци




 

Пробовать начал откатить драйвера:

 sudo apt purge nvidia*
 sudo dpkg-reconfigure xserver-xorg
 sudo reboot 

 Не помогло, но, загружаясь из безопасного режима, как-то получал частичную стабильнось.


 

Репутация надежости Линукс перед колегами стремительно падала, но я не отступал и продолжал борьбу.

Решилось поиском драйвера. У меня стоял nvidia-340, а в репозиториях все назывались: xserver-drivers-nvidia-XXX

Установил 390ый и все полетело.

При разборе понял что не совсем то поставил(с телефона плохо видно) - xserver-xorg-video-nvidia-390 и вместе с ним поставились еще и:

nvidia-utils-390

nvidia-kernel-source-390 

nvidia-kernel-common-390

и много чего другого, что и дало возможность запустить графическую среду - только прорисовка, но и она работала криво и с зависаниями.

 

 З.Ы.

Анамалии потом все были и глючило и зависало иногда. Выдечил приметивным способом

  • ubuntu-drivers devices
  • sudo ubuntu-drivers autoinstall

 И вышел обратно для моего чипсета

 └>ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00000422sv00001043sd00008254bc03sc00i00
vendor   : NVIDIA Corporation
model    : G86 [GeForce 8400 GS]
driver   : nvidia-340 - distro non-free recommended
driver   : xserver-xorg-video-nouveau - distro free builtin

Следующие пакеты будут УДАЛЕНЫ:
  libnvidia-cfg1-390 xserver-xorg-video-nvidia-390
Следующие НОВЫЕ пакеты будут установлены:
  nvidia-340
 

PPS

Проверяя DMESG заметил все равно ошибку:

nvidia: module verification failed: signature and/or required key missing - tainting kernel

Пока проверяю, грузится долго после перезагрузки, что не характерно,но все работает.

Провверил драйвер:

 vim /usr/share/X11/xorg.conf.d/nvidia-drm-outputclass-ubuntu.conf

 Section "OutputClass"
    Identifier "nvidia"
    MatchDriver "nvidia-drm"
    Driver "nvidia"
    ModulePath "/usr/lib/nvidia-340/xorg"
EndSection

lspci -k | grep -EA2 'VGA|3D'
01:00.0 VGA compatible controller: NVIDIA Corporation G86 [GeForce 8400 GS] (rev a1)
    Subsystem: ASUSTeK Computer Inc. G86 [GeForce 8400 GS]
    Kernel driver in use: nvidia

Говорят это не ошибка, так как безопасная загрузка отключена; Проприетарный видеодрайвер NVIDIA все еще работает.

Тулза работает и определена верно

 nvidia-settings -v

nvidia-settings:  version 440.82
  The NVIDIA X Server Settings tool.

  This program is used to configure the NVIDIA Linux graphics driver.
  For more detail, please see the nvidia-settings(1) man page.


 Запустив конфигуратор, выполнил бэкап настроек: .nvidia-settings-rc


komi-store

    Наконец магазин приложений есть и в GitHub Он разработан как инструмент для удобного управления релизами приложений с открытым исходным ...