Видео ролики бесплатно онлайн

Смотреть домашний видео

Официальный сайт fresher 24/7/365

Смотреть видео бесплатно

04.01.2011 14:20

ladykoshaКак я ставила Scratch или Обмани dpkg

Прочитала я вилинуховый пост про Scratch, и подумала, почему бы не поставить своему дитяти этакую забавку. Нарыла на сайте deb-пакет, скачала, вознамерилась поставить. И споткнулась об зависимость. Scratch хочет pulseaudio >= 1.0.9, а у меня всего-то 0.9.21-3 (у меня debian squeeze).

Тем не менее, работать недоустановленный Scratch вовсе не отказывался. И сын уже пришёл в восторг от такого способа обучения, временами приходится от компа оттаскивать. :)
Подумалось мне, что достаточно будет просто "обмануть" dpkg, чтобы всё стало совсем хорошо.

Способ "обмана" простой. Нужно исправить два файла: /var/lib/dpkg/available и /var/lib/dpkg/status. Разумеется, сначала сделать резервную копию этих файлов, скажем, в available~ и status~ в том же каталоге - на всякий случай. Если что-нибудь внезапно пойдёт не так, можно будет вернуться к исходному варианту.
Потом открыть "оригинальные" файлы и найти там строчку "Package: scratch". Немного ниже там же будет в начале строки "Depends:" и перечисление зависимостей, включая и "pulseaudio (>= 1.0.9)". Там-то я и заменила цифирки "1.0.9" на "0.9.21". В обоих файлах. Сохранила.

И велела dpkg таки наконец-то установить этот самый Scratch как следует. Проблем не наблюдаю. Правда, надо предупредить, что и звуком мы там не пользуемся за отсутствием колонок у этого компа. Но по слухам и звук работать должен. :)

Заметим, способ работает, но правильнее поступать иначе.
Поставить fakeroot, если его у вас ещё нет (у меня нет), и следовать инструкции из этого комментария.


Тэги: dpkg scratch
+ 8 -
Похожие Поделиться

imurzich 04.01.2011 16:52 #
+ 3 -
Проблему можно было решить без правки описания и статусов:
man dpkg
...
--ignore-depends=package,...
Ignore dependency-checking for specified packages (actually, checking is performed, but only warnings about conflicts are given, noth?
ing else).
...
Итого ставим следующим образом:

dpkg --ignore-depends=pulseaudio -i scratch_1.4.0.1-0ubuntu5_i386.deb
ladykosha 04.01.2011 17:05 #
+ 2 -
Спасибо, в следующий раз попробую :)
Кстати, вопрос. При вашем варианте в дальнейшем как будет? Когда потом другие программы ставишь, аптитюд не будет требовать удалить скретч?

Я-то немного побилась с опциями командной строки (к сожалению, ещё не завела привычку записывать все действия, а то бы расспросила, что я делала не так, и как следовало их понимать правильно), а потом просто прибегнула к некогда хорошо сработавшему способу. :)
philosoft 04.01.2011 17:39 #
+ 2 -
команда aptitude hold scratch думаю должна помочь
ladykosha 04.01.2011 18:19 #
+ 0 -
Мне кажется, hold не имеет отношения к разрешению зависимостей. Только делает так, чтоб пакет игнорировался при safe-upgrade или full-upgrade. Если я ошибаюсь, буду благодарна за разъяснения :)
philosoft 04.01.2011 19:10 #
+ 1 -
Ну да. Прямого отношения к зависимостям он не имеет, но по идее, при последующих update/upgrade должен предотвратить удаление оного пакета.
divius 06.01.2011 14:55 #
+ 1 -
Нет, это не помогает, проверял.
settler 04.01.2011 21:58 #
+ 2 -
к сожалению, ещё не завела привычку записывать все действия, а то бы расспросила, что я делала не так

можно просто настроить историю команд, чтоб запоминало, например, 1000 последних команд, и потом смотреть последовательность в истории
ladykosha 04.01.2011 22:31 #
+ 0 -
Спасибо за совет. Она пишется, история, но я про неё как-то забыла. :)
А когда сейчас посмотрела и сравнила с тем, что у IMurzich, даже вопросы отпали :)))
divius 06.01.2011 14:56 #
+ 0 -
А после этого пока пакет не будет удалён, ни synaptic, ни aptitude ничего делать не будут.
imurzich 04.01.2011 17:17 #
+ 2 -
упс, к сожалению будет :(
итого мой способ даст поставить без бубна, а ваш позволит в этот бубун красиво постучать.
ladykosha 04.01.2011 18:25 #
+ 1 -
Спасибо, что предупредили :)
imurzich 04.01.2011 20:10 #
+ 0 -
незачто, тут как раз я прошу прощения за то, что пытался ввести в заблуждение.
Alex_P 04.01.2011 18:05 #
+ 9 -
Можно сделать не много под другому. Пересобрать бинарный пакет.
Распакуем содержимое пакета:
dpkg -x scratch_1.4.0.1-0ubuntu5_i386.deb scratch_1.4.0.1
dpkg -e scratch_1.4.0.1-0ubuntu5_i386.deb scratch_1.4.0.1/DEBIAN
Откроем файл control c помощью редактора.
vim scratch_1.4.0.1/DEBIAN/controlили пройдемся sed.
sed 's/ (>= 1.0.9)//g' -i scratch_1.4.0.1/DEBIAN/controlСоберем пакет обратно.
fakeroot dpkg -b scratch_1.4.0.1 scratch_1.4.0.1-0ubuntu5_fix_i386.deb
ladykosha 04.01.2011 18:25 #
+ 1 -
Спасибо. Уверена, это самый идейно правильный способ. И Вы его хорошо рассказали :)

Вопрос к Вам, если позволите. Насколько важно наличие fakeroot?
Alex_P 04.01.2011 18:32 #
+ 1 -
без fakeroot файлы и директории в пакете будут иметь вашу группу, а также владельца.
ladykosha 04.01.2011 18:40 #
+ 2 -
А если собирать от "настоящего" рута? Ожидать какие-то неприятных последствий?

Иначе говоря, в вашей инструкции обязательно писать "Установите fakeroot, если у вас его ещё нет"?
Alex_P 04.01.2011 18:43 #
+ 0 -
Можно от root. Но тогда и пакет будет root:root. :)
ladykosha 04.01.2011 18:50 #
+ 1 -
Боюсь, что мне недостаёт понимания очевидных на Ваш взгляд вещей :(

В общем, ясно. Ставить fakeroot - надо, по крайней мере, пока не очень понимаешь, что делаешь при пересборке и каковы будут последствия :)
Спасибо :)
Alex_P 04.01.2011 18:59 #
+ 0 -
Пакет будет иметь владельца и группу root. А так ни чего страшного.
ladykosha 04.01.2011 22:17 #
+ 0 -
Да-а, и только теперь я всё-таки поверила, что поняла. :) Спасибо :)
alff31 04.01.2011 20:16 #
+ 0 -
А с fakeroot каким будет пакет? не root:root?
Alex_P 04.01.2011 20:29 #
+ 1 -
fakeroot dpkg -b scratch_1.4.0.1 scratch_1.4.0.1-0ubuntu5_fix_i386.deb 2>/dev/null dpkg-deb: сборка пакета «scratch» в файл «scratch_1.4.0.1-0ubuntu5_fix_i386.deb».

ls -l *.deb-rw-r--r-- 1 alex alex 34235772 Янв 4 20:25 scratch_1.4.0.1-0ubuntu5_fix_i386.deb

Смотреть онлайн бесплатно

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн