Решено: не устанавливается Docker CE

Вы следуете точно по инструкции с официального сайта Docker, например, по такой: https://docs.docker.com/install/linux/docker-ce/debian/, и, при попытке установить docker-ce, получаете ошибку:

Пакет docker-ce недоступен, но упомянут в списке зависимостей другого пакета.
Это может означать, что пакет отсутствует, устарел, или доступен из источников, не упомянутых в sources.list

E: Для пакета «docker-ce» не найден кандидат на установку

Вы думаете, какого блин, начинаете искать альтернативные пути установки, устанавливаете по конкретной версии, через deb пакет. Может даже пытаетесь установить ядро посвежее. Но ничего не помогает?

Возможно у вас VPS сервер на платформе OpenVZ, на которой нет доступа к модулям и конфигурации ядра, в связи с чем установить на такой сервер Docker нельзя. Такие дела! Нужен VPS сервер на платформе KVM.

Решение: Qt Creator «Отсутствуют подходящие комплекты»

Если при попытке собрать проект, вы обнаруживаете, что нет неких комплектов для сборки, то похоже, что вы установили qtcreator без SDK. Поэтому нужно сделать следующее:

apt install qt-sdk

И перезапустить Qt Creator.

Если после этого при компиляции возникнет ошибка «qt creator needs a compiler setup to build», то выберите в параметрах компилятор:

Итоги 2017 года

Сейчас все подводят итоги уходящего года, ну а чем я лучше. В конце 2016 был недоволен тем, что ничего особенного не сделал, и решил поставить цели на 2017 год. Цели, конечно, были несколько амбициозны, но многие таки совершились.
1) Пожалуй, самое значимое событие года, это смена работы;
2) Не менее важное событие — решимость пойти учиться на права и таки выучился, да получил права;
3) Вы будете смеяться, но одной из цели на год было собрать Lamborghini Murcielago SV в масштабе. Это особенный для меня автомобиль, и я не просто собрал Мурси, а сделал это трижды, причём стоковую версию даже не думал начинать, ибо предыдущий опыт несколько лет назад оставил негативные впечатления, но таки получилось;
4) А ещё впервые в этом году увидел и потрогал вживую енота 🙂 И не одного. И не раз, бгг;
5) Завёл инстаграмм и собрал ажно 300+ подписчиков. Спасибо вам!
6) За год собрал 21 модель, несколькими из которых, думаю, можно гордиться;
7) С карьерой пианиста закончено.
Чтобы вы не подумали, были и негативные моменты. Например, поставили ещё одно хроническое заболевание. Но буду надеяться, что всё будет ок.

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

В определённом каталоге

Быстрый подсчёт всех файлов и каталогов в указанном:

ls -f КАТАЛОГ | wc -l

Примечание: учитываются «.», «..» и все файлы и каталоги, начинающиеся с точки.

С учётом вложенных каталогов

Подсчёт только файлов в указанном и вложенных каталогах рекурсивно:

find КАТАЛОГ -type f | wc -l

Подсчёт только каталогов в указанном и вложенных рекурсивно:

find КАТАЛОГ -type d | wc -l

Засечь время выполнения команды в Linux

Иногда может быть полезным определить время выполнения команды. Сделать это можно с помощью команды time, подставив её в начале вызова. Примеры:

time zip -r /var/backups/etc.zip /etc/
time mysqldump -u backup -p`cat /home/dev/.extrahide.pas` extrahide > extrahide.sql

Лог запросов в MySQL

В разработке для отладки и тестирования может пригодиться логировать запросы в MySQL.

Воспользоваться этой возможностью легко, достаточно в конфигурационном файле MySQL (my.cnf) добавить в секцию mysqld следующее:

[mysqld]
...
general_log_file = /var/log/mysql/mysql.log
general_log = 1

И перезапустить сервер СУБД:

service mysql restart

Примечание: не применяйте данную опцию на продакшне, если не хотите в кратчайшие сроки забить всё свободное место логами запросов. Ну или настройте ротацию логов.

Получить статистику трафика и проверить загруженность сети в Linux

Первый инструмент — jnettop.

Показывает статистику трафика в реальном времени.

Установка:

apt install jnettop

Запуск:

jnettop

Второй инструмент — cbm.

Показывает загруженность сети.

Установка:

apt install cbm

Запуск:

cbm

На что обращаем внимание: не упирается ли трафик в возможности интерфейса, например, если интерфейс 100 Мбит, а средний трафик около 90 Мбит, то это плохо.

 

Как записать видео с экрана Linux в mp4

apt install recordmydesktop gtk-recordmydesktop ffmpeg

Запустить из меню программ RecordMyDesktop, заснять.

Затем полученный файл формата ogv сконвертировать в mp4 следующим образом:

ffmpeg -i ИМЯ_ФАЙЛА_ИСТОЧНИКА.ogv -c:v libx264 -preset veryslow -crf 22 -c:a libmp3lame -qscale:a 2 -ac 2 -ar 44100 ИМЯ_ФАЙЛА_РЕЗУЛЬТАТА.mp4

Объективный тест лампового усилителя с Aliexpress

Из Китая можно заказать различные ламповые усилители, как собранные, так и в виде наборов для сборки (KIT). Один из таких Kit’ов как раз попал мне в руки.

Я не буду говорить о «макро и микродинамике», о «прозрачности сцены» и «душевности вокала», а проведу объективный технический анализ с помощью бездушных графиков АЧХ, нелинейных искажений и термометра.

Читать дальше…

Как узнать кто и с каким ключом авторизовывался по ssh

Лог авторизации по ssh расположен по адресу /var/log/auth.log (либо его вариации типа /var/log/auth.log.1, /var/log/auth.log-20171020 при ротации логов). Если посмотреть его, то обнаружатся записи на подобии:

Oct 20 11:18:13 server sshd[27690]: Accepted publickey for denis from 127.0.0.1 port 1234 ssh2: RSA 12:34:56:78:90:ab:cd:ef:gh:ij:kl:mn:op:qr:st:uv
Oct 20 11:18:13 server sshd[27690]: pam_unix(sshd:session): session opened for user denis by (uid=0)
Oct 20 11:18:13 server systemd-logind[123]: New session 151 of user denis.
Oct 20 11:18:13 server systemd: pam_unix(systemd-user:session): session opened for user denis by (uid=0)

Трудность заключается в том, что мы видим, что под определённым IP (в примере выше 127.0.0.1) авторизовался клиент с помощью публичного ключа (publickey) под некоторым пользователем (denis), но какой именно клиент, а конкретнее — какой именно публичный ключ был использован для авторизации — не ясно.

Запись ssh2: RSA 12:34:56:78:90:… сходу нам ни о чём не говорит, ведь добавленные в ~/.ssh/authorized_keys публичные ключи имеют вид:

ssh-rsa AAAAAAAbnFij3rfsdoinsfdo3243SHDBSJJJS/*r3HJDD... email@server.loc

Что же делать, чтобы узнать кто конкретно из клиентов авторизовывался под анализируемыми пользователем и IP:

Читать дальше…