Проблема с блокировками [РЕШЕНО]

Проблема с блокировками - как их преодолевать?
Вот допустим, такая блокировочка
[blocks B ] '<'sys-apps/util-linux-2.13 ("'<'sys-apps/util-linux-2.13" is blocking sys-apps/coreutils-7.1)
Как ее преодолевать? мочить util linux? что-то мне ссыкотно, что потом смогу все поставить обратно, ибо сейчас он не компилится.

mount-mount.o: In function `try_mount_one':
mount.c:(.text+0x194b): undefined reference to `security_get_initial_context'
collect2: ld returned 1 exit status
make[2]: *** [mount] Ошибка 1
make[2]: Leaving directory `/var/tmp/portage/sys-apps/util-linux-2.14.2/work/util-linux-ng-2.14.2/mount'
make[1]: *** [all-recursive] Ошибка 1
make[1]: Leaving directory `/var/tmp/portage/sys-apps/util-linux-2.14.2/work/util-linux-ng-2.14.2'
make: *** [all] Ошибка 2

Как это делают опытные джедаи?

Ну чтобы так страшно не было,

Ну чтобы так страшно не было, выполните

quickpkg --include-config=y '=sys-apps/util-linux-2.13'

Потом сможете установить при помощи

emerge -k '=sys-apps/util-linux-2.13'

Я Gentoo & Funtoo

Спасибо, реально помог

Спасибо большое, реально помог. +1
Тогда еще вопрос - а какие гентушные утилиты наиболее юзабельные?
Я пользуюсь emerge, portageq, equery, eix, revdep-rebuild, ufed, eselect, etc-update
Плюс quickpkg выучу. Есть что нибудь еще, чем пользуются гуру?

buildpkg в FEATURES.

buildpkg в FEATURES.

/

dancingfire написал(а):
buildpkg в FEATURES.

Может оказаться избыточным.
Правильный минимум --- buildsyspkg.

:wq
--
Live free or die

Не знаю, чем пользуются

Не знаю, чем пользуются "гуру", но могу посоветовать в дополнение к перечисленным euse из app-portage/gentoolkit и утилиты из portage-utils.

Я Gentoo & Funtoo

genlop ещё

genlop ещё

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

Так как время в логе emerge

Так как время в логе emerge (/var/log/emerge.log) записывается в формате UNIX
(«количество секунд, прошедших с полуночи 1 января 1970 года без учета високосных секунд»), что не удобно для просмотра человеком. Где-то на просторах Internet'а был найден такой скриптик:

#!/bin/sh
# В логе emerge (/var/log/emerge.log) дата время записывается в формате UNIX
# («количество секунд, прошедших с полуночи 1 января 1970 года без учета високосных секунд»).
# Сконвертировать время с помощю awk можно так
cat /var/log/emerge.log | awk -F: '{print strftime("%c", $1),$2}' | less

который позволяет просматривать лог несколько удобнее.

Я Gentoo & Funtoo

На самом деле

Lupo Alberto написал(а):
Так как время в логе emerge (/var/log/emerge.log) записывается в формате UNIX
(«количество секунд, прошедших с полуночи 1 января 1970 года без учета високосных секунд»), что не удобно для просмотра человеком. Где-то на просторах Internet'а был найден такой скриптик:

#!/bin/sh
# В логе emerge (/var/log/emerge.log) дата время записывается в формате UNIX
# («количество секунд, прошедших с полуночи 1 января 1970 года без учета високосных секунд»).
# Сконвертировать время с помощю awk можно так
cat /var/log/emerge.log | awk -F: '{print strftime("%c", $1),$2}' | less

который позволяет просматривать лог несколько удобнее.

Данная фича (формат записи времени) свойственен не только этому логу.
С точки зрения вумных книжек (придёт glyanchik --- можно будет попросить поцитировать) скрипт написан не оптимальным образом.
Я бы рекомендовал следующий формат:
recode_time.sh:

#!/bin/sh
# В логах многих приложений дата время записывается в формате UNIX
# («количество секунд, прошедших с полуночи 1 января 1970 года без учета високосных секунд»).
# Сконвертировать время с помощю awk можно так
# awk -F: '{print strftime("%c", $1),$2}' $FILE
if [ -s $1 ]
then
  awk -F: '{print strftime("%c", $1),$2}' $FILE | less
else
  echo "В качестве аргумента должен быть указан не пустой лог-файл"
fi

ИМХО однозначно в FAQ или (что лучше) в специально созданный близкий по сути и структуре, но отличный по наполнению раздел полезных скриптов (тема на форуме уже поднималась).

:wq
--
Live free or die

Ну мой-то скрипт

Ну мой-то скрипт "узкоспециализированный" :) и, главное, он делает ровно то, что мне нужно. А так, конечно, совершенству нет предела! :)

Я Gentoo & Funtoo

Этот скрипт точно рабочий? Я

Этот скрипт точно рабочий?
Я бы чуть изменил

#!/bin/sh
# В логах многих приложений дата время записывается в формате UNIX
# («количество секунд, прошедших с полуночи 1 января 1970 года без учета високосных секунд»).
# Сконвертировать время с помощю awk можно так
# awk -F: '{print strftime("%c", $1),$2}' $FILE
if [ -s $1 ]
then
FILE=$1
  awk -F: '{print strftime("%c", $1),$2}' $FILE | less
else
  echo "В качестве аргумента должен быть указан не пустой лог-файл"
fi

Я Gentoo & Funtoo

/

Lupo Alberto написал(а):
Этот скрипт точно рабочий?

В процессе копи-паста один момент упустил.

:wq
--
Live free or die

На самом же деле...

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

#!/bin/sh
# В логах многих приложений дата время записывается в формате UNIX
# («количество секунд, прошедших с полуночи 1 января 1970 года без учета високосных секунд»).
# Сконвертировать время с помощью GNUтого awk можно так
# awk -F: '{print strftime("%c", $1),$2}' $FILE
LOGFILE=$1
if [ -s $LOGFILE ]
then
  gawk -F: '{print strftime("%c", $1),$2}' $LOGFILE | less
else
  echo "В качестве аргумента должен быть указан не пустой лог-файл"
fi

ЗЫ: Понимаешь что меня сподвигло в этом направлении? ;)

:wq
--
Live free or die

Ещё 5 копеек в сокровищницу

Ещё 5 копеек в сокровищницу программерской мысли :)
У скрипта обнаружилась "бага" - запущенный без аргументов зависает, при более чем одном аргументе парсит только первый.
Немного творчески развил

#!/bin/sh
# В логах многих приложений дата время записывается в формате UNIX
# («количество секунд, прошедших с полуночи 1 января 1970 года без учета високосных секунд»).
# Сконвертировать время с помощью GNUтого awk можно так
# awk -F: '{print strftime("%c", $1),$2}' $FILE
if [ $# = 1 ]
    then
    LOGFILE=$1
        if [ -s $LOGFILE ]
            then
            gawk -F: '{print strftime("%c", $1),$2}' $LOGFILE | less
            else
            echo "В качестве аргумента должен быть указан не пустой лог-файл"
        fi
    else
    echo "В качестве аргумента должен быть указан только один лог-файл"
fi

Я Gentoo & Funtoo

В таком случае изящнее

хотя, возможно, с потерей некоторой части очевидности (для не читавшего ABS).

recode_time.sh:

#!/bin/sh
# В логах многих приложений дата время записывается в формате UNIX
# (<<количество секунд, прошедших с полуночи 1 января 1970 года без учета високосных секунд>>).
# Сконвертировать время с помощью GNUтого awk можно так
# awk -F: '{print strftime("%c", $1),$2}' $FILE
LOGFILE=$1
if [ $# = 1 -a -s $LOGFILE ]
then
    gawk -F: '{print strftime("%c", $1),$2}' $LOGFILE | less
else
    echo "В качестве аргумента должен быть указан не пустой лог-файл"
    echo "И этот файл должен быть единственным аругментом!"
fi

ЗЫ: А ещё можно (нужно?) вставить проверку наличия в системе этого самого gawk'а.

:wq
--
Live free or die

recode_time.sh: #!/bin/sh #

recode_time.sh:

#!/bin/sh
# В логах многих приложений дата время записывается в формате UNIX
# (<<количество секунд, прошедших с полуночи 1 января 1970 года без учета високосных секунд>>).
# Сконвертировать время с помощью GNUтого awk можно так
# awk -F: '{print strftime("%c", $1),$2}' $FILE
LOGFILE=$1
if [ $# = 1 -a -s $LOGFILE ]
then
    if type gawk &>/dev/null
    then
        gawk -F: '{print strftime("%c", $1),$2}' $LOGFILE | less
    else
        echo "gawk не найден!"
    fi
else
    echo "В качестве аргумента должен быть указан не пустой лог-файл"
    echo "И этот файл должен быть единственным аругментом!"
fi 

Ubuntu is an African Word that means "Gentoo is too hard for me"

ROFL!!!

AAA! ROFL! Ну вы даете. Патентуйте, пока никто идею не увел. Уже и команда разработчиков есть...

[РЕШЕНО]

Резюмируем, господа.
Итак, проблемы с блокировками чаще всего лечатся удалением блокирующих пакетов (только мозг отключать не надо, когда удаляем), на всякий случай можно сделать бэкап quickpkg --include-config обоих пакетов. Если вдруг потом навернется, можно будет откатиться через emerge -k

Затем, проблема с установкой util-linux (было и такое, не компилировалось, первый пост) решилась через установку нового профиля (2008/server) и в нем поставлен был gcc 4.3.2 (http://www.gentoo.ru/node/3597#comment-17997)

Все правильно?

вопрос по quickpkg

вопрос по quickpkg:
Если поставить бинарный пакет например sys-apps/util-linux-2.13
как потом он обновится до след версии, например sys-apps/util-linux-2.14, как обычно из исходников, или есть какие-то заморочки?

Если использовать:emerge

Если использовать:

emerge sys-apps/util-linux

установится из исходников доступная на данный момент версия;

emerge -k sys-apps/util-linux

установится бинарный пакет, если только в дереве нет более новой версии;

man emerge написал(а):
--usepkg (-k)
              Tells  emerge to use binary packages (from $PKGDIR) if they are available, thus possibly avoiding some time-con-
              suming compiles.  This option is useful for CD installs; you can export PKGDIR=/mnt/cdrom/packages and then  use
              this option to have emerge "pull" binary packages from the CD in order to satisfy dependencies.
emerge -K sys-apps/util-linux

установится версия, для которой имеется tbz2-архив, т. е. бинарники, при отсутствии их, сборка прекратится.

man emerge написал(а):
--usepkgonly (-K)
              Tells  emerge to only use binary packages (from $PKGDIR).  All the binary packages must be available at the time
              of dependency calculation or emerge will simply abort.  Portage does not use $PORTDIR  when  calculating  depen-
              dency information so all masking information is ignored.

Я Gentoo & Funtoo

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".