LINUX.ORG.RU

Сообщения mky

 

Двоичные пакеты и дерево Portage

Допустим есть сервер, который собирает пакеты (FEATURES=«buildpkg») и выдаёт их по http, и клиент, у которого этот сервер указан в PORTAGE_BINHOST. Я правильно понимаю, что они оба должны делать «emerge --sync», и желательно одновременно? Или можно как-то сделать, чтобы клиент брал дерево с сервера бинарных пакетов?

 

mky
()

Насколько хорошо работат BT на Rapberry Pi Zero W?

Интересуют отзывы, кто подключает к малинке всякие bluetooth устройства (клава, мышка и т.д.) Там чип bcm43438, вроде весь Broadcom как-то не особо дружит с Линуксом. Да и BT тот ещё глюкодром. Но, в целом, он вобще рабочий или лучше контроллер в usb-воткнуть?

 

mky
()

Gentoo. Нужно выпинывать питон 2.7?

Решил тут обновить, ну почитал, что от питон 3.6 отказались, что теперь PYTHON_TARGETS="python2_7 python3_7" сделал как советовали в новости: emerge --depclean; emerge -1vUD @world. Потом решил обновить систему, получил:

WARNING: One or more updates/rebuilds have been skipped due to a dependency conflict:                                          
                                                                                                                               
dev-python/pygments:0                                                                                                          
                                                                                                                               
  (dev-python/pygments-2.6.1:0/0::gentoo, ebuild scheduled for merge) USE="-doc -test" ABI_X86="(64)" PYTHON_TARGETS="python3_7
 (-pypy3) -python3_6 (-python3_8)" conflicts with                                                                              
    dev-python/pygments[python_targets_python2_7(-),python_targets_python3_7(-),-python_single_target_pypy3(-),-python_single_t
arget_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] re
quired by (dev-python/docutils-0.16:0/0::gentoo, ebuild scheduled for merge) USE="" ABI_X86="(64)" PYTHON_TARGETS="python2_7 py
thon3_7 (-pypy3) -python3_6 (-python3_8)"

Почитал https://forums.gentoo.org/viewtopic-p-8454088.html?sid=59aadbc9bd435eabb97adc... , если правильно понял, то проблема в том, что docutils может в питон 2.7, а pygments только в 3.6 и выше. Или не правильно?

Вроде, минимум, достаточно прописать в /etc/portage/package.use/:

dev-python/docutils  PYTHON_TARGETS: -python2_7
но, можно и как-то так:
*/* PYTHON_TARGETS: -python2_7

# Exceptions:
dev-libs/libxml2        PYTHON_TARGETS: python2_7
dev-python/cython       PYTHON_TARGETS: python2_7 

Но как-то оба варианта не нравятся, до этого PYTHON_TARGETS вобще не трогал. Это потом не создаст проблемы при очередном обновлении? Во втором варианте не нравится, что нужно будет как-то отслеживать, что пакет может без 2.7 и убирать его из списка исключений.

 ,

mky
()

Объясните про mkntfs

Понадобилось создать загрузочную флешку с офтопиком (семёрочкой). Вроде всё просто MBR, флаг active, ms-sys -7, mkntfs, скопировать файлы. Но выяснил, что, в общем то, написано здесь http://freebsd.1045724.x6.nabble.com/mkntfs-doesn-t-install-NTFS-s-bootcode-d... Флешка не грузится, более того, выводится сообщение:

This is not a bootable disk. Please insert a bootable floppy and
press any key to try again
И эту надпись выводит именно загрузчик от mkntfs версии 2017.3.23. Если скомпилить (как написано по ссылки) «франкенштейна» — заменить в исходниках boot.c на тот, что шёл в версии 2016.2.22, то всё работает как и должно.

Кто-нибудь в курсе зачем так сделали? А это как-то издевательски, по сообщению про ″not a bootable″ гуглится куча форумов про правильное разбиение флешки и я истратил несколько часов, на всякие fdisk, sfdisk, parted. И, главное, как сейчас правильно под линуксом делать загрузочный раздел с NTFS и bootmgr?

 mkntfs

mky
()

Ядро 4.19 i586 16М ОЗУ ?

Не получается загрузить ядро 4.19 на старом первом пне 133 МГц с 16 Мбайт ОЗУ. Не вижу даже сообщения:

Linux version 4.19.37...

Хотя загрузчик (пробовал grub 2.02 и lilo 24) работает, и, допустим, memtest86+-4.20.bin загружат. И в целом железо рабочее, там обрезаный RH 9.0 с ядром 2.4.24 работает.

В ядре включены ″Enable verbose x86 bootup info messages″ и ″Early printk″, но сообщений нет.

Если грузить через grub в 16-бит режиме:

>linux16 (hd0,msdos1)/vmlinuz debug 

то выводится:

early console in setup code
и на этом всё. Что-то можно поменять в конфиге ядра, чтобы понять, на чём всё ломается? Или может где написано, что 16 Мб ОЗУ настолько мало, что 4.x ядро вобще ничего не может?

 i586,

mky
()

Не получается собрать chromium

Gentoo, профиль 17.1, amd64. Пытаюсь собрать chromium-75.0.3770.90. Процесс сборки идёт достаточно долго, а потом залипает, сборка не завершается, в процессах висит такое:

/usr/bin/python3.6m /usr/lib/portage/python3.6/pid-ns-init 30488
 \_ /usr/bin/python3.6m /usr/lib/portage/python3.6 /pid-ns-init 250 250 250 18 0,1,2 /usr/bin/sandbox [www-client/chromium-75.0.3770.90] sandbox /usr/lib/portage/python3.6/ebuild.sh compile
  \_ [www-client/chromium-75.0.3770.90] sandbox /usr/lib/portage/python3.6/ebuild.sh compile
   \_ /bin/bash /usr/lib/portage/python3.6/ebuild.sh compile
    \_ /bin/bash /usr/lib/portage/python3.6/ebuild.sh compile
     \_ ninja -v -j1 -l0 -C out/Release v8_context_snapshot_generator
      \_ /usr/bin/python2.7 ../../build/gn_run_binary.py transport_security_state_generator ../../net/http/transport_security_state_static.json ../../net/http/transport_security_state_static.pins ../../net/http/transport_security_state_static.template gen/net/http/transport_security_state_static.h
        \_./transport_security_state_generator ../../net/http/transport_security_state_static.json ../../net/http/transport_security_state_static.pins ../../net/http/transport_security_state_static.template gen/net/http/transport_security_state_static.h

Процесс transport_security_state_generator ничего не делает, если его трассировать, то там сплошное futex(..., FUTEX_WAIT_PRIVATE,...). Код в этом transport_security_state_generator.cc простой, если его запускать из консоли, то он работает и создаёт transport_security_state_static.h.

Я не нашёл чего-то подобного в гугле, не знаю что делать, есть мысль пока идёт сборка поправить gn_run_binary.py, чтобы он игнорировал «смерть» потомка по SIGHUP, чтобы можно было при сборке завершить этот transport_security_state_generator без останова сборки... Или проще прервать сборку, заменить проблемный бинарник на /bin/true и продолжить через ″ebuild ... compile″? Или пробовать замаскированый chromium-75.0.3770.100?

P.S. Такое поведение повторяется один в один 3 раза подряд, ccache отключил.

 

mky
()

Распечатать MBR и GPT

Ищу программу, которая может просто распечатать (в читаемом виде, а не hexdump) все три таблицы разделов диска — MBR, GPT в начале и GPT в конце. И хорошо бы, чтобы её можно было просто «скармливать» на вход бинарный кусок (сектор), а программа печатала всё как есть, без анализа содержмого, типа перекрывающиеся разделы и т.д.

fdisk выдаёт какую-то компиляцию из MBR и GPT, нашёл sgdisk, который умеет отдельно MBR (опция -O) и GPT (опция -p), но он на интересующую флешку пишет только «invalid partition table», а ядро видит там два раздела. И нельзя задать какой GPT выводить.

 ,

mky
()

Разбить бинарный пакет на части

Можно ли в gentoo разделить бинарный пакет с библиотекой на два пакета — базовый, где непосредственно библиотека (*.so) и -devel, где доки, заголовки и пр. необходимое для компиляции с этой библиотекой? Чтобы на другую машину можно было установить только нужные для работы файлы, а потом, если понадобилось там что-то пособирать, доставить -devel пакеты.

 ,

mky
()

Есть ли список ext4 features с версиями ядер?

Вопрос в общем-то в том, как на системе со свежим ядром и утилитами создавать ФС ext2/3/4, которая потом будет подключена к чему-то древнему, чтобы она там прочиталась.

Конечно, можно отключить всё через -O none. но ведь некоторые feature существуют достаточно давно и могут быть полезны, можно ли как-то узнать, что старое ядро версии x.y их понимает без метода проб и ошибок?

 

mky
()

Как переключть HDMI в YCrCb444 на GeForce?

Есть старый комп с интегрированным GeForce 8300, к нему через HDMI подключен ТВ Samsung FullHD, модель писать лень.

С помощью винды обнаружил, что картинка заметно лучше, как ни странно, если передавать сигнал в формате YCrCb, а не RGB. Это заморочка данного ТВ, но менять его не хочу, хочу под Линуксом переключить цветовую кодировку HDMI.

Нигде не нашёл как сделать это на nouveau. YCrCb гуглится только про Нвидиевский блоб, ati и intel, а про nouveau тишина, ни «да возможно», ни «нет это не возможно». С учётом того, что существуют ТВ, у которых 4К только через YCrCb становится совсем не понятно, почему у разработчиков nouveau про это не написано, может оно у них как-то по другом называется?

Ядро 4.19.37-gentoo, если это важно.

 ,

mky
()

Перезагрузка, если не найден корень?

Сейчас, если initramfs не удалось найти коренвую ФС выводится сообщение:

Boot has failed, sleeping forever.
и на этом всё прекращается. Как можно с минимальными усилями сделать, чтобы в этом случае система перезагружалась? Понятно, что можно изучить внутренности dracut'а и написать модуль, который через какой-нибудь hook повесит скрипт, срабатывающий при вызове emergency_shell... Но может есть что готовое или более простое решение?

ОС Centos 6.x, но, вроде такое поведение dracut остаётся и более свежих версиях.

Нужно мне это для того, чтобы загружаясь с новым ядром через ″grub savedefault ... --once″ в случае кривого ядра/initramfs система не зависала, а перегружалась в номальное ядро.

 ,

mky
()

Что такое Swap Server (dhcp option 16)?

Заметил, что в описании dhcp/bootp есть такое:

Swap Server (Tag: 16, Data: 4 address bytes)
An IP address to hold the IP address of a swap server.

Вроде как появилось в rfc-1395 (1993 год) и в таком виде существует в последующих редакциях, без обяснения по какому протоколу работает и что вобще делает этот swap сервер. Нагуглить какую-нибудь RFC по этому поводу я не смог, может кто в курсе что это? На NFS не похоже, потому что только ip-адрес, NBD тогда ещё не было.

mky
()

Неправильная дата в «Уведомлениях».

Вот сейчас у меня в уведомлениях есть одно уведомление:

вчера 22:21
а следующее
сегодня 23:54
Хотя от сегодня ещё и 4 часов не прошло. Возможно, это не бага движка, а просто последствия изменения tzdata.

mky
()

Уведомление о новом опросе?

В связи с сокращеним времени жизни опроса на главной странице до 1-3 дней и отсутствием возможности голосовать в прошедших опросах, может сделать настраиваемое уведомление о подтверждении нового опроса? Или такая возможность есть (не RSS)?

И по какой причине сделано, что голосовать можно только в активном опросе, а не, допустим, 2 недели с момента подтверждения опроса?

mky
()

По поводу 3.1

Уважаемые господа модераторы, можно ли удаляя тему по причине «Дубль» давать ссылку на другой топик, который остаётся? Или, ещё лучше, не удалять, а переводить в RO, чтобы комментарии оставались видимыми.

mky
()

Действия на комбинации кнопок мышки в X

Доброго времени суток.

Хочется, чтобы на комбинации кнопок мышки можно было назначить какое-то действие. Например, нажал левую кнопку и два раза нажал/отпустил правую и сгенерилось событие нажатия клавиши «F» или скрипт какой запустился.

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

mky
()

Проблемы с памятью при свопинге

Система Scientific Linux 6.2. Иногда, когда заполнена вся память и часть свопа, некоторые команды из консоли не срабатывают с первого раза, например:

[root@mky p]# ip link set up dev eth4
RTNETLINK answers: Cannot allocate memory
В момент выполнения команды наблюдается интенсивная работа диска (видимо свопинг), повторный запуск этой же команды выполняется замечательно.

При этом в свопе достаточно места:

[root@mky p]# free
             total       used       free     shared    buffers     cached
Mem:        511788     449196      62592          0       3608      98516
-/+ buffers/cache:     347072     164716
Swap:       851436     245800     605636

Аналогично ведёт себя tcpdump, может ещё какие команды. Разумется, что 512 Мбайт памяти по современным меркам очень мало, но всё таки интерестно, почему система завершает команду «ip» с ошибкой, а не приостанавливает её выполнение на время работы со свопом? И можно ли что-то с этим сделать (кроме увеличения ОЗУ)?

 

mky
()

REJECT пакетов в отсутствии ipsec туннеля

Имеет ipsec туннель между сервером CentOS 5, openswan 2.6.32-3.el5 и клинетом GPRS модемом MOXA G3150. За сервером сеть 192.168.0.0/16, за модемом 172.16.30.0/29. У модема динамический ip-адрес, поэтому пока он не установит соединение с сервером, туннеля нет.

Когда туннель установлен, пакеты заворачиваются в esp и ходят как надо, но когда туннеля нет, пакеты, из локальной сети 192.168.0.0/16, уходят по маршруту по умолчанию, а хотелось бы, чтобы был REJECT этих пакетов с созданием соответствующих icmp-пакетов.

Первый, пришедщий в голову костыль — следить за выводом «ip xfrm pol» и зависимости от наличия/отсутствия политик (создаваемых openswan pluto) удалять/создавать REJECT правило в iptables FORWARD. Но это же совсем не правильно, научите как правильно.

P.S. Модем умеет только ipsec, не надо советовать openvpn.

 ,

mky
()

Страница с правилами оформления?

А есть на ЛОРе страница, где в доходчивой форме, в паре абзацев и одной картинке объясняется как правильно постить логи, вывод iptables и т.д.

Чтобы в ответ на «кашу» в коменте кидать ссылку на эту страницу. И требовать её прочтения при регистрации :)

mky
()

[kernel] Обработка bad sectors?

Заинтересовало как в ядре организована обработка нечитающихся секторов при условии, что сектор 512 байт, а блок (блочное устройство) 1024. И, вроде как, в кеше и в остальных местах работа идёт с блоками.

Вот, если ядро не сможет прочитать первый сектор блока, то весь блок считается плохим или ядро попробует прочитать второй сектор блока?

Когда делается «dd if=... conv=noerror», то нулями будут забиты только плохие сектора или блоки по 1024 байта?

 

mky
()

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