LINUX.ORG.RU

Избранные сообщения Imker

Origin

 , , , ,

Дарю инструкцию для интересующихся:

$ mkdir -p ${HOME}/Origin

В директории Origin создаём файл hchmod.c с содержимым:

#include <dlfcn.h>
#include <sys/stat.h>
#include <unistd.h>

int (*mkdir_real)(const char *pathname, mode_t mode) = NULL;
int (*chmod_real)(const char *pathname, mode_t mode) = NULL;
int (*fchmod_real)(int fd, mode_t mode) = NULL;

int mkdir(const char *pathname, mode_t mode){
  if ( mkdir_real == NULL ){
        mkdir_real = dlsym(RTLD_NEXT,"mkdir");
  }
return (mkdir_real(pathname, mode | S_IWUSR ));
}

int chmod(const char *pathname, mode_t mode){
  if ( chmod_real == NULL ){
        chmod_real = dlsym(RTLD_NEXT,"chmod");
  }
return (chmod_real(pathname, mode | S_IWUSR ));
}

int fchmod(int fd, mode_t mode){
  if ( fchmod_real == NULL ){
        fchmod_real = dlsym(RTLD_NEXT,"fchmod");
  }
return (fchmod_real(fd, mode | S_IWUSR ));
}
Собираем:
$ cd ${HOME}/Origin
$ gcc -shared -fPIC -D_GNU_SOURCE -o hchmod.so hchmod.c -ldl
Если вы уже безуспешно пытались установить Origin, то надо поправить права на папку:
$ chmod 755 "${HOME}/.wine/drive_c/Program Files (x86)/Origin"
или удалить её:
$ rm -R "${HOME}/.wine/drive_c/Program Files (x86)/Origin"
Качаем и устанавливаем Origin
$ wget https://download.dm.origin.com/origin/live/OriginSetup.exe
...
$ export LD_PRELOAD=${HOME}/Origin/hchmod.so 
$ wine OriginSetup.exe

Upd.: когда-то была ошибка входа, помогало это:

$ export LC_TIME=en_US.UTF-8
$ cd "$HOME/.wine/drive_c/Program Files (x86)/Origin/" 
$ wine Origin.exe

superuser
()

Готовые сборки Wine

 

Доступные сборки:

  • TkG - сборки, включающие в себя Staging патчсет, а также дополнительные патчи (в основном для улучшения производительности в играх).
  • Proton - сборки, собранные из исходников с репозитория ValveSoftware. По сути, это тот же Proton из Steam, только не требующий Steam Runtime для работы.
  • Staging - сборки с примененным Staging патчсетом. Содержат большое количество патчей, которых нет в обычном Wine.
  • Vanilla - обычный Wine из исходников с WineHQ, без каких-либо дополнительных патчей. В том числе есть Stable версии (2.0.x, 3.0.x, 4.0.x и т.д.).
  • Wayland - сборки с патчами для работы на Wayland (только для него, с Xorg они не работают совсем). Имеют много ограничений, в том числе OpenGL не работает, работает только Vulkan. Рекомендую прочитать страницу проекта wine-wayland, там об этом написано.

Доступные архитектуры:

  • amd64 - для 64-битных систем. Можно запускать и 64-битные, и 32-битные приложения.
  • amd64-nomultilib - для 64-битных систем. Можно запускать только 64-битные приложения. 32-битные зависимости не требуются.
  • x86 - для 32-битных систем. Можно запускать только 32-битные приложения.

Для работы сборок нужен как минимум GLIBC 2.27. Скрипт, которым я компилирую Wine, а также актуальная информация о сборках (опции компилирования, применяемые патчи и прочее), доступны на GitHub. Обновляю по мере возможности.

Старые сборки (4.11 и старее) требуют как минимум GLIBC 2.23.

Как использовать эти сборки? Просто распакуйте в домашний каталог (или в /opt) и указывайте путь до бинарника wine при запуске приложений. Например:

/home/user/wine-4.0-amd64/bin/wine someapp.exe
В системе должны быть установлены необходимые библиотеки, иначе Wine не будет работать или не сможет запустить многие приложения.

Ссылки на скачивание:

Если вам нужны сборки со встроенными библиотеками, взгляните на другой мой проект: https://github.com/Kron4ek/wine-portable-executable

Kron4ek
()

Запретить процессу использовать swap

 

Есть ли какой-то действенный способ запретить некоторому процессу использовать swap? Т е сделать так, что бы он никогда не вытеснялся из озу на диск?

Serbis
()

Очень гибкий скрипт для сборки Wine

 ,

Нашел очень гибкий скрипт для сборки Wine. Он позволяет собрать любую версию (любой коммит из master-ветки или вообще старую версию, если есть такая потребность) и по выбору включить или отключить различные наборы патчей (staging, esync, pba и т.д). Также можно включить в сборку единичные фиксы к некоторым играм (например, к Path of Exile, World of Warcraft, различным частям The Sims). Можно еще включить в сборку свои собственные патчи, если у вас такие есть. Все это задается в очень удобном конфигурационном файле.
К сожалению, скрипт только для арчеводов (очень навороченный PKGBUILD). Впрочем, для пользователей Ubuntu тоже есть вариант через докер (работает это или нет, не знаю, да и инструкцию я проглядел мельком).
Мопед скрипт не мой! Я его просто нашел сегодня утром и восхитился его гибкостью. Думаю, он будет полезным и другим, поэтому делюсь.

https://github.com/Tk-Glitch/PKGBUILDS/tree/master/wine-tkg-git

Rinaldus
()

Аналог victoria (тест поверхности HDD,SSD) под Linux, существует ли?

 ,

нужно прочекать диск, smart статистика не хорошая.
киньте ссылку на инструмент аналогичный victoria

Vlad-76
()

Сделяль тёмное Whisker меню в Минте

 , , , ,

Минтовские дефолтные темы меня всегда очень радовали броскостью, аккуратностью и продуманностью. Однако в редакции c Xfce главное меню светлое, что меня порядком раздражало. Сделал тёмное, как в редакции Cinnamon. Держите, может кому пригодится.

В ~/.config/gtk-3.0/gtk.css добавьте строчки:

/******************************************************
XFCE WHISKER MENU
******************************************************/

@define-color whisker_selected_bg #9AB87C;
@define-color whisker_dark_bg #383838;
@define-color whisker_main_bg @whisker_dark_bg;
@define-color whisker_border #252525;
@define-color whisker_selected_mono #808080;

#whiskermenu-window * {
    border-left-color: @whisker_border;
    border-top-color: @whisker_border;
    border-right-color: @whisker_border;
    border-bottom-color: @whisker_border; }

/* Window */
#whiskermenu-window {
	background-color: @whisker_main_bg;
	color: #ccc; }

#whiskermenu-window scrollbar {
	background-color: @whisker_dark_bg;}
#whiskermenu-window scrollbar.top,
#whiskermenu-window scrollbar.bottom,
#whiskermenu-window scrollbar.left,
#whiskermenu-window scrollbar.right {
    border-bottom: 1px solid @whisker_border; }
#whiskermenu-window  scrollbar slider {
    border: 4px solid transparent; }

#whiskermenu-window border {
	border-color: @whisker_dark_bg; }

/* Buttons */
#whiskermenu-window button {
    border-width: 0px;
	color: #ccc; }
#whiskermenu-window button:hover {
	background-color: @whisker_selected_mono;
	color: #fff; }
#whiskermenu-window button:checked {
	background-color: @whisker_selected_mono;
	color: #fff; }

/* Entry */
#whiskermenu-window entry {
	background-color: @whisker_dark_bg;
	color: #fff;
	border-color: @whisker_border; }
#whiskermenu-window entry:focus {
	border-color: @whisker_selected_bg; }

/* Treeview */
#whiskermenu-window treeview {
	background-color: @whisker_dark_bg;
	color: #ccc; }
#whiskermenu-window treeview:hover {
	background-color: @whisker_selected_bg;
	color: #fff; }


Если файла не существует, создайте его.
Результат выглядит так.

meliafaro
()

XKB. Назначить сочетание клавиш на одну клавишу

 

Как реализовать посредством XKB отправку последовательности клавиш, например `Ctrl+C', при нажатии одной клавиши (например `С'?

Пробовал так:

//xkb/symbols
    key <AB03> {[ Uffe3+U63, C ]};
но это не работает.

Dreamdrawer
()

Вопрос о цветах и терминале. (На самом деле я плохо владею терминологией, поэтому этот заголовок заведомо некорректен)

 

1.

Есть команда на баше:

$ tree

Если я выполню эту команду в своём терминале - я увижу цвета.

Есть другая команда на баше:

$ tree | cat

Если я выполню эту команду в своём терминале - я не увижу цвета.

У меня есть догадки что это как-то связано c переменными окружения.

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

2.

Вот ещё строчка из $ man ls.1:

ls emits color codes only when standard output is connected to a  terminal.

Пожалуйста, разъясните мне её.

alois
()

Годный открытый софт для Android

 , ,

Зачем эта тема?

  • Не хотелось бы скатывать предыдущую тему в подборку софта
  • Годнота есть не только в F-Droid

Может быть эта тема окажется для кого-нибудь полезной.

Софт

Частично перенесён из темы по ссылке выше

  • MAPS.ME - навигация, использует OpenStreetMap. Maps - форк с вырезанной рекламой и трекерами.
  • Aegis - 2FA аутентификатор. Поддерживает импорт из других аутентификаторов (нужен root), установку пароля на вход (он же будет ключом к расшифровке), вход по отпечатку пальца. Бонусом гайд по подключению сторонних аутентификаторов к Battle.net.
  • ConnectBot - SSH клиент. Поддерживает SSH и Telnet.
  • oandbackup - открытый аналог TitaniumBackup
  • Scarlet Notes FD - замена Google Keep. Есть синхронизация (как я понял, для включения облачной синхронизации нужно установить версию из Google Play).
  • K-9 Mail - почтовый клиент, поддерживает шифрование OpenPGP (требуется OpenKeychain)
  • Nextcloud - клиент для Nextcloud
  • DAVx⁵ - синхронизация (вместо гуглокалендаря)
  • KDE Connect - интеграция телефона с Plasma (в какой-то момент ещё и с Gnome)
  • OsmAnd~ - навигация, использует OpenStreetMap, и насколько я помню, может использовать и другие источники карт. Приложение платное, полная версия находится в магазинах, ссылки на сайте. Переход на MicroG и немного свободного софта (комментарий)
  • andOTP - простой аутентификатор с возможностью экспорта/импорта и шифрования бэкапов
  • EDS Lite - клиент для работы с криптоконтейнерами VeraCrypt, TrueCrypt, LUKS. Полная версия находится здесь.
  • Password Store - клиент для pass
  • Shelter - песочница для изоляции приложений. Некоторые пишут, что приложение может окирпичить телефон, так что будьте аккуратнее.
  • Forecastie - прогноз погоды, использует OSM, есть погодная карта
  • Gadgetbridge - подключение умных часов и браслетов
  • Scrambled Exif - удаление EXIF из фотографий
  • Kiwix - выкачивание Википедии и некоторых других вики-сайтов и чтение их оффлайн
  • Vanilla Music - музыкальный плеер. Насколько я знаю, единственный поддерживающий теги в OGG Opus. По запросу «vanilla» в F-Droid находятся полезные дополнения.
  • Simple Mobile Tools - простые открытые реализации галереи, календаря, файлового менеджера, контактов, заметок, музыкального плеера, фонарика, калькулятора и других приложений
  • GameDealz - неофициальный клиент для сайта IsThereAnyDeal. Вкратце - поиск скидок на игры.
  • Phoenix for VK - открытый клиент для ВКонтакте. Полная версия платная, но можно собрать её самому. Есть опциональное e2e шифрование сообщений.
  • ClassyShark3xodus - сканирование всех приложений в системе на предмет трекеров. Использует базу Exodus Privacy.
  • Revolution IRC - клиент для IRC с неплохим интерфейсом
  • Bromite - форк хромиума, нацеленный на приватность и блокировку рекламы. Синхронизация, экономия данных и прочее - вырезано. Репозиторий для F-Droid - здесь. Имеет свой WebView с автоматической блокировкой рекламы.
  • Carnet - заметки. Поддержка синхронизации через Nextcloud.
  • Aurora Store - альтернативный клиент для Google Play. Имеет возможность установки приложений без аккаунта Google.
  • Aurora Droid - клиент для F-Droid. Интерфейс похож на Aurora Store. Имеет список из большого количества репозиториев, которые включаются по желанию.
  • Silence - обмен зашифрованными СМС
  • Pix-Art Messenger - форк Conversations. Клиент для XMPP. Имеет некоторые улучшения по сравнению с Conversations.

Предлагаю дополнить список в комментариях.

Deleted
()

Про разгон AMD GPU

 , ,

Ловите https://www.ixbt.com/news/2019/05/22/amd-memory-tweak-3d-amd-radeon.html
https://github.com/Eliovp/amdmemorytweak

Программа AMD Memory Tweak работает со всеми последними графическими процессорами AMD Radeon с типами памяти GDDR5 и HBM2. Для Windows потребуется Radeon Software Adrenalin 19.4.1 или более поздней версии, а для Linux — amdgpu-pro ROCM и наличие некоторых дополнительных пакетов, включая pciutils-dev, libpci-dev, build-essential и git. Исходный код утилиты доступен на GitHub.

targitaj
()

Файловая система FAT и кодировка в именах файлов

 ,

Сам разобрался, решил с остальными поделиться.

Когда мы монтируем флешку в консоли, мы вводим mount -t vfat /dev/sdb1 /mnt/flash. При этом, русские имена файлов «кракозябрами», если не добавить параметр -o iocharset=utf8,codepage=866. Почему iocharset это именно utf8, ведь во времена FAT этой кодировки не было? Потому что этот параметр указывает ту кодировку, в которую будет «переведена» исходная, и поэтому надо указать системную кодировку. Начиная с Red Hat 8.0 (а это примерно 2000 год) это UTF-8, соответственно и надо указывать utf8 (обратите внимание, без тире). Но если ваша система использует кодировку koi8r, то надо указывать её. Codepage 866 это русский регион (а например для США это 437).

Upd: Оказывается, достаточно указывать -o utf8. Товарищ greenman в третьем комментарии написал, что, согласно man mount, в этом случае «кракозябрами» будут видны только короткие имена файлов

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

Если у вас Gentoo, или любая другая конфигурация с самосборным ядром, то кодировку для FAT можно задать прямо в ядре. И тогда при монтировании флешки не придётся указывать те дополнительные параметры. В любом случае, во время автоматического монтирования при помощи системной слубжы HAL или udisks, всё само определяется и монтируется правильно.

Теперь давайте разберёмся, что такое vfat. Почему мы указываем именно её, а не fat16 или fat32? Что вообще за файловая система такая? vfat это расширение для FAT 12/16/32, позволяющее в один и тот же момент хранить имя файла как короткое, так и длинное. Появилось в Windows 95. Подробнее тут: https://ru.wikipedia.org/wiki/FAT#VFAT Если очень хочется примонтировать без vfat, а только с поддержкой коротких имён, то -t msdos (например жёсткий диск или CF-карта с DOS-ом)

Теперь exFAT. Эта файловая система появилась в 2006 году в Windows Mobile, Windows XP SP3 и Windows Vista. Дело в том, что релиз FAT32 не решил проблему с потерей полезного места на больщих дисках, а только отодвинул наступление этой проблемы. В exFAT эта проблема радикально решена, и флешки могут быть до 2 Тб размером.

В Linux есть 2 драйвера: exfat-fuse, exfat-nofuse. Первый создан сообществом по спецификации, и работает через FUSE. Второй создан Samsung-ом для устройств на базе Android, скачать исходный код можно на сайте http://opensource.samsung.com/, введя название любой прошивки для любого смартфона и планшета. Там будет полный образ ядра Linux со всеми изменениями - в том числе и директория fs/exfat до ядра 4.4, и fs/sdfat начиная с ядра 4.4. Однако на Github всё уже есть: другие люди всё уже скачали и выложили отдельно (слава GPL). Кроме того, там наложено куча патчей со всякими улучшениями!

Кодировку указывать не надо: в exFAT это UTF-16, как и в NTFS. Но теперь надо указывать кое-что другое: ID вашего пользователя и группы. Для Debian это -o uid=1000,gid=1000, для openSUSE gid равен 100. Хорошо что в форке на гитхабе нас избавили от необходимости так делать! А в оригинальном коде, если вы этого не сделаете, то вы не сможете записать файл на флешку. А если запишете от root, то не сможете прочитать этот файл на компьютере с Windows.

Но откуда такие проблемы? Дело в том, что в exFAT появился ACL... Это расширенные права. Если вы помните Norton Commander или Windows 95, вы помните что в «Свойствах файла» есть 4 галочки: «Только чтение», «Архивный», «Системный» и «Скрытый». Всего лишь 4, и всё так просто. Расширенные права добавляют ещё хренову кучу свойств файла...

ZenitharChampion
()

Стоит ли мне использовать Kali Linux

 

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

К сожалению, несмотря на то что английский язык является базовым в IT-среде, не все специалисты по безопасности, особенно сетевой, им владеют. Но я решил немного исправить эту проблему и перевел основной и ключевой документ из руководства пользователя Kali Linux.

http://lorwiki.com.ru/wiki/Стоит_ли_мне_использовать_Kali_Linux

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

UPD Спасибо всем за сделанные и предложенные правки.

UPD2 Книги:

Official Kali Linux Documentation (русский): PDF

Настольная книга администратора debian (русский): HTML EPUB PDF

Kali Linux от разработчиков. Херцог Рафаэль, Горман Джим, Ахарони Мати (русский, isbn:5446105486): Google books

mandala
()

Слишком олдскул

 , ,

Собственно, в названии темы и есть описание. Олдскульная тема (закос под BeOS), XFCE. Использую приложения как из гнома, так и из кед — тулкитофобией не страдаю, и выбираю лучшее по функционалу.

Все увлечены плоскотой и материалдизайном, но я за все годы так и не нашёл чего-то лучше и красивее BeOS, потому и использую темы с закосом под неё.

Тема GTK: https://b00merang.weebly.com/beos-r5.html
Тема оконного менеджера: самописная на основе стандартной B5 из XFCE
Иконки: https://github.com/mdomlop/retrosmart-icon-theme

Шрифты: Arial без сглаживания, единственное, от чего глаза не болят. Могу выложить fontconfig, если кому надо — там подмена ряда шрифтов, разное сглаживание для разных, и прочее.

stav_artefakt
()

Обновление до openWRT 18.06.2

 ,

Здравствуйте.

У меня d-link dir-860L с LEDE 17.01.4 на борту. Стоит ли обновлять до openWRT 18.06.2?
Какие подводные камни?

Кастую Spoofing — специализда по роутерам.

Перемещено jollheef из talks

Suiseiseki
()

Must have расширения хрома и ко?

 ,

ublock это понятно
Еще усыплять фоновые табы
А еще что?

bga_
()

Для тех, кто думает перейти на Gentoo

 

Привет

Достаточно часто создаются темы, где люди думают переходить на Gentoo и хотят уточнить некоторые моменты. Чтобы сэкономить время себе и другим, решил создать этот топик, в котором буду собирать ответы на частые вопросы.

TL; DR: Для тех, кто думает перейти на Gentoo (комментарий)

В каких случаях имеет смысл выбирать Gentoo:
1. Вы любите настраивать систему под себя. В Gentoo есть больше возможностей по кастомизации системы в сравнении с многими другими дистрибутивами: USE флаги, параметры компиляции, поддержка пользовательских патчей в пакетном менеджере, хуки пакетного менеджера (вставка своих шагов на этапе установки пакетов), игры с версиями приложений и/или зависимостей, игры с альтернативными имплементациями (openrc/systemd/..., rsyslog/syslog-ng/metalog, slang/ncruses, dhcpcd/dhclient/...).
2. Вы хотите обучиться основам Линукс. Установка Gentoo невозможна без практического понимания базовых принципов Линукс: интерфейс командной строки, chroot, работа с диском (MBR, GPT, возможно LVM, возможно шифрование, типы файловых систем, параметры монтирования и т. п.), настройка сети (WiFi/Ethernet, DHCP, ifconfig/ip, выбор между wicd/NetworkManager/sysinit и т. п.), ядро (конфигурация/компиляция/установка, firmware, внешние модули aka @modules-rebuild, возможно параметры при запуске и т. п.), графический сервер (Xorg/wayland, драйвера) и др. Большинство дистрибутивов скрывают это за инсталлятором, но в Gentoo вам придется столкнуться с этим непосредственно.
3. Требуется система максимально оптимизированная под определённую платформу или нефункциональные требования: минимальный размер (embedded), минимальный отклик (банковские системы, игровые сервера), максимальное быстродействие в конкретных областях (обработка видео потоков) и т. п. Стоит заметить, что Gentoo имеет смысл выбирать только в том случае, когда нет дистрибутива уже заточенного под эти требования, или он чем-то не устраивает.

В остальных случаях Gentoo скорее всего не лучший выбор, разве что Just for Fun.

Сильные стороны Gentoo:
#1 Gentoo очень гибкая и всенастраиваема
Пример того что в Gentoo делается просто:
- Использовать openrc вместо systemd или наоборот; pulseaudio или без него
- Наложить кастомный патч; пример когда это нужно
- Подключить или отключить такие вещи как vaapi, vdpau, opencv и т. п.
- Иметь несколько веток софта; уточню, что это работает только для определённых пакетов; например можно одновременно установить python 2.7, 3.4, 3.5 или qt4 и qt5, но нельзя одновременно установить qt 5.7 и 5.8

#2 Очень удобный и функциональный пакетный менеджер
Примеры удобных фич:
- Прервать установку (вплоть до перегрузки компьютера), а потом ее продолжить. Можно продолжить с последнего пакета (emerge --resume), продолжить но пропустить последний пакет, например, если его установка прервалась с ошибкой (emerge --resume --skipfirst, некоторые нюансы); для больших пакетов можно продолжить саму компиляцию (ebuild <полный путь и имя файла>.ebuild merge).
- Когда при установке обновляется конфиг приложения, определяется редактировался ли предыдущий конфиг пользователем. Если да, конфиг не перезаписывается, а кладётся радом, и выводится сообщение пользователю с предложением обновить конфиг.
- Обновить всю систему, но исключить некоторые пакеты (удобно для исключения больших пакетов из ежедневного обновления)
- Почистить зависимости - удалить те пакеты, которые больше никому не нужны.
- Поскольку ebuild - текстовый файл, то можно пропарсить на предмет требований к количеству ресурсов для установки:

$ for F in $(find /usr/portage -name "*.ebuild") ; do REQ=$(grep "CHECKREQS" "$F") ; if [[ -n "$REQ" ]]; then echo -e "\n$F\n$REQ" ; fi; done
- Вынести компиляцию на другой компьютер (поддержка distcc на уровне пакетного менеджера). Важно когда Gentoo устанавливается на слабый компьютер.


#3 Хорошая документация, по крайней мере на английском. Более того, поскольку Gentoo-специфичные утилиты являются лишь надстройкой на generic механизмами, документация от других дистрибутивов (например от Arch) в большинстве случаев тоже подходит.
Опрос 2014: У какого дистрибутива лучшая документация

#4 Достаточно свежий софт, много сторонних репозиториев.
Список сторонних репозиториев
Gentoo - rolling release, а значит как только новая версия конкретного софта появилась в репозитории, её можно установить. Но здесь не имеется ввиду, что как только новая версия зарелизилась, она моментально становится доступна в основном дереве; лаг есть, но он как правило не большой, хотя зависит от пакета. В тестинг ветке новые версии появляются раньше. Кроме того мейнтейнеры Gentoo могут маскировать некоторые версии, если в них обнаруживаются серьезные баги. Однако всегда можно размаскировать нужную версию. Кроме того для некоторых пакетов есть -live версии, когда исходники скачиваются напрямую из github или аналога.
Пример когда «у меня не самый свежий софт в Gentoo»

#5 Полный порядок в системе, ничего лишнего - эстетическое удовольствие, плюс возможно можно немного улучшить перформанс

#6 В процессе установки и эксплуатации получаешь полное понимание как работает система, а значит возникающие проблемы решаются быстро. На самом деле без должного знания Линукса (или желания его узнать в процессе) Gentoo нормально не установить.

Недостатки
#1 Сложная и долгая первичная установка. Если устанавливать в первый раз, нужно готовиться потратить несколько дней. Для опытных - несколько часов + компиляция.
Время установки (компиляции) Gentoo, еще немного цифр по большим пакетам

#2 Пакетный менеджер хоть и удобный, но очень медленный

#3 Если не обновлять систему долго (полгода и более), то сложность обновления сопоставима с установкой новой системы. Есть мнение, что emerge-webrsync --revert=yyyymmdd должен помочь (лично я не проверял).

Особенности
#1 Высокий порог входа; дистрибутив не для новичков. Если человек не комфортно чувствует себя в командной строке, никогда не компилировал ядро, не разбивал диски на разделы, не привык изучать докуменацию, вчитываться в сообщения и анализировать логи, то Gentoo покажется сложной в обслуживании, а возникающие проблемы будут списываться на дистрибутив.

#2 Обновляться нужно часто.

#3 Основные фичи - в командной строке. Для тех, кто не привык работать в командной строке, это будет минусом. А для тех, кто комфортно чувствует себя в командной строке, это будет плюсом, так как работа в командной строке более эффективна, а типовые сценарии можно обернуть в скрипты и еще больше сократить время на обслуживание системы.

#4 Есть две ветки: stable и testing. В stable меньше шансов встретить проблему, но в testing более свежий софт. Ветки можно комбинировать.

Мифы
Миф #1 Gentoo даст прирост производительности за счет того, что весь софт компилируется под конкретное железо.
Краткий ответ: Без дополнительных телодвижений - в пределах пары процентов, так что вряд ли вы это заметите.

Детальный ответ.
Не следует ожидать что просто скомпилировав систему из исходников вы получите сколько-нибудь заметное улучшение перформанса.
Для большинства приложений компиляции под конкретное железо даст прирост производительности в районе 1-2%.
Ложка дегтя: в некоторых случаях даже может быть замедление. Например Firefox, можно ускорить с помощью PGO. В Gentoo по умолчанию это отключено, так как PGO увеличивает время компиляции почти в два раза. В бинарных дистрибутивах соотв. софт может быть скомпилирован с PGO.
Так как добиться улучшения производительности? Узкий круг приложений может быть значительно ускорен при компиляции под конкретную платформу - на 30%-50% и больше. В основном это приложения которые активно занимаются вычислениями. Но для этого требуется соотв. настройки. Например, активация SIMD инструкций, даст прирост производительности в мультимедиа приложениях. Некоторые процессоры имеют аппаратную поддержку шифрования AES. В бинарных дистрибутивах подобные фичи будут отключены, так как не все процессоры это поддерживают, а бинарные дистрибутивы в первую очередь заботятся о совместимости.
Небольшое улучшения перформанса возможно если убрать из системы всё лишнее (мнение 1, мнение 2).
Еще интересный случай

Миф #2 Обновления занимают много времени
Краткий ответ: 5-10 минут на фоне, не мешая основной работе.

Детальный ответ.
Обновления не занимают много времени, но опять же, при правильном подходе.
Во-первых, как было сказано выше, обновляться нужно часто. Для testing ветки это каждый день, или по крайней мере не реже чем в раз 2-3 недели. Для стабильной ветки - раз в неделю достаточно (на стабильной ветке намного реже выпускаются обновления)
Во-вторых, есть пакеты которые правда очень долго компилятся: libreoffice, firefox, chromium... Их всего 10-15. Я их исключаю из ежедневного обновления, а обновляю раз в несколько месяцев.
Еще нужно сказать, что на этом вопросе часто заостряют неоправданно много внимания. Обычно обновления происходят на фоне, и не сильно влияют на работу; так какая разница как долго они выполняются?
В итоге, у меня обновления занимают примерно 5-10 мин ежедневно (у меня тестинг-ветка).
К тому же всё происходит на фоне, в любой момент можно поставить на паузу (Ctrl+Z, fg), продолжить после прерывания (умышленного или случайного).
Мой скрипт ежедневного обновления

Миф #3 Gentoo требует много времени на обслуживание
Краткий ответ: это зависит от вас.

Детальный ответ.
Обслуживание Gentoo занимает меньше времени по сравнению с другими дистрибутивами, но только при грамотном обращении, конечно. Достигается это за счет следующего:
- хороший пакетный менеджер: маскировки, глобальные и индивидуальные установки для пакетов (USE флаги, опции компиляции, каталоги), хуки, приоритеты (чтобы компиляция происходила на фоне и можно было работать), много опций для установки и анализа, подсказки после установки.
- всё происходит в CLI, а значит типовые операции можно обернуть в скрипты/алиасы.
- уже существуют много утилит для облегчения обслуживания: eselect, equery, eix, eclean, euse, genlop и др.
Грамотное обращение означает, что вы правильно и регулярно обновляете систему, исполняете предписания emerge, которые он выдает после установки, держите в порядке конфигурационные файлы, а если таки возникает проблема, которую решить вы не можете, то вы обращаетесь в форумы, а не просто жалуетесь на жизнь.
Что до проблем с обновлениями - см. следующий пункт «Миф #4 Установка, обновление постоянно падают; частые блокировки»

Миф #4 Установка, обновление постоянно падают; частые блокировки
Краткий ответ: Не чаще чем в других дистрибутивах

Детальный ответ.
Если говорить про «часто» и «постоянно», то проблемы с обновлением/установкой могут быть если:
- система давно не обновлялась
- система неправильно обслуживается (см. выше про Грамотное обращение)

В редких случаях пакет просто не компилируется. На самом деле это проблема не Gentoo, а тех, кто писал этот софт. И в подавляющим большинстве случаев это не является проблемой, и вот почему. Если это обновление, то можно продолжить процесс запустив emerge с параметрами --resume --skipfirst - он обойдет проблемный пакет, пересчитает зависимости чтобы система осталась консистентной, и продолжит обновление (а можно изначально передать параметр --keep-going, тогда это будет происходить автоматически, прерываний вообще не будет). Если пакет критичен, можно установить предыдущую версию, которая компилировалась (а проблемную замаскировать чтобы пакетный менеджер ее не видел).

Что может заблокировать обновление полностью:
- просьба пакетного менеджера поменять флаги пакета. При этом emerge предлагает сделать это автоматически, но лично я предпочитаю делать вручную. Для ручного способа, решается добавлением строчки в package.use
- просьба пакетного менеджера задать лицензию. Это валидно только для не-свободных лицензий, например EULA, Skype, Adobe Flash и т. п. Если мы говорим имено про обновление, то такое бывает только когда лицензия обновляется, что бывает очень редко (как много у вас пакетов под не-свободной лицензией, и как часто они меняют лицензию?). Решается добавлением одного слова в make.conf
- просьба пакетного менеджера размаскировать пакет. По моему опыту нужно не размаскировывать, а наоборот замаскировывать пакеты, которые тянут замаскированные зависимости. Это, да, требует минут 5-10 на разобраться. Но, если только у вас нет смешения веток и live пакетов, такой вариант случается раз в пятилетку.
- сложные блокировки. Большинство блокировок пакетный менеджер разрешает сам; по моим наблюдениям, качество данного механизма значительно улучшилось пару лет назад. Из своего опыты скажу, что (учитывая частые обновления) блокировок, которые бы совсем останавливали обновление я уже не видел года 1.5. Но если они есть, то это действительно сложный кейс.

Иными словами, при порядке в системе, кейсы, которые требуют значительного времени и напряжения уственых усилий (сложные блокировки, замаскированные зависимости) случаются раз в несколько лет; кейсы, которые решаются за пару минут - раз в несколько месяцев.

Миф #5 В Gentoo нет бинарных пакетов
Краткий ответ: Есть там, где это действительно нужно.

Детальный ответ
29 декабря 2023 года было официально объявлено о релизе бинарного варианта Gentoo: Gentoo становится бинарным / https://www.gentoo.org/news/2023/12/29/Gentoo-binary.html Также есть Calculate Linux - полностью бинарный форк Gentoo.
С самого начала в «классическом» Gentoo в основном репозитории всегда были несколько бинарных пакетов: libreoffice-bin, firefox-bin, некоторые другие. Связано это с тем, что из исходников они очень долго компилируются, и иногда проще поставить бинарник.
Бинарный пакет можно сделать самому командой quickpkg --include-config y <установленный пакет> - удобно для бекапов.
Но стоит обратить внимание на то, что при использовании бинарных пакетов пропадают те главные особенности, ради которых имеет смысл выбирать Gentoo. Если вам нужен уже скомпилированный софт, возможно вам имеет смысл присмотреться к другим дистрибутивам.

FAQ

#1 Установка на слабый компьютер
Смотря что есть слабый компьютер.
Из собственного опыта: Intel Core2 Duo 6600 @ 2.40GHz, 2Gb RAM + 4Gb swap хватало для комфортной работы в Gentoo.
Зачастую ebuld'ы содержат информацию о том, сколько нужно памяти для компиляции пакета. TOP 5:
16G - chromium
8G - ledger, isabelle
7G - ceph
6G - firefox x64 (для x32 нужно 3G), pypy x64 (для x32 нужно 3G)
5G - electron
Если компьютер и вправду слабый, то лучше выбрать не Gentoo (точнее не-source-based дистрибутив). Альтернатива - можно вынести компиляцию на другой «не-слабый» компьютер с помощью distcc.


Опрос 2025: Какую операционную систему и/или дистрибутив GNU/Linux вы используете на ПК?
Опрос 2022: Какой дистрибутив GNU/Linux вы используете на домашнем ПК/ноутбуке/моноблоке?
Опрос 2022: Лучший дистрибутив линукса или ОС для сервера
Опрос 2021: Какую операционную систему и/или дистрибутив GNU/Linux вы используете на ПК?
Опрос 2021: Какой операционной системой вы пользуетесь на серверах?
Опрос 2018: Какой ОС вы пользуетесь на основном ПК?
Опрос 2017: Какую ОС вы используете на основном ПК?
Опрос 2014: Какой дистрибутив вы используете на десктопе?
Опрос 2013: Какой дистрибутив вы используете на десктопе?
Опрос 2013: Какой дистрибутив Linux считаете максимально близким к UNIX-way?
Опрос 2011: Какой из дистрибутивов, по вашему мнению, обладает наиболее полной и внятной документацией?
Опрос 2011: Какая ОС установлена на вашем рабочем компьютере?
Опрос 2006: Каким дистрибутивом GNU/Linux Вы пользуетесь?
W3Tech стастика дистрибутивов на серверах
Отличия дистрибутивов, время работы ноутбука
Чем удобны USE флаги
Сколько памяти нужно для РАБОТЫ Gentoo (сколько нужно для компиляции было указано выше)
Сколько места на диске нужно для Gentoo
Правильное полное обновление Gentoo, Мой скрипт ежедневного обновления, Еще вариант
Gentoo для девелоперов
Практика инсталляции Gentoo: в двух словах простым языком
Небольшой скрипт - сборка livecd

Kroz
()

Вот такой вот помощник

 ,

Вот так вот мы и работаем

Alexonline
()

Про программистов

 

Во-первых, программисты не инженеры. Раньше были, а всё. В массе своей это ремесленники уровня ПТУ. Наука не нужна, теория не нужна, культура не нужна, знания не нужны, нужно давать софтовые надои. Потому типичный средний программист дёргает корову за вымя, не особо желая разбираться в том, что именно и зачем он делает. Делает то, за что платят. Таксист в двигателях больше понимает, чем программист в компьютерах. Ну да, где-то там под крышкой процессор. И материнская плата. Штука, на которой процессор. По факту программист понятия не имеет, как всё это работает и от продавщицы Любы в ларьке отличается только тем, что Люба внутри ларька, а программист снаружи.

Во-вторых, программисты не учёные. Сосед Вася, может, и будет считать Петю в футболке «Е равно ЭмСиКвадрат» знатным ботаном с докторской степенью, но Петя ни фига не расскажет, почему квадрат, а не куб. Просто футболка прикольная, в «Теории большого взрыва» была. А так-то Петя тот же Олег из Кукуевки, только по верхам нахватался из ленты соцсеточек. И при работе с чем-либо опирается вовсе не на достижения научного метода последних ста лет, прямо скажем. Вне вымени Петя не знает ничего. Даже не запоминает. B-tree? Што? Мне это не надо.

В-третьих, программисты не работники. Рабочий день или рабочий режим — это вот не про Васю. Ну т.е. планета умеет с А утра до Бэ вечера головой думать и руками делать, а Васе для прикручивания кнопочки к верёвочке требуется нечто особое. Почитать новости. Полистать ленту. Обсудить осадок чая и ситуацию в Камбодже (о которой Вася только вчера из новостей прочёл два абзаца). Надо настроиться… Посмотреть в потолок… Возможно, почитать документацию (шутка, кто ж её читает, это же программисты). Опаньки, обед. Покушать. Разморило-то как… Где тикет? А вы читали, что вводят где-то 4-дневную рабочую неделю? И вообще хочу из дома работать, у меня там котик! Короче, работа — это не про программистов.

В-четвёртых, программисты неженки. Посмотрите на офисы топовых известных компаний, это ж детские сады. Зайка не сможет забить гвоздик, если над зайкой не будет стоять гурия с опахалом, за углом не будет велосипедика, а яблочки будут порезаны поперёк, а не вдоль. Т.е., блин, чуваки мирового уровня собирали из говна и палок первые компьютеры и софт следующих поколений в подвалах, а Серёже пальчиком тяжело шевелить, если на кофепоинте не десять сортов бесплатного печенья. И ладно бы гравицапу творил, так нет же, чинит свою же опечатку после опечатки, которую на прошлой неделе сделал в интересах исправления предыдущей опечатки.

В-пятых, программисты инфантильные. Тут это означает, что они понятия не имеют, как им справляться с собственной долбанутостью, не научились. Любая проблема, любая сложность, любое несовпадение реальности с внутренним миром Игоря — всё, мы все умрём. Апатия. Выгорание. Меланхолия. ДЕПРЕССИЯ. Блин, ясен пень, у тебя будет депрессия в предощущении того, как надерут жопу за десятки открытых тикетов, которые ты не сделал, ибо набирал мотивацию просмотром роликов, прослушиванием музыки и беседами о роли Путина в квантовой генетике Навального. Но нет, это не Игорь фигнёй страдал вместо написания тестов, это злые все обижали дражайший внутренний мир подростка с метрикой взрослого. Соответственно, токмо попробуй Игорю микрон критики в плечико вонзить… Страдания Вертера покажутся развесёлой комедией.

В-шестых, у программистов нулевая базовая литературная культура. Если пройдётесь по деревенскому рынку с опросом «читали ли вы Борхеса», результат будет тот же, что среди программистов. Разница лишь в том, что Нариман (вкусный абрикос! сладкий дыня!) может и устыдиться своего аборхесианства, зато программист Игнат с пеной на губах вам час будет плешь гладить обоснованием того, почему он не читает вообще, не читает книги, не читал Борхеса, почему культуры нет в принципе, человек современный вне культуры и т.д. Как вариант, ответно атакует глубоким знанием аниме и «Ричарда длинные грабли». Ну типа тоже культура. Великая японская. Ну и что, что не Кобо Абэ?

В-седьмых, программисты дремучи вне своей узкой сферы деятельности. Посмотрите в глаза Феди. Мудрость. Прищур. Всё понимающая роговица. На деле же Федя не знает ни.че.го. Биология. Химия. География. Литература. История (о, тут Федя скажет, что его обманули все историки, но не сможет назвать цвет обложки хоть одного исследования). Экономика. Физика. Социология. Ни. Че. Го. Я знал чуваков, что не могли указать, где у них печень, слева или справа. Просто не знали.

В-восьмых, отечественные программисты любят спорить. И ладно бы. Но предыдущий пункт же. Пример типичного спора: час бодаться про законодательство России, ни разу за жизнь не открыв УК. Википедия листается тут же по ходу обсуждения. Но мнение имеют. Уверенное такое мнение, увесистое. Вместо законодательства может быть хоть климат Венеры (Илья читал в детстве книгу про Венеру, потому невдолбический специалист), хоть сорта огурцов средней полосы (Павел помогал бабушке кушать огурчики, потому агроном).

В-девятых, программисты ощущают (и ведут) себя уникальными. Фиг с тем, что каждый год их миллионы. Но блин, овердофига специальностей, в которых извилины морщит так, что наш Стёпа помрёт на третий день. Более того, множество людей ещё и под стрессом ответственности за реальный мир морщатся, пока Стёпа оперирует виртуальными ценностями в песочнице. Бжчки, да сейчас софт даже дети пишут, выкладывают в магазины и этот софт покупается. А тот софт, что действительно крутой (ну-ка, моделирование нагрузки на конструкцию корабля в боковую качку), для Стёпы так же далёк, как Пугачёва во внучках.

В-десятых, программисты не читают. Типичный Алёша при задаче «сделать XYZ» пойдёт делать XYZ. Не хотя бы листать мануал. Не вникать в документацию. Что-нибудь нагуглит, как-нибудь сделает. Только если с десятого раза не заработает, нехотя подползёт к литературе и вытащит самую тоненькую книжечку, вдруг в ней ответы на главные вопросы. Лучше, чтобы один. На одну страничку. В 140 символов, как раньше было. Если тысячу лет протяну, всю тысячу лет буду помнить эпичный случай с человеком, писавшим софт 5+ лет. Человек очень плохо сделал генерацию уникального ID. Прям вот совсем на отвали. Я минут 15 объяснял, почему плохо и как надо, тут же пару раз сказал не использовать функцию id() у Python. Объяснил. Через час смотрю pull request. Там id(). На реактивной попотяге выясняю, что человек меня выслушал, открыл документацию к id(), прочёл первое предложение («Return the “identity” of an object») и решил, что норм. Первое. Одно. Он открыл документацию, прочёл шесть слов и закрыл документацию, не добравшись до следующих слов. 5+ лет разработки. Я плакал злыми слезами в углу. Совет RTFM придумали не химики и это не просто так. В детском саду детям больше текста читают, чем программист по специальности.

В-одиннадцатых, у программистов нет ответственности. Вот совсем. Ронять тесты, сервера, Боинги, Луну — задорно и молодёжно. Ежели слишком уж зарвался, всегда можно удрать на другую работу, в резюме же не пишут ДЕТАЛИ, а увольняют нынче красиво, без статьи. Лишь бы ушёл. Антону поди поясни, что такое ошибка, почему это плохо, зачем быть так, чтобы ошибок не было. Ну и что, что всё упало? Ну и что, что у клиентов убытки? Ну и что, что работодателю убытки? Ну и что, что коллеги через год застрелятся? Ну и что, что не по плану? Ну и что, что обещал? И вообще, я устал, у меня апатия, а вон там печеньки дают, я туда пошёл.

(с) Феликс

Bobby_
()

Что на сегодняшний день есть из систем учёта в open source

 , ,

Есть личная потребность в небольшом складском учёте. Что можете посоветовать из опенсурса или что-нибудь бесплатное, что можно поставить на локалхост, идеально,конечно, с вебмордой. Придумали какой-нибудь аналог жёлтой программе? Ananas я так полагаю помер лет 10 назад.

jo_b1ack
()

Alpine Linux 3.8.0

 ,

Группа Linux General

Состоялся релиз Alpine Linux 3.8.0 — Linux-дистрибутива, ориентированного на безопасность, легковесность и нетребовательность к ресурсам (используется в том числе во многих образах docker). Дистрибутив использует системную библиотеку языка Си musl, набор стандартных утилит UNIX busybox, систему инициализации OpenRC и пакетный менеджер apk.

Основные изменения:

  • реализована поддержка сетевой загрузки для всех образов;
  • добавлен образ для arm64-вариантов одноплатников Raspberry Pi и появилась поддержка Raspberry Pi 3 Model B;
  • теперь поддерживаются ISO-образы для архитектуры s390x (устанавливается в KVM);
  • прекращена поддержка ядра hardened (неофициальный вариант Grsecurity);
  • появилась поддержка языка Crystal.

Также обновлены версии следующего ПО:

  • Linux 4.14;
  • Go 1.10;
  • Node.js 8.11 (LTS);
  • Rust 1.26;
  • Ruby 2.5;
  • PHP 7.2;
  • ghc 8.4;
  • OCaml 4.06;
  • R 3.5;
  • JRuby 9.2.

>>> Подробности (alpinelinux.org)

cetjs2
()