Если Вы просто потеряли один диск, необходимо было смочь восстановиться с того использования намного более безопасного --assemble
.
Вы работали, создают теперь так много, что все UUID отличаются. sdc1
и sdd1
совместно используйте UUID (ожидаемый, поскольку это - Ваш рабочий массив)... остальные, диски совместно используют имя, но у всех есть различные UUID. Таким образом, я предполагаю, что ни один из тех не исходные суперблоки.Очень плохо...
Так или иначе я предположил бы, что Вы или пытаетесь использовать неправильные диски, или Вы пытаетесь использовать неправильный размер блока (значение по умолчанию изменялось со временем, я верю). Ваш старый массив, возможно, также использовал другую версию суперблока — что значение по умолчанию определенно изменилось — который мог сместить все секторы (и также уничтожить некоторые данные). Наконец, его возможное, Вы используете неправильное расположение, хотя это менее вероятно.
Также возможно, что, Ваш тестовый массив был чтением-записью (с md точки зрения), который пытается использовать ext3, на самом деле сделал некоторые записи. Например, воспроизведение журнала. Но это - то, только если это нашло суперблок в какой-то момент, я думаю.
BTW: Я думаю, что действительно необходимо использовать --assume-clean
, хотя, конечно, ухудшенный массив не попытается начать восстанавливать. Затем Вы, вероятно, хотите сразу установить только для чтения.
Относительно Вашего первого вопроса:
Пакет XYZ устанавливает некоторые сценарии Python, который на выполнении создает .pyc файл. Теперь На удалении я хочу удалить все файлы. Каков был бы postrm сценарий для чистого удаления пакета?
В целом подходящий postrm сценарий (я верю), сгенерированный автоматически debhelper и друзьями. См. страницу справочника для dh_python
. В частности, говорится в этой странице справочника
Если некоторые модули должны быть скомпилированы в байт во время установки, соответствующий postinst и prerm сценарии будут сгенерированы. Если уже скомпилированные модули байта найдены, они удалены.
Относительно Вашего второго вопроса,
Также XYZ настроен с помощью debconf файл, который на установке пакета предлагает пользователю к, принимает EULA. Как я выхожу, если пользователь говорит "нет" EULA?
Я не знаю ответ бесцеремонно, но смотрю на шаблоны debconf для части собственного программного обеспечения, включенного в Debian. Java Sun является примером, который имеет (имел?) EULA, который был скуплен debconf.
ПРИЛОЖЕНИЕ:
Так как OP кажется неубежденным, вот дословная копия prerm сценария для названного пакета python-corrmodel
. Я записал программное обеспечение и также упаковку Debian. Однако я не записал postinst и prerm сценарии, и на самом деле не посмотрел на них до этого момента. Заметьте, что prerm сценарий звонит pyclean
утилита, которая является частью Python. Справка говорит:
pyclean - удаляет .pyc и .pyo файлы
Заметьте также, что в сценарии говорится, что код был сгенерирован dh_python2
.
Одно заключительное примечание: Я рекомендую использовать dh
, который является относительно новым по сравнению со старой школой debhelper, но растет быстро в популярности. В основном, dh
по умолчанию вызывает все правила debhelper в режиме по умолчанию в некотором определенном порядке. Если Вы хотите настроить поведение конкретной команды debhelper, можно переопределить его. Вот описание горячекатаных переопределений Joey Hess, автором debhelper. Большое преимущество состоит в том, что Ваш файл правил намного менее нарушен, и можно быть уверены, что все команды называют в правильном порядке.
Вот prerm сценарий.
#!/bin/sh
set -e
# Automatically added by dh_python2:
if which pyclean >/dev/null 2>&1; then
pyclean -p python-corrmodel
else
dpkg -L python-corrmodel | grep \.py$ | while read file
do
rm -f "${file}"[co] >/dev/null
done
fi
# End automatically added section
ПРИЛОЖЕНИЕ 2:
Так как я рекламировал dh
, Я добавлю свой файл правил ниже. Это не полный файл правил, но эта строка содержит основную логику. Это в основном имеет debhelper
рука от сборки к a setup.py
сценарий, который затем делает тяжелый подъем.
%:
dh $@ --with python2 --buildsystem=python_distutils --install-layout=deb
Что касается
Если двоичный пакет обеспечивает какие-либо независимые от двоичного файла модули (foo.py файлы), соответствующие скомпилированные модули байта (foo.pyc файлы) и оптимизированные модули (foo.pyo файлы) не должны поставляться в пакете. Вместо этого они должны быть сгенерированы в postinst пакета и удалены в prerm пакета. prerm пакета должен удостовериться, что и foo.pyc и foo.pyo удалены.
Это означает, что байт скомпилировал файлы (.pyc/pyo
) должен быть удален в prerm фазе.
Таким образом, я получил ответ к сначала своему вопросу.Not отмечающий это как корректный.Needs больше внимания на это.
debian python policy
для которого я отправил ниже стендов затем? – Dipak Ingole 12.12.2013, 08:25