LINUX.ORG.RU

Сообщения pS

 

Поделюсь скриптом для Gentoo

Любителям пересборки различных наборов пакетов предлагаю слегка переработанный мной вариант от Jordan Callicoat.

Назначение: вывод списка пакетов, ещё не обработанных emerge.

Зависимости: python 2.

Ъ:

#!/usr/bin/python2

# Script to read portage resume list
# Jordan Callicoat < MonkeeSage at gmail dot com >
# public domain

import sys, getopt, os, portage

def main(argv):

    try:
        opts, args = getopt.getopt(argv, "bf")
    except getopt.GetoptError as err:
        print str(err)
        print 'Usage:\n{} [-bf]'.format(os.path.basename(sys.argv[0]))
        sys.exit(2)
    keyname = 'resume'
    keyname2 = 'mergelist'
    for opt, arg in opts:
        if opt == "-b":
            keyname = 'resume_backup'
        if opt == "-f":
            keyname2 = 'favorites'
    if (portage.mtimedb.has_key(keyname) and
        len(portage.mtimedb[keyname][keyname2]) != 0):
            if keyname2 == "mergelist":
                for item in portage.mtimedb[keyname][keyname2]:
                    print item[2]
            elif keyname2 == "favorites":
                for item in portage.mtimedb[keyname][keyname2]:
                    print item

if __name__ == "__main__":
    main(sys.argv[1:])

 , ,

pS
()

Как отобразить @system?

Привет всем интересующимся!

Часто встречаются рекомендации: «обнови @system», «обнови @world». Как это понимать? Какие реально пакеты входят в @system и @world? Задавшись этими вопросами, я попытался воссоздать содержание системных сетов для актуального состояния системы Gentoo.

Легко проверить, что при запросе emerge -1ea @system, возможно, потребуется пересобрать сотни пакетов, связанных со stage3 (ввиду развития системы use-флагов). С другой стороны, команда emerge -1eaO @system вынуждает учитывать виртуальные пакеты, не имеющие явного влияния на код.

Я давно заприметил служебную программу portageq (справка portageq --help). В частности, она позволяет получить информацию о соответствии обычного пакета виртуальному: portageq expand_virtual / =virtual/..., причём обычный пакет соответствует выбранному в данной системе представлению виртуала. Команда portageq match / пакет подбирает наилучшее соответствие версии к пакету.

В результате возник скрипт на баше, принимающий в качестве параметра сет (с лидирующим «@»):

#!/bin/bash

echo "$(emerge -1qepO $1 | sed 's/\[[^]]\+] //')" | while read PKG
do
  if [ -z "$(grep '^virtual/' <<< $PKG)" ]
  then
   echo $PKG
  else
    portageq match / $(portageq expand_virtual / "=$PKG")
  fi
done | sort | uniq
Наверняка это не оптимальное решение проблемы, поэтому приветствуется конструктивная критика. Помогите с оптимизацией.

P.S. Удручает низкая производительность скрипта на виртуальных пакетах.

 , ,

pS
()

Подскажите название книги

Привет лоровцам!

Помогите, пожалуйста, вспомнить название/автора книги по следующему сюжету:

В интернетах проводился эксперимент по разработке искусственного интеллекта для игр, но проект был заброшен. Однако админ не удалил ПО, а продолжал гонять сервак. Содержимое сервака — фэнтезийный мир. Через какое-то время программа сгенерировала перса (он же — ГГ), который обладал сознанием, а кроме того, мог «одушевлять» и других персонажей при длительном общении.

Как-то так. Линукс тут при том, что тоже упоминается в книге.

 ,

pS
()

Непонятная активность в portage --sync.

Уже более недели при выполнении subj происходит массовая пересылка файлов ChangeLog и/или Manifest для кучи пакетов. Посмотрел несколько на выбор: ничего, вроде, не изменяется. Подскажите, с чем это связано.

 ,

pS
()

Доступ к sysfs из модуля ядра

Привет всем!

Прошу подсказать, как из модуля ядра читать/писать уже созданные другими модулями атрибуты/файлы из sysfs. Гугл циклически переводит в тему «Create sysfs entry». Насколько я разобрался в вопросе, то необходимо получить указатели на kobjects (ksets?), определённые в ядре, и, возможно, использовать какие-то функции для выяснения взаимосвязей между ними. Поскольку программирование ядра для меня — вещь новая, то неплохо заодно порекомендовать доступные начинающему руководства поновее.

ЗЫ. Костыльное решение чтения/записи файла, как такового, я рассматривал, но оно нежелательно из-за архитектурной специфичности.

 ,

pS
()

Специальное чтение из файла

Привет всем!

Интересует вопрос: можно ли создать в linux «файл», при чтении из которого выводились бы результаты работы заданного скрипта/программы? Если да, то как это сделать? Заранее спасибо.

 , ,

pS
()

Plasma5: sddm login

Привет всем! Столкнулся с проблемой авторизации в новом kde.

Имеется: gentoo (x86), sys-apps/openrc=0.13.11, x11-misc/sddm-0.11.0, plasma-5.3.1, kf5-5.10.0. Сгенерирован пользовательский ключ ssh (посажен на связку net-misc/keychain).

После нормальной загрузки и ввода пароля пользователя на экране sddm tty7 виснет. Полагаю, что ожидается пароль ключа, т.к. зарегавшись на tty1 и перезапустив xdm, авторизация sddm идёт на ура. Устал уже гуглить и играться с ssh-add и ksshaskpass. Подскажите, плз, правильные действия.

 , ,

pS
()

emerge предлагает добавление keywords

Всем доброго времени!
Собственно сабж в последней строке выхлопа от ebuild'а:

The following keyword changes are necessary to proceed:
 (see "package.accept_keywords" in the portage(5) man page for more details)
# required by app-office/openerp-7.0.20140125
# required by app-office/openerp (argument)
=dev-python/python-openid-2.2.5-r1 ~x86
...
...

Would you like to add these changes to your config files? [Yes/No]
Как отключить такую фичу?

 ,

pS
()

Эпопея с бакендами phonon

Приветствую всех!
Опять порадовало сегодняшнее обновление gentoo! Вот выхлоп emerge, вот — equery. Исходный media-libs/phonon-4.6.0-r1 собран с флагом gstreamer. Подскажите, пожалуйста, почему emerge требует phonon и phonon-vlc из тестовой ветки? Кстати, может быть это — повод перейти на phonon-vlc, хотя полностью от gstreamer освободиться не удаётся (qtwebkit).

 , ,

pS
()

Общая директория distfiles

Здравствуйте, лоровцы! Хочу решить проблему очистки расшаренной папки distfiles от старых версий тарболов. Утилита eclean-dist, например, удалит файлы, нужные для других машин, так как архитектуры, да и содержимое @world — разные для всех хостов. Подскажите, пожалуйста, годный вариант.

 ,

pS
()

Доканал networkmanager

Здравствуйте!
Некое время назад (около недели) пришло много обновлений. После их установки networkmanager (0.9.8.10-r1) перестал видеть 3G модем (Huawei E352b). Пакеты usb_modeswitch, modemmanager, mobile-broadband-provider-info установлены (и пересобраны). usb_modeswitch отрабатывает при загрузке системы и перетыкании модема (происходит переключение из 12d1:14fe в 12d1:1506), однако сообщений modemmanager'а в messages нет. При создании нового соединения модем не пределяется (мастер выдаёт «Любой GSM модем». То же оборудование функционирует через загрузочный systemrescuecd (пишу на нём).
Подскажите, пожалуйста, куда копать.

Выяснилось, что NetworkManager не запускает ModemManager. Непонятно, в чём причина (это стало происходить после обновления)?

 , ,

pS
()

Чистка shadow

Доброго времени!
Хотелось бы прояснить вопрос по ненужным системным пользователям/группам. Я имею ввиду тех, что автоматом устанавливаются каким-либо пакетом, а при его удалении остаются в системе. Есть ли какой-нибудь софт/мануал по поиску таких «артефактов». Или, может быть, я зря беспокоюсь? Сюда пишу, так как думаю, что это проблема имеет отношение к безопасности.

 , ,

pS
()

Сборка dev-qt/qtsql-5.3.0

Приветствую всех интересующихся!
Прилетело обновление Qt5 из оверлея qt. Пересобрал всё, кроме сабжа. Вот build.log сборки. Через package.env делал make -j1 и флаги CFLAGS=CXXFLAGS=... -Os .. — не помогло. Подскажите, пожалуйста, годный вариант.

 ,

pS
()

Почтовая система *nix

Всем добра!

Проблема следующая: нужно получать почтовые сообщения от сервисов localhost на этом же localhost. Поиск в инете выдаёт решения, которые предлагают построить избыточную для меня почтовую систему (работа через сеть не нужна).

Подскажите простой (минимальный) вариант или документацию по теме.

 ,

pS
()

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