LINUX.ORG.RU

Сообщения teod0r

 

непонятное при сборке toolchain'а по LFS

Создаю порты для CRUX для сборки toolchain'а по LFS, чтоб можно было развёртывать новые сборки из чистого тулчейна, используя ПМ CRUX'а.

застрял на сборке gcc pass1.

Помню, в более ранних версиях LFS там надо было в корне хостовой системы создавать симлинк /tools, сейсас в книге этого нет... длпустим, собираемый тулчейн у меня в /some_dir1/some_dir2/toolchain. собранный binutils pass1 почему-то устанавливается в /some_dir1/some_dir2/toolchain/some_dir1/some_dir2/toolchain/tools, т.е. путь продублировался... а gcc pass1 ругается cc1: error: /some_dir1/some_dir2/toolchain/usr/include: Permission denied. стало быть как-то неправильно указаны --prefix= и --with-sysroot=, сейчас toolchain=/some_dir1/some_dir2/toolchain; --prefix=«$toolchain/tools» --with-sysroot=«$toolchain». Как надо правильно?

Помогите разобраться

 , ,

teod0r ()

Кто-нибудь использует rc shell на повседневной основе?

Есть ли жизнь на rc (из plan9) или других shell'ах? Хочется что-то лучше чем bash в качестве интерактивного и скриптового шелла

 , , , ,

teod0r ()

А есть ли open-source клиенты vkontakte?

Есть ли поддерживаемые? под линь? интересуют как cli, так и графические; как полноценные, так и тока для сообщений

 

teod0r ()

Как задать nice для сборки портов?

CRUX. Как задать nice для сборки портов (вообще для всех процессов сборки и их потомков)?

 , , ,

teod0r ()

Выбор ноутбука или пк под открытые операционки, на котором прям всё железо работает полноценно

Помогите подобрать ноутбук

  • AMD. хорошо, если последних поколений. чем тише, тем лучше. пусть лучше будет совсем слабый, но очень тихий. вертушка не должна крутиться во время простоя. не должна включаться при слабой нанрузке. дискретка не нужна
  • полная поддержка Linux. чтоб всё работало. желательно без блобов. хорошо если с предустановленным линуксом. DELL? Acer?
  • нажатие кнопки тачпада не должно сдвигать курсор ни на пиксел. 2 кнопки а не одна
  • желательно наличие Legacy BIOS. уефями ни разу не пользовался, нужна возможность грузиться с флешки без хардов
  • хорошо бы чтоб заместо SSD можно было подключить HDD, SSD мне не нужно. или сразу с хардом (не SMR)
  • матрица не больше 15
  • оперативы чем больше, тем лучше. или иметь возможность доставить хотя бы до 32Gb
  • съёмный аккумулятор

Также рассматривается выбор ПК или какого-то SOM или SOC с пассивным охлаждением, максимально свободным и самое главное чтоб ВСЁ железо в компе работало под линуксом (и желательно не только под ним)

 , ,

teod0r ()

неполадки su

# cat test
#!/bin/bash
su - user -c "bash -c \"$@\""
# ./test ls -l
su: invalid option -- '"'

зарепортите, у кого есть аккаунт на гитхабе.

Есть ли альтернативные варианты su?

 

teod0r ()

Вопросы по youtube-dl и python

1) Почему такая низкая скорость скачивания с ютуба? Порядка 60 KiB/s. Перепробовал все возможные ключи. Не пробовал только прокси, менять код страны (на какой?) и User Agent. Есть смысл это попробовать? Что прописать?

2) В Pkgfile порта youtube-dl прописано

/usr/bin/python3 setup.py build
/usr/bin/python3 setup.py install --root=$PKG --optimize=1 --skip-build
/usr/bin/python3 -mcompileall $PKG
/usr/bin/python3 -O -m compileall $PKG
/usr/bin/python3 -OO -m compileall $PKG
Чем это отличается от просто build, install без --skip-build и этих -mcompileall? Если делать просто build ... install то там пробегает bytecompiling, а так — compiling... Что даёт --skip build и -mcompileall?

3) Какую оптимизацию нужно (-O)? Почему в порте 3 раза -m compileall с разными оптимизациями?

 ,

teod0r ()

Не получается скомбинировать несколько выражений в sed

пробую sed -n '/qwerty/p; /ysabcef/p' или sed -n '/qwerty/p; s/abc//' — в первом случае как-будто оба выражения срабатывкют независимо, во втором — как-будто второе не срабатывает. как сделать чтобы второе выражение обработало то, что вывело первое (p)? пробовал комбинации с двумя -e — тоже что-то не так

 ,

teod0r ()

Вопросы по скачиванию портов определённой версии и фильтрация списка портов

1) как можно получить (скачать) порт определённой версии (например предыдущий)?
2) плохо ли для пакетного менеджера, если в /usr/ports/*/.checkouts есть то, чего реально нет в этой директории? подправил ключи для rsync в /etc/ports/drivers/rsync, добавив --exclude-from=/path/to/file --delete-excluded во второй вызов rsync в этом файле, там где # now really run rsync. там скрипт на перле. перл не знаю, что прописать, чтобы он полный список сохранял, допустим, в .checkouts.all, а в .checkouts — отфильтрованный?

 ,

teod0r ()

Вопросы по -march=

1) Если я задам -march=amdfam10, будет работать на вообще ВСЕХ процах AMD последующих поколений, или не на ВСЕХ (3DNow! и т.д.)?
Или всё же лучше -march=x86-64 -m64 -Wa,--64,-march=generic64,-mamd64 ?
Как если надо чтобы работало на всех AMD (не интел) процах начиная где-то с 2010-ых?

2) Почему если задать -Wa,-march=generic64, или -Wa,-march=amdfam10 в CFLAGS,
glibc выдаёт ошибку при сборке?:

gcc ../sysdeps/x86/libc-start.c -c -std=gnu11 -fgnu89-inline  -Wa,-march=generic64 -O2 -Wall -Wall -Wwrite-strings -Wundef -fmerge-all-constants -frounding-math -fno-stack-protector -Wstrict-prototypes -Wold-style-definition -fmath-errno   -fPIC -fno-stack-protector -DSTACK_PROTECTOR_LEVEL=0 -funwind-tables  -ftls-model=initial-exec      -I../include -I/w/w/src/build/csu  -I/w/w/src/build  -I../sysdeps/unix/sysv/linux/x86_64/64  -I../sysdeps/unix/sysv/linux/x86_64  -I../sysdeps/unix/sysv/linux/x86/include -I../sysdeps/unix/sysv/linux/x86  -I../sysdeps/x86/nptl  -I../sysdeps/unix/sysv/linux/wordsize-64  -I../sysdeps/x86_64/nptl  -I../sysdeps/unix/sysv/linux/include -I../sysdeps/unix/sysv/linux  -I../sysdeps/nptl  -I../sysdeps/pthread  -I../sysdeps/gnu  -I../sysdeps/unix/inet  -I../sysdeps/unix/sysv  -I../sysdeps/unix/x86_64  -I../sysdeps/unix  -I../sysdeps/posix  -I../sysdeps/x86_64/64  -I../sysdeps/x86_64/fpu/multiarch  -I../sysdeps/x86_64/fpu  -I../sysdeps/x86/fpu  -I../sysdeps/x86_64/multiarch  -I../sysdeps/x86_64  -I../sysdeps/x86  -I../sysdeps/ieee754/float128  -I../sysdeps/ieee754/ldbl-96/include -I../sysdeps/ieee754/ldbl-96  -I../sysdeps/ieee754/dbl-64/wordsize-64  -I../sysdeps/ieee754/dbl-64  -I../sysdeps/ieee754/flt-32  -I../sysdeps/wordsize-64  -I../sysdeps/ieee754  -I../sysdeps/generic  -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include -isystem /w/w/pkg/usr/include -D_LIBC_REENTRANT -include /w/w/src/build/libc-modules.h -DMODULE_NAME=libc -include ../include/libc-symbols.h  -DPIC -DSHARED     -DTOP_NAMESPACE=glibc -o /w/w/src/build/csu/libc-start.os -MD -MP -MF /w/w/src/build/csu/libc-start.os.dt -MT /w/w/src/build/csu/libc-start.os
gcc ../sysdeps/unix/sysv/linux/x86_64/sysdep.S -c     -I../include -I/w/w/src/build/csu  -I/w/w/src/build  -I../sysdeps/unix/sysv/linux/x86_64/64  -I../sysdeps/unix/sysv/linux/x86_64  -I../sysdeps/unix/sysv/linux/x86/include -I../sysdeps/unix/sysv/linux/x86  -I../sysdeps/x86/nptl  -I../sysdeps/unix/sysv/linux/wordsize-64  -I../sysdeps/x86_64/nptl  -I../sysdeps/unix/sysv/linux/include -I../sysdeps/unix/sysv/linux  -I../sysdeps/nptl  -I../sysdeps/pthread  -I../sysdeps/gnu  -I../sysdeps/unix/inet  -I../sysdeps/unix/sysv  -I../sysdeps/unix/x86_64  -I../sysdeps/unix  -I../sysdeps/posix  -I../sysdeps/x86_64/64  -I../sysdeps/x86_64/fpu/multiarch  -I../sysdeps/x86_64/fpu  -I../sysdeps/x86/fpu  -I../sysdeps/x86_64/multiarch  -I../sysdeps/x86_64  -I../sysdeps/x86  -I../sysdeps/ieee754/float128  -I../sysdeps/ieee754/ldbl-96/include -I../sysdeps/ieee754/ldbl-96  -I../sysdeps/ieee754/dbl-64/wordsize-64  -I../sysdeps/ieee754/dbl-64  -I../sysdeps/ieee754/flt-32  -I../sysdeps/wordsize-64  -I../sysdeps/ieee754  -I../sysdeps/generic  -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include -isystem /w/w/pkg/usr/include -D_LIBC_REENTRANT -include /w/w/src/build/libc-modules.h -DMODULE_NAME=libc -include ../include/libc-symbols.h  -DPIC -DSHARED     -DTOP_NAMESPACE=glibc -DASSEMBLER -I/w/w/src/build/csu/. -Werror=undef -Wa,--noexecstack   -o /w/w/src/build/csu/sysdep.os -MD -MP -MF /w/w/src/build/csu/sysdep.os.dt -MT /w/w/src/build/csu/sysdep.os
../sysdeps/x86/cpu-features.c: Assembler messages:
../sysdeps/x86/cpu-features.c:154: Error: `xgetbv' is not supported on `generic64'
make[2]: *** [/w/w/src/build/sysd-rules:891: /w/w/src/build/csu/libc-start.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/w/w/src/glibc-2.32/csu'
make[1]: *** [Makefile:470: csu/subdir_lib] Error 2
make[1]: Leaving directory '/w/w/src/glibc-2.32'
make: *** [Makefile:9: all] Error 2

'xgetbv' is not supported on 'generic64'.
Это он как-то неправильно набор инструкций определил?
Если без -Wa,-march=generic64 — ошибки нет. Т.е. если даже задан -march=x86-64 (gcc), есть ошибка, пока не уберёшь -Wa,-march=

Или неправильно ассемблеру -march= задавать, а надо тока компилятору?

 , ,

teod0r ()

Фильтрация по порядку шаблона

Как можно фильтровать по регулярке (1|a|c|2|3|b|v) с сохранением сортировки по шаблону, если текст:

2
a
v
3
b
f
o
?

Т.е. должно вывести:
a
2
3
b
v


Данный шаблон просто пример. Есть набор строк, нужно фильтровать по второму столбцу по шаблону, сохраняя последовательность как в шаблоне.
Вообще этот шаблон у меня изначально массив ( 1 a c 2 3 b v ), просто преобразовал в регулярку, если как-то сразу массивом получится — ещё лучше.
Через grep получается добиться подобия того, что мне нужно grep -f </file_with_filter_lines /text, но если в /file_with_filter_lines есть регулярки — почему то не работает.
Можно конечно циклом while read пробежаться, но хочется одной командой, while read с циклом сравнения всё-равно будет медленнее какого-нибудь sed, grep или awk

 , , ,

teod0r ()

Вопрос по libtirpc, libnsl

Так и не смог найти толкового объяснения, для чего нужен RPC. И что за NIS...
Нужны ли мне в моей сборке CRUX библиотеки libtirpc и libnsl? Что без них не будет работать?

Пока в моей сборке от них зависят только perl, python и lsof.

Пробовал собрать perl без libnsl, подправив configure, но она всё-равно прилинковалась.(не тот configure правил, ща вроде должно собраться без них) Научите патчить, чтобы собирать с возможностью отключать линковку выборочно.

UPDATE: perl собрался без них. Т.е. они мне не нужны? Они типо по сути нужны только для распределённых по сети вычислений, правильно я понимаю? Или для чего ещё они нужны?

 ,

teod0r ()

Как переназначить обработчик при нажатии ^C для ВСЕХ программ, запущенных из интерактивного shell'а?

Как сделать, чтобы при нажатии CTRL+C не происходил посыл SIGINT, а выполнялся мой обработчик? Например, чтобы выполнялся kill -9 -$$.
Т.е. мне надо переназначить обработку для вообще ВСЕХ программ, всяких nano, lynx, less, и вообще всего запускаемого в интерактивном режиме; ну кроме самого текущего интерпретатора и терминала (при этом должно действовать на всех остальных потомков), т.е., возможно, с каким-то списком исключений.

Это маразм, когда нет возможности гарантированно остановить работу исполняющейся программы и всех её потомков. Постоянно сталкиваешься с хернёй, когда скрипт или программа (например rsync) не реагирует на ^C. Я один раз даже столкнулся с тем, что ping, запущенный в скрипте, не отриогировал на SIGINT.
Нужно 100% рабочее решение, гарантирующее моментальное прекращение работы ЛЮБОЙ программы и всех её потомков.

trap из bash не работает.
bind не получилось настроить.

 ,

teod0r ()

Как проверить массив на пустоту?

Многие годы я жил в заблуждении. Думал, что можно проверить

[[ -z "${ARRAY[@]}" ]]

Оказалось это не работает.
С ARRAY[0]= работает. Но стоит пявиться ARRAY[1]= и всё.

Как же проверить за один раз, пустой ли массив?
Столько скриптов переписано, а этого не знаю, вернее, был уверен, что знаю, а оказалось вон оно как.
Должно же быть какое-то элементарное решение...

 

teod0r ()

awk. Как сделать, чтобы возвращал false? И вопросы по sed

Как сделать, чтобы awk возвращал false?

Вот, например,

awk '$2 == "aa" {print; exit}' /file

Мне нужно чтобы он выводил первое совпадение и завершался, а в случае, если ничего не найдено, завершался с ошибкой. Как -m1 у grep.
Пробовал втыкать разные else и false, но без знания синтаксиса не получается.
Ещё одна проблема, что он выводит пустые строки, когда ничего не нашёл, если перенаправлять его вывод в переменную. Как этого избежать?

Заодно спрошу по sed. У него ущербный man.
Как сделать, чтобы обрабатывал только первое встретившееся совпадение? Опять же аналог ключа -m1 у grep.
Чтобы работало для всяких там 's///'. Знаю, что, вроде бы, нужно добавить какие-то символы и '1' перед 's'.
А как пользоваться командой 'p'? Наподобие '/rrrr/d', только не 'd', а 'p', но оно почему-то не работает.

 ,

teod0r ()

100% анонимный интернет

Прочитав уязвимости i2p в википедии, понял, что i2p не даёт гарантии 100% анонимности, не говоря уже про TOR, наверное, уже половина, если не больше, выходных узлов которого контролируют спецслужбы.

Можно ли через yggdrasil выходить в интернет?

Делает ли yggdrasil подмену ip-адреса на каждом узле, как i2p?

Есть ли вообще способы децентрализованного шифрованного выхода в интернет с подменой ip-адреса, чтоб никакие спецслужбы не могли вычислить?

VPN, VPS, proxy не предлагать, т.к. нет гарантии честности ресурса, и нужно именно децентрализованное решение, над которым нет контроля ни у одного человека, т.к. на любого можно "надавить".

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

 

teod0r ()

Не собирается mesa под старую видеокарту radeon HD6000

Старая ноутбучная видеокарта Radeon HD6000-серии.

Конфиг месы:

	meson setup build mesa-$version \
		--prefix=/usr \
		--sysconfdir=/etc \
		--buildtype=plain \
		-D llvm=enabled \
		-D shared-llvm=enabled \
		-D gbm=enabled \
		-D gles1=enabled \
		-D gles2=enabled \
		-D osmesa=true \
		-D gallium-xa=enabled \
		-D gallium-vdpau=enabled \
		-D platforms=x11 \
		-D gallium-drivers=svga,swrast,r600 \
		-D glx-tls=enabled \
		-D glx=dri \
		-D gallium-opencl=icd \
		-D gallium-nine=true

При конфигурировании ошибка:
Run-time dependency libdrm found: YES 2.4.105
WARNING: Ignoring LLVM CMake dependency because dynamic was requested
llvm-config found: YES (/usr/bin/llvm-config) 11.1.0
Run-time dependency LLVM (modules: amdgpu(missing), asmparser, bitreader, bitwriter, core, coverage, engine, executionengine, instcombine, instrumentation, ipo, irreader, linker, lto, mcdisassembler, mcjit, native, objcarcopts, option, profiledata, scalaropts, transformutils, coroutines, frontendopenmp) found: NO (tried cmake and config-tool)
Looking for a fallback subproject for the dependency llvm (modules: bitwriter, engine, mcdisassembler, mcjit, core, executionengine, scalaropts, transformutils, instcombine, amdgpu, native, bitreader, ipo, asmparser, linker, coverage, instrumentation, ipo, irreader, lto, option, objcarcopts, profiledata)

mesa-21.0.2/meson.build:1563:2: ERROR: Neither a subproject directory nor a llvm.wrap file was found.

Ругается, что llvm собран без поддержки AMDGPU, но у меня старая видеокарта серии r600 и будет использоваться драйвер radeon.

Или r600 галиумом уже не поддерживается? Как собрать?

 , , ,

teod0r ()

Пара вопросов по портам в CRUX

1) при использовании опции --install-root=/dir/ откуда будут проверяться зависимые библиотеки, из /dir/ или из / ? т.е. где будет смотреться версия и вообще наличие библиотек при компиляции? надеюсь, что проверяться будет из /dir/, а то иначе это неправильно.

2) как быть, если нужно установить бинарный пакет? не хватает оперативы на компиляние всяких clang и rust. где брать бинарные пакеты? допустим хочу установить пакет из слаки, есть ли какие-то тулзы для конвертации пакетов? как быть, если будут pre- и post-install скрипты? оборачивать установку бинарного пакета в Pkgfile?

 

teod0r ()

Походу, поиск на сайте плохо работает

Пытаюсь найти тему про сайты, на которых можно смотреть как выглядит тот или иной сайт, недавно была тема.
Вбиваю в поиск «посмотреть сайт» — ничего не находит, а по такому запросу явно должны быть хоть какие-то результаты.
cast maxcom

 

teod0r ()

Больше похожих тем

В топике отображается 10 похожих тем.
Хотелось бы иметь возможность видеть больше. Например, можно сделать «Похожие темы» кликабельной ссылкой, открывающей страницу, выдающую больше похожих тем.

 

teod0r ()

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