LINUX.ORG.RU

Сообщения Kroz

 

Ресурсы для подготовки к сертификациям

С наступающим!

Посоветуйте годные сайты на которых можно брать инфу для подготовки к разного рода сертификациям - CCNA, ITIL, Red Hat и т. п.

 , , , ,

Kroz
()

Как вы называете переменные и не только?

Привет

Есть ли у вас правила именования переменных и не только для следующих кейсов?

Case 1. Предположим есть некие объекты. Есть функция, которая должна что-то сделать с объектом, например вызываем её вот так: fn(obj). Как понять, аргумент функции - сам объект, указатель на объект, или индекс объекта в каком-то массиве? А как на счет массива индексов? Я понимаю, что можно посмотреть объявление obj (в тех языках, где оно есть), но если это посредине кода, то хочется как-то понять из имени: облегчило бы чтение кода. Думал про obj/iObj/pObj или obj/obj_i/obj_ptr, но может есть лучшие идеи?

Case 2. Функция-член класса. Как по имени различить локальные переменные, глобальные переменные, переменные-члены класса?

Case 3. У вас есть правила именования, которые бы по имени позволяли различать переменную, тип, класс, функциу, макрос и т. п? Я пока переменные называю с маленькой буквы, функции - с большой, макросы - все большие, а вот типы/классы пока называют TType и CClass, но у многих это вызывает отвращение. Варианты получше есть?

 ,

Kroz
()

Автоматические парсеры резюме

Привет

Слышал что сейчас во многих компаниях резюме сначала попадают на автоматические парсеры как первый фильтр, а только потом HR'у на стол.

Есть где-то онлайн парсеры, чтобы проверить свое резюме, увидеть что машина там видит?

 , ,

Kroz
()

Последовательно склеить две директории

Привет

Есть временный каталог на tmpfs (/mnt/ramdisk) и каталог на HDD (/mnt/tmp). Хочу чтобы данные записывались в ramdisk, и, только если там закончится место, чтобы писалось в tmp. То есть последовательно склеить две директории. Так возможно? Если да - как?

Шальные мысли:
- LVM группы?
- Может overlayfs что-то такое умеет?
- RAID?

 , , ,

Kroz
()

vim: не работают двухбуквенные комбинации в normal mode

Привет

Команда:

:if (exists("w:test")) | echo "Yes" | unlet w:test | else | echo "No" | let w:test=1 | endif
Маппинг:
:nnoremap z/ :if (exists("w:test")) \| echo "Yes" \| unlet w:test \| else \| echo "No" \| let w:test=1 \| endif<CR>
Команда работает. А вот по нажатию z/ ничего не происходит.
Что я делаю не так?

 

Kroz
()

(grub2) os-prober генерит нерабочий LVM конфиг: я чего-то не знаю или всем пофиг?

Привет

Сравниваю блоки grub.cfg относящиеся к разделу на LVM. Один блок сгенерен на операционке на этой lvm партиции (и, соответственно, os-prober тут не причем), а другой сгенерен на операционке на другой партиции (соответственно, работал os-prober). Разница существенная. Кроме того, насколько я вижу, блок сгенеренный os-prober'ом вообще не рабочий, так как пытается грузиться с /dev/dm-0 ; поправьте меня, но по-моему это не то же самое что и /dev/mapper/vg11-gentoo11 .

Я что-то не так делаю, или всем настолько пофиг, что os-prober неверно генерит конфиг LVM?

«Родной» конфиг:

menuentry 'Gentoo GNU/Linux LVM' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-aa0ab174-09de-4906-a13d-14ef562b0051' {
    load_video
    if [ "x$grub_platform" = xefi ];   then
	    set gfxpayload=keep
    fi
    insmod gzio
    insmod part_msdos
    insmod lvm
    insmod ext2
    set root='lvmid/va7oBN-23P2-2Sbv-JLwF-VZ4t-mYjh-wKAEQ7/aBGas0-Wttn-Uz5x-LxFe-hpwa-gKL3-Ay9I20'
    if [ x$feature_platform_search_hint = xy ]; then
       search --no-floppy --fs-uuid --set=root --hint='lvmid/va7oBN-23P2-2Sbv-JLwF-VZ4t-mYjh-wKAEQ7/aBGas0-Wttn-Uz5x-LxFe-hpwa-gKL3-Ay9I20'  aa0ab174-09de-4906-a1
    else
      search --no-floppy --fs-uuid --set=root aa0ab174-09de-4906-a13d-14ef562b0051
    fi
    echo    'Loading Linux 4.9.76-gentoo-r1-lix-k19 ...'
    linux   /boot/vmlinuz-4.9.76-gentoo-r1-lix-k19 root=/dev/mapper/vg11-gentoo11 ro consoleblank=0 loglevel=4 splash=silentonly,theme:natural_gentoo CONSOLE=/dev/tty1 5
    echo    'Loading initial ramdisk ...'
    initrd  /boot/initramfs-custom.cpio.gz
}

os-prober:
menuentry 'Gentoo Base System release 2.4.1 (on /dev/mapper/vg11-gentoo11)' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-aa0ab174-09de-4906-a13d-14ef562b0051' {
    insmod part_msdos
    insmod lvm
    insmod ext2
    set root='lvmid/va7oBN-23P2-2Sbv-JLwF-VZ4t-mYjh-wKAEQ7/aBGas0-Wttn-Uz5x-LxFe-hpwa-gKL3-Ay9I20'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint='lvmid/va7oBN-23P2-2Sbv-JLwF-VZ4t-mYjh-wKAEQ7/aBGas0-Wttn-Uz5x-LxFe-hpwa-gKL3-Ay9I20'  aa0ab174-09de-4906-a13d-14ef562b0051
    else
      search --no-floppy --fs-uuid --set=root aa0ab174-09de-4906-a13d-14ef562b0051
    fi
    linux /boot/vmlinuz-4.9.76-gentoo-r1-lix-k19 root=/dev/dm-0
}

 ,

Kroz
()

Регулярное выражение grep: содержит bcd и не содержит bcde - одной регуляркой

Привет

Помогите, плиз, написать регуляркe для grep.
Важно: два grep'а и/или grep -v не предлагать.
Допустимо: grep -P - Perl-compatible regular expression (PCRE)

Условие: содержит bcd и не содержит bcde
Аналог с двумя grep'ами:

grep -P 'bcd' <<<"abcdefghij" | grep -P '^((?!bcde).)*$'
Тесткейсы:
grep '???' <<<"abcdefghij" -> ""
grep '???' <<<"abcd_efghij" -> "abcd_efghij"
grep '???' <<<"abcd_efghijbcde" -> ""
grep '???' <<<"bcdeabcd_efghij" -> ""

Спасибо.

 , ,

Kroz
()

Музыка: возрождение классических инструментов в современной музыка

Привет

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

Пошерстив по Youtube'ам с удивлением обнаружил, что классические инструменты могут звучать современно. Примеры ниже, но вопрос/просьба сразу:

Посоветуйте музыку, в которой бы классические инструменты - фортепиано, скрипка и т. п. - играли драйвово и современно.

Исполнение Metallica, Scorpions и т. п. в аранжировке с оркестром не предлагать: уж очень банально.

Вот примеры чего хочу.

2Cellos - уже, думаю, многие знают. Ребята очень современно играют на виолончелях. Например Mombasa - хороший пример современного стиля игры на классическом инструменте: во времена Моцарта и Баха так не играли. Highway To Hell - да, рок-классика, но звучит по-другому и классно: я бы поставил такое себе в плеер.

William Joseph офигительно играет Radioactive в даб-степовой аранжировке. Или вот еще классический Miserlou со скрипками как звучит: совсем по-другому в сравнении с оригиналом.

Lindsey Stirling - скрипка + дабстеп: Crystallize, Shadows

И открытие года - Darius Havasi - фортепиано + барабан. Это нужно просто видеть и слышать: Duel, Freedom, Prelude | Age of Heroes

Есть еще что-то подобное?

 ,

Kroz
()

Установка приложений на очень старый Gentoo

Привет.

Вцелом концепция «Установил Gentoo - забыл на X лет» показывает себя успешной, за исключением парочки приложений таких как браузеры и Skype. Отсюда вопрос/кейс: как установить браузер на очень старую систему?

Навскидку в голову приходит использования либо пакетов AppImage/Snappy/Flatpak, либо контейнеров Docker/LXC/...

Какие плюсы/минусы контейнеров/пакетов для данного кейса?
Какие есть альтернативы?

 , ,

Kroz
()

Linux на LVM

Привет

На /dev/sdb8 создал lvm структуру с logical volume vg11-gentoo11; переписал туда Линукс корень. Прошу grub2 создать конфиг. Получаю такое в grub.cfg:

### BEGIN /etc/grub.dhttps://wiki.archlinux.org/index.php/LVM#Kernel_options/30_os-prober ###
menuentry 'Gentoo/Linux (on /dev/mapper/vg11-gentoo11)' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-aa0ab174-09de-4906-13d-14ee562b0051' {
        insmod part_msdos
        insmod lvm
        insmod ext2
        set root='lvmid/va7oBN-23P2-2Sbv-JLwF-VZ4t-mYjh-wKAEQ7/aBGas0-Wttn-Uz5x-LxFe-hpwa-gKL3-Ay9I20'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint='lvmid/va7oBN-23P2-2Sbv-JLwF-VZ4t-mYjh-wKAEQ7/aBGas0-Wttn-Uz5x-LxFe-hpwa-gKL3-Ay9I20'  aa0ab174-09de-4906-a13d-14ee562b0051
        else
          search --no-floppy --fs-uuid --set=root aa0ab174-09de-4906-a13d-14ee562b0051
        fi
        linux /boot/vmlinuz-4.9.76-gentoo-r1-v17 root=/dev/sdb5 ro consoleblank=0 5
}
То есть ядру передается root=/dev/sdb5 - другая партиция с не тем корнем. Попытка заменить на /dev/mapper/vg11-gentoo11 приводит к kernel panic (хотя документация Арча говорит что так можно).

ядро сконфигурено вот так: https://wiki.gentoo.org/wiki/LVM#Kernel

Вопросы:
1. Что я делаю не так?
2. Если у вас есть корень на lvm, покажите, плиз свой кусок grub.cfg. Хотелось бы без initrd и без отдельного /boot, но если даже с нимим - покажите плиз.

Спасибо.

 , ,

Kroz
()

luks vs veracrypt

Привет

В чем плюсы/минусы luks по сравнению с veracrypt? Алгоритмы, функционал, простота использования, ...

 , ,

Kroz
()

Увидеть локаль в действии

Привет

Как увидеть, что выставленные переменные locale реально работают? Чтобы, например, поменял установки - увидел разницу.
Например, хочу вывести денежную единицу согласно текущей локали (LC_MONETARY). И т. п.
Желательно bash, накрайняк python или perl.
Вывод locale не предлагать.

Пока нашёл вот это:

echo "(LANGUAGE=$LANGUAGE) Error message"                                                                                                                                                  
wc -q 2>&1
echo "(LC_TIME=$LC_TIME) Date "
date +%x
echo "(LC_TIME=$LC_TIME) Time "
date +%X
echo "(LC_TIME=$LC_TIME) Long date/time "
date +%c
echo "(LC_NUMERIC=$LC_NUMERIC) Decimal/thousands separator"
printf "%'f\n" 1234567890
echo "(LC_COLLATE=$LC_COLLATE) Sorting order"
echo -e "english1\nEnglish2\nкириллица1\nКириллица2\n.dot" | sort
Если менять локаль C и ru_RU.UTF-8, видна разница.

Как увидеть эффект остальных переменных?
LC_CTYPE
LC_MONETARY
LC_MESSAGES
LC_PAPER
LC_NAME
LC_ADDRESS
LC_TELEPHONE
LC_MEASUREMENT
LC_IDENTIFICATION

 ,

Kroz
()

Кто-нибудь смог победить двойной Esc в Midnight Commander?

Всем привет

Говорят, линуксоида можно узнать по тому, как он жмёт Esc два раза. Решил избавляться от этого рудимента. Пока сопротивляется только MC.

Находил вот это: http://midnight-commander.org/ticket/1508 . Там говорят установить old_esc_mode=1 в ini и выполнить export KEYBOARD_KEY_TIMEOUT_US=1000. Не работает.

$ emerge -pv --nodeps app-misc/mc
...
[ebuild   R    ] app-misc/mc-4.8.20-r2::gentoo  USE="X edit nls sftp spell unicode xdg -gpm -mclib -samba -slang {-test}" 0 KiB

Кто-нибудь смог уговорить MC выходить из диалоговых оклон/меню/View... по одинарному ESC? Если да - поделитесь рецептом, плиз.

P. S. Просьба не рассказывать что так не правильно: в современном мире так правильно
P. P. S. Просьба не рассказывать что это невозможно; другие как-то это делают

Перемещено Pinkbyte из general

 ,

Kroz
()

Под какие браузеры/версии имеет смысл тестировать WEB приложение?

Привет

Разрабатывается некоторое WEB приложение. Требуется протестировать его на работу в популярных браузерах. Какие браузеры и какие версии имеет смысл брать?

Пока набросал такое:
- Microsoft Internet Explorer 11.0 or higher
- Google Chrome 64 or higher
- Mozilla Firefox 52 or higher
- Apple Safari 11.0 or higher

Релевантно?

(А Debian тут при том что...) Касательно Firefox и Chrome появилась идея посмотреть какие версии есть в репозитории Debian'а, стабильная ветка. Только я не дебианщик, подскажите, плиз, как посмотреть.

Спасибо.

 ,

Kroz
()

Защищаемся от Meltdown и Spectre

Привет

Предлагаю собирать инфу о Meltdown и Spectre.

Пока у меня получилось найти пару тестов своей системы, но мало информации о том, как защититься. И никакой конкретной информации о том как увидеть влияние на performance - все ограничиваются цифрами, но не тем как провести реальные тесты.

О чем говорим:

Spectre     - Variant 1 - 2017-5753 - Bounds Check Bypass
Spectre     - Variant 2 - 2017-5715 - Branch Target Injection
Meltdown    - Variant 3 - 2017-5754 - Rogue Data Cache Load
BranchScope -           -           - Attack on Directional Branch Predictor
(еще восемь - см. ниже)
LazyFP                  - 2018-3665 - Exploiting lazy FPU state switching
Wiki
8 новых уязвимостей

SpectrePrime, MeltdownPrime:
То, же что и Spectre, Meltdown, но использующие альтернативный способ восстановления данных из кеша, который увеличивает точность восстановления.
Считается что программные методы защиты от Spectre и Meltdown также защищают и от SpectrePrime и MeltdownPrime. А вот аппаратная защита должна отельно учитывать учитывать SpectrePrime и MeltdownPrime.
Источник: Opennet

BranchScope:
Напоминает второй вариант атаки Spectre но отличается способом создания условий для влияния на состояние блока предсказания переходов.
Метод был протестирован на процессорах Intel Sandy Bridge, Haswell и Skylake, и продемонстрировал уровень ошибок менее 1%.
Утверждается, что предложенный для Spectre V2 метод защиты (Retpoline) не эффективен против BranchScope, но для блокирования атаки предложен иной метод защиты, который может быть реализован как программно, так и на аппаратном уровне. По мнению компании Intel предложенная в обновлении микрокода техника защиты от первого варианта Spectre (на основе инструкции LFENCE) будет эффективна и для защиты от атаки BranchScope. Для защиты важных данных также могут применяться типовые криптографические методы защиты от утечки по сторонним каналам.
Больше деталей - на OpenNet.

LazyFP:
Через проведение атаки по сторонним каналам атакующий может определить значения регистров FPU, MMX, SSE, AVX и AVX-512, используемых другим процессом. Например, в данных регистрах могут содержаться параметры для криптографических вычислений и имеющий доступ к локальной системе злоумышленник может попытаться использовать их для определения ключа шифрования. При использовании систем виртуализации проблема может применяться для определения состояния регистров другой гостевой системы или другого процесса в текущей гостевой системе.
Больше деталей - на OpenNet, Intel, blog.cyberus-technology.de.

Уязвимые архитектуры:
- Meltdown - только Intel, притом практически все начиная с выпуска 1995 года (источник).
- Spectre - все процессоры с фичей speculative execution, то есть почти все современные процессоры, в т. ч. Intel, AMD, ARM, IBM Power, IBM System Z (источник).
- Еще 8 - подтверждено на Intel на AMD и ARM не тестировалось (источник).
- LazyFP - только процессоры линейки Intel Core. Не проявляется на чипах Intel Atom/Knights и CPU AMD.

Тесты на наличие уязвимостей:
- https://github.com/IAIK/meltdown/ - реальный эксплоит.
- https://github.com/speed47/spectre-meltdown-checker - это скорее проверяет наличие фиксо/mitigations в системе.
- https://github.com/tesla707/Spectreprime-attack - SpectrePrime реальный эксплоит - https://blog.cyberus-technology.de/posts/2018-06-06-intel-lazyfp-vulnerabilit... - здесь только куски эксплоита в разделе «The Attack», рабочие версии пока не опубликованы. Если знаете лучше или более полные - говорите.

Защита:
Meltdown
Для защиты активируется Kernel page-table isolation (KPTI, старое название - KEISER)
1. Обновление ядра до версий 4.14.12, 4.9.75, and 4.4.110 или выше (Gentoo Wiki)
2. Активировать Kernel/User page tables isolation в ядре - опция ядра CONFIG_PAGE_TABLE_ISOLATION (askubuntu.com) - доступно только для 64-битного ядра.
- Отключать, если не в ядре - с помощью параметра ядра nopti (источник) или echo 0 > /sys/kernel/debug/x86/pti_enabled (источник - Redhat). Нужно владельцам процессоров не-Intel (например, AMD), так как KPTI дает проседание по performance'у, а для AMD это не актуально, так как уязвимость затрагивает только Intel.
Патчинг компиляторов и гипервизоры не требуется.
Как я понял, это полностью устраняет проблему Meltdown.
Фичи процессоров process-context identifiers (PCID) и invalidate process-context identifiers (INVPCID) позволяет снизить проседание перформанса из-за включения KPTI (источник, источник, источник). Доступна только на процессорах Intel: PCID - некоторые Westmere family, Sandy Bridge, INVPCID - Haswell и выше (источник). Также требуется ядро 4.14.12 или выше (источник). Проверить наличие фич в процессоре можно в /proc/cpuinfo (источник)

Spectre
1. Подгрузка микрокода процессора - Intel Microcode update 01/08/2018
- Мануал для Gentoo
- Если я правильно понял, то критерий успеха подгрузки микрокода процессора с фиксом можно узнать так: grep -q "cpu_insecure\|cpu_meltdown\|kaiser" /proc/cpuinfo (askubuntu.com)
Но как я понял, микрокод есть не для всех процессоров, в частности нет для Core 2 Duo . Подозреваю что здесь полный перечень Интеловских процессоров, для которых есть обновление.
2. Поддержка на уровне ядра начиная с какой верии - непонятно):
- Indirect Branch Restricted Speculation (IBRS) (Как выставлять). Притом у него 2 режима, подробней здесь. как проверять/выставлять - Redhat. Но - создана новая атака
- Indirect Branch Prediction Barrier (IBPB) (SGX - Software Guard Extensions) - тоже описан здесь и здесь, как проверять/выставлять - Redhat. Но новая атака SgxPectre показывает что данный механизм не эффективен.
- STIBP - иногда упоминают (раз, два), но детальной информации вообще не нашел.
3. Патчинг компиляторов
- Для GCC:
- - Добавление опции -mindirect-branch, -mindirect-branch-loop, -mfunction-return, -mindirect-branch-register с которыми нужно перекомпилить... всё? Где скачать - непонятно. Насколько полно решают проблему - непонятно.
- - retpoline - добавление опции -mindirect-branch=thunk-extern. С ней нужно перекомпилить ядро с наложенным патчем (где скачать?). Пока есть для gcc 8 (mailing list) и gcc 7.3 (OpenNet, Phoronix); в планах портировать фикс gcc 6/5/4. Похоже, что для процессоров архитектуры Skylake и более поздних проблему решает не полностью (источник).
- LLVM - TBD
4. Патчинг гипервизоров - https://github.com/hannob/meltdownspectre-patches , раздел Virtualization Не ясно закрывает ли это проблему полностью.
- VirtualBox 5.2.6 и 5.1.32 (источник).
5. Патчинг браузеров (потому как уязвимость можно эксплуатировать даже через JavaScript):
- Chrome 63 - нужно включить опцию chrome://flags#enable-site-per-process ; в Chrome 64 включено по дефолту.
- Firefox 57.0.4 (источник)

LazyFP
- В ядре Linux защита была реализована ещё в феврале 2016 года, путём применения по умолчанию режима Eager FP (eagerfpu=on) и удаления возможности активации Lazy FP. Уязвимость затрагивает ядра Linux до версии 4.6 или системы с процессорами без поддержки инструкции XSAVE (до Sandy Bridge), в которых по умолчанию применялся режим Lazy FP. В старых ядрах Linux для защиты можно использовать опцию «eagerfpu=on», которая присутствует начиная с ядра 3.7.
Влияние на performance:
- Хороший отчет Redhat о том, какое проседание performance'а на каких операциях
- Бенчмарки Phoronix: разные режимы IBRS/IBPB, Spectre, Meltdown
. Как сказано выше, наличие PCID и INVPCID в процессорах делает проседание по performance'у меньше.
Методология (как проверить у себя) - TBD
- Конкретный софт: bind

В каких процессорах Intel какая защита релизована
Habr: Больше кофе, меньше кофеина: Intel 9th Gen (часть 1), искать глава «Исправления безопасности оборудования и программного обеспечения»

Открытые вопросы:
1. Ваш набор тестов на наличие уязвимостей Meltdown и Spectre
2. Ваш рецепт по фиксу
3. Как включать/выключать IBPB и STIBP?
4. Ссылки на патчи для компиляторов
5. Приведите тест (не результаты, а методику), который бы показал влияние на performance
6. Если покупать железо, как знать что оно не подвержено Meltdown и Spectre?

Пожалуйста, дополняйте информацию, особенно там, где написано TBD, где видите неточности или пробелы. Давайте вместе расставим точки над i и победим этот недуг.

 , ,

Kroz
()

Переменные окружения в иксах, KDE

Привет

Сравнил выхлоп env в иксах (чистый urxvt), и в tmux, сессия которого была запущена в голой консоли. Нашёл много различий.

Подскажите, что значат переменные в списке ниже, и что будет если они не установлены.

Например, я уже знаю, что если не установлена DISPLAY, то не запустятся иксовые приложения, если DESKTOP_SESSION - KDE'шные. Какое назначение других переменных?

COLORFGBG=default;0
COLORTERM=rxvt
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-MF2xSwEAub,g
DESKTOP_SESSION=/usr/share/xsessions/plasma
DESKTOP_STARTUP_ID=lix;1510980370;850836;2904_TIME10951505
GNOME_KEYRING_CONTROL=/home/kroz/.cache/keyring-KPXTBZ
GS_LIB=/home/kroz/.fonts
GTK_MODULES=canberra-gtk-module
HUSHLOGIN=FALSE
KDE_FULL_SESSION=true
KDE_SESSION_UID=1100
KDE_SESSION_VERSION=5
LANGUAGE=en_US
PAM_KWALLET5_LOGIN=/tmp/kwallet5_kroz.socket
QT_AUTO_SCREEN_SCALE_FACTOR=0
SESSION_MANAGER=local/lix:@/tmp/.ICE-unix/3838,unix/lix:/tmp/
SSH_ASKPASS=/usr/bin/ksshaskpass
SSH_AUTH_SOCK=
WINDOWID=52928810
XAUTHORITY=/home/kroz/.Xauthority
XCURSOR_THEME=breeze_cursors
XDG_CURRENT_DESKTOP=KDE
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
XDG_SEAT=seat0
XDG_SESSION_CLASS=user
XDG_SESSION_COOKIE=lix-1511969459.859663-529149191
XDG_SESSION_DESKTOP=KDE
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
XDG_SESSION_TYPE=x11
XDG_VTNR=7

 , , , ,

Kroz
()

256 цветов в консоли TTY

Всех с наступившим!

Подскажите. а в 2017 уже научились получать 256 цветов в голой консоли? fbterm имеет проблемы со шрифтами, kmscon мёртв (?).

Если научились, то как?

 , , ,

Kroz
()

Как запустить bash, авто-выполнить скрипт и остаться в bash

Привет

Мне нужно запустить bash (а реальный кейс - chroot окружение), затем выполнить скрипт, но не выходить из bash после выполнения скрипта.
bashrc не вариант, так как операция единоразовая.
Второй bash - не вариант, так как скрипт содержит установки переменных окружения.

Test case: я хочу вот здесь получить PS1 с перфиксом (new) (естественно, в свежезапущенном bash)

$ bash -c 'export PS1="(new) $PS1"'
Реальный кейс, если это важно
$ chroot /mnt/new_root /bin/bash -c 'export PS1="(chroot) $PS1"'
Как?

 ,

Kroz
()

Для grub2 нужен отдельный раздел?

Привет

Хочу LVM+grub2. Вроде как grub2 поддерживает корень на LVM. Интересно 2 варианта: с UEFI и без UEFI. Думаю как разбить диск.

Читаю здесь: https://wiki.gentoo.org/wiki/LVM#Preparing_the_disks
(Для Ъ) предлагается такая разбивка:
/dev/sda1 — (bootloader) — 2M — BIOS boot partition
/dev/sda2 — ext2 (or fat32 if UEFI is being used) — 128M — Boot/EFI system partition
/dev/sda3 — LVM — Rest of the disk — LVM Volume Group

Вопросы:
1. Зачем нужен sda1? Если для grub2, то как он знает что именно туда нужно устанавливаться?
2. Правильно ли я понимаю, что для кейса без UEFI, sda2 просто исключается?

Спасибо.

 , ,

Kroz
()

Игры с PYTHON_SINGLE_TARGET и PYTHON_TARGETS

Привет

Как правильно выставлять PYTHON_SINGLE_TARGET и PYTHON_TARGETS ? Мне всегда казалось что через eselect python list. Но не получается.

Куда копать?

$ emerge -av1 --nodeps gvim 

 * IMPORTANT: 1 news items need reading for repository 'gentoo'.
 * Use eselect news read to view new items.


These are the packages that would be merged, in order:



!!! Problem resolving dependencies for app-editors/gvim

!!! The ebuild selected to satisfy "gvim" has unmet requirements.
- app-editors/gvim-8.0.1298::gentoo USE="acl gtk nls perl python session (-aqua) -cscope -debug -gnome -gtk3 -lua -luajit -motif -neXt -netbeans -racket -ruby (-selinux) -tcl" PYTHON_SINGLE_TARGET="python3_5 -python2_7 -python3_4 -python3_6" PYTHON_TARGETS="python2_7 -python3_4 -python3_5 -python3_6"

  The following REQUIRED_USE flag constraints are unsatisfied:
    python? ( python_single_target_python3_5? ( python_targets_python3_5 ) )

  The above constraints are a subset of the following complete expression:
    luajit? ( lua ) python? ( exactly-one-of ( python_single_target_python2_7 python_single_target_python3_4 python_single_target_python3_5 python_single_target_python3_6 ) python_single_target_python2_7? ( python_targets_python2_7 ) python_single_target_python3_4? ( python_targets_python3_4 ) python_single_target_python3_5? ( python_targets_python3_5 ) python_single_target_python3_6? ( python_targets_python3_6 ) )

$ eselect python list
Available Python interpreters, in order of preference:
  [1]   python3.6
  [2]   python2.7
  [3]   python3.5
  [4]   python3.4
$ eselect python set 1
$ eselect python list
Available Python interpreters, in order of preference:
  [1]   python3.6
  [2]   python2.7
  [3]   python3.5
  [4]   python3.4

 ,

Kroz
()

RSS подписка на новые темы