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

Приветствую. Довольно часто пишут о том, что для установки golang на ubuntu необходимо скачивать специальный архив и тд, однако в этом нет необходимости. Ибо! Достаточно ввести элементарную команду и скачать необходимое.

Для установки golang введите следующее в терминал:
sudo apt-get install golang-go
После чего у вас всё скачается, установится, и вы сразу сможете преступить к работе.

p.s. проверенно на Ubuntu 17.10

Перед покупкой SSD или HDD (винчестера) проверь его на наличие в черном списке ядра Linux

В коде ядра Linux можно посмотреть список SSD/HDD-дисков, с которыми известны проблемы, например, с выполнением trim, то есть для них эта операция не выполняется. То есть, например, известно, что фирмварь (прошивка микроконтроллера) этого диска багована в тех или иных местах, поэтому при выполнении определенных стандартных операций требуется особый подход.

В списке напротив каждого устройства указаны известные проблемы, например, ATA_HORKAGE_ZERO_AFTER_TRIM
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/ata/libata-core.c#n4400, начиная со строки 4400

Удалить остатки ранее удаленных пакетов в Ubuntu/Debian/Mint/Deepin

Когда мы делаем apt remove, то пакет удаляется, но не удаляются его конфиги (сборщик пакета указывает, какие файлы являются конфигами; речь о входящих в пакет конфигах, то есть содержимое домашней папки пользователя не затрагивается). apt purge удаляет и сам пакет, и конфиги и прочие его куски.

apt autoremove удаляет указанный пакет и пакеты-сироты, т.е. те пакеты, которые ранее были установлены автоматически как зависимости, теперь пакет, от них зависящий, уже удален, и эти пакеты больше никому не нужны. apt autoremove --purge делает все то же, что и autoremove, но еще и подчищает остатки пакета, как apt purge. Можно запустить просто apt autoremove или apt autoremove --purge, чтобы подчистить пакеты-сироты, а можно в конец этой команды дописать список пакетов, которые нужно удалить, тогда apt удалит их и подчистит все сироты в системе.

dpkg -l — в выводе этой команды ii в первом столбце означает, что пакет установлен, а rc означает, что он удален, но остались следы.
Давайте удалим следы всех ранее удаленных пакетов:
sudo apt autoremove --purge $(dpkg -l | grep ^rc | grep -v ^ii | awk '{print $2}' | tr '\n' ' ')

Вы можете поэкспериментировать и посмотреть, какой список пакетов выдаст команда, результат которой подставляется в предыдущую:
dpkg -l | grep ^rc | grep -v ^ii | awk '{print $2}' | tr '\n' ' '

Пример поиска информации в базе проб оборудования linux-hardware.org. Работает ли ACPI на Ryzen в GNU/Linux?

Захотел я проверить распространяемую яблочниками в одной группе Вконтакте порочащую репутацию GNU/Linux (дез)информацию, что ACPI якобы не работает на Ryzen в GNU/Linux.

Ищем райзены в базе оборудования: https://linux-hardware.org/index.php?view=search&name=ryzen&typeid=all#list
Берем первый попавшийся комп, например, https://linux-hardware.org/index.php?probe=2574b6dc38
Открываем лог cpupower из него https://linux-hardware.org/index.php?probe=2574b6dc38&log=cpupower, где прямым текстом написано, что ACPI работает, и в момент снятия лога проц работал на частоте 1.55 ГГц из доступной 3.20 ГГЦ.

frequency-info
--------------
analyzing CPU 0:
driver: acpi-cpufreq
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: Cannot determine or is not supported.
hardware limits: 1.55 GHz - 3.20 GHz
available frequency steps: 3.20 GHz, 2.80 GHz, 1.55 GHz
available cpufreq governors: conservative userspace powersave ondemand performance schedutil
current policy: frequency should be within 1.55 GHz and 3.20 GHz.
The governor "ondemand" may decide which speed to use
within this range.
current CPU frequency: 1.55 GHz (asserted by call to hardware)

Отсутствует 32-битная libncurses.so.5 на Arch Linux/Manjaro/Antegros

Приветствую. Информация для дистрибутива Arch linux. Если у вас в ошибке указывается отсутствие 32-битной библиотеки libncurses.so.5 (например, при запуске некоторых игр через wine), то решение следующее:
1) Добавляем ключ, необходимый для сборки библиотеки: gpg --keyserver pgp.mit.edu --recv-keys F7E48EDB
2) Через AUR ставить данное: yaourt lib32-ncurses5-compat-libs
3) Всё, проблема решена, можно играть (и не только) спокойно.

fsck и systemd при запуске системы

Последняя колонка /etc/fstab, 0 — не проверять fsck при монтировании, 1 — проверять в первую очередь, 2 — проверять.
https://wiki.archlinux.org/index.php/fsck#fstab_options

fsck выполняет проверку файловой системы на ошибки.

fsck при монтировании выполняется средствами systemd, https://www.freedesktop.org/software/systemd/man/systemd-fsck@.service.html
Корневая ФС часто проверяется (fsck) в initramfs

systemd-fsck не разбирается, надо ли проверять ФС , а прсото передает управление соответствующей программе проверки, которая для каждой ФС своя, а программа дальше сама разбирается.

Если эта программа возвращает код != 0, то есть ошибку (например, найдены ошибки файловой системы, и автоматически они не исправлены), то, если в /etc/fstab для этой точки монтирования нет параметра nofail, то вместо нормальной загрузки системы грузится режим востсановления, голая консоль.

Если в /etc/default/grub или иными способами ядро Linux грузится с парметрами quite splash, то есть включен Plymouth для красивой картинки вместо бегущей командной строки загрузки ядра до иксов и DE, то часто вместо консоли при ошибке просто черный экран без работающего переключения между tty (atl+ctrl+f1..12), поэтому quite splash лучше убрать из параметров запуска ядра (в случае редактирования /etc/default/grub после этого нужно сделать update-grub).

Если выполнить команду cat /proc/cmdline, то увидите там ro, то есть при запуске ОС корень монтируется сначала в read-only, только чтение, и только потом, после fsck и всего остального, он перемонтируется в rw — read-write, чтение и запись.

По последней ссылке также описан параметр fsck.repair=, по умолчанию preen, то есть автоматически fsck устраняет только те ошибки, которые могут быть устарнены автоматически безопасно и без риска потери данных, можно задать yes для автоматического утвердительного ответа на все вопросы fsck.

Как добавить модуль ядра в initrd ALT Linux

Установил ALT Рабочая станция К 8.2 на планшет на память eMMC (определяется в Linux как /dev/mmcblk0). Перезагрузил, а не запускается, висит на заставке Plymouth. Нажал escape и прочитал ошибку:
EXT4-fs (mmcblk0p4): Cannot load crc32c driver

Читать далее Как добавить модуль ядра в initrd ALT Linux

Почему я использую Ubuntu на десктопах, планшете, ноутбуках и серверах

Ubuntu 17.10 + XFCE + Dolphin. Именно Ubuntu потому, что на ней все просто работает, я могу и в кишках системы покапаться, изучить ее внутреннее устрйоство или подебажить проблему, могу и пакет собрать или пересобрать существующий, но и могу спокойно заняться чем-то другим, начиная от несвязанных с программированием вещей и заканчивая непосредственно программированием, например, https://github.com/mikhailnov/dumacast (на сильно большее пока не способен, к сожалению, но еще ядро для планшета поверхностно ковыряю), не отвлекаясь на посторонние вещи, как постоянно приходилось на Росе: то пакета нет, то что-то сломано, а то что-то внезапно ломается в произвольное время после обновления (например, Kazam).
А еще это единая платформа для десктопов, планшета (у меня на Chuwi Hi12 — Ubuntu), ноутбуков и серверов. На серверах Ubuntu тоже позволяет не отвлекаться на ерунду, т.к. в ней и ее пакетах уже сделано много того, что в какой-нибудь CentOS нужно делать вручную. Единая платформа важна, чтобы уметь работать с одной системой, например, с пакетным менеджером, но делать это хорошо и быть способным что-то починить на коленке.

Дебиановская пакетная система и набор утилит для работы с пакетами — шикарны! И они есть в Ubuntu. Никакой pacman из Arch и рядом не курил.

Восстановление пакетов на Archlinux/Manjaro

Получение списка установленных пакетов для быстрого восстановления системы с помощью pacman.
Хорошей практикой является сохранение списка всех установленных пакетов. Если ваша система «упала» и её сложно восстановить, pacman может легко переустановить эти пакеты.

Сначала сохраните в список пакеты (доступные в репозитории):

pacman -Qqe | grep -v "$(pacman -Qmq)" > pkglist

Безопасная, но и более сложная альтернатива (во избежание удаления частичных совпадений):

comm -13 <(pacman -Qmq | sort) <(pacman -Qqe | sort) > pkglist

Сохраните этот файл на флэшке или на другом носителе.

Скопируйте файл pkglist в новую систему, перейдите в эту папку. Для восстановления используйте команду:

pacman -S $(cat pkglist)

Хочу заметить, для восстановления программ, установленных из aur, этот метод не работает.

Дополнение от Ивана Архипова
Получение списка пакетов установленных и из AUR:

sudo pacman -Qe > pkglist2

Восстановление:

yaourt -S $(cat pkglist2)

Автор: Олег Плужник
Другие публикации статьи: vk.com/nixscript

Выводим в терминале построчно все синонимы или антонимы к заданному слову в английском языке

Выводим в терминале построчно все синонимы к заданному слову в английском языке:
$ wn eliminate -synsv -synsa -synsn -synsr | grep -E '=>' | awk -F '=>' '{print $2}' | sed 's/, /\n/g' | sed 's/ //g'
где eliminate — заданное слово.
Программа wn входит в пакет wordnet (sudo urpmi wordnet / sudo apt install wordnet).

Аналогично для антонимов:
$ wn eliminate -antsv -antsa -antsn -antsr | grep -E '=>' | awk -F '=>' '{print $2}' | sed 's/, /\n/g' | sed 's/ //g'

Если почитаете man wn, то узнаете, что a — прилагательные, v — глаголы, n — существительные, r — наречия, а выше мы ищем все части речи сразу.

Пример:

user@ChuwiHi12-Linux:~$ wn eliminate -synsv | grep -E '=>' | awk -F '=>' '{print $2}' | sed 's/, /\n/g' | sed 's/ //g'
destroy
destruct
kill
exhaust
discharge
expel
eject
release
beat
beatout
crush
shell
trounce
vanquish
remove
take
takeaway
withdraw