Це команда ucf, яку можна запустити в постачальнику безкоштовного хостингу OnWorks, використовуючи одну з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS.
ПРОГРАМА:
ІМ'Я
ucf - Оновити файл конфігурації: зберегти зміни користувача у файлах конфігурації
СИНТАКСИС
ucf [опції] <New Файл>
ucf [опції] -- очищення
ОПИС
Ця утиліта дає змогу запитати користувача, чи приймати нові версії
файли конфігурації, надані супроводжувачем пакетів, із розробленими різними евристичними засобами
щоб мінімізувати час взаємодії. Він використовує debconf для взаємодії з користувачем відповідно до Debian
політика. У СИНОПСИСУ вище, Нові файл це файл конфігурації, наданий файлом
пакет (або постачається разом із пакетом, або згенерований сценаріями супроводжувача на
літати), і призначення це місце розташування (зазвичай під / Etc) де реальна конфігурація
файл живе і потенційно змінюється кінцевим користувачем. Оскільки редаговані файли будуть
реальні файли, а не символічні посилання, ucf слідує та розв’язує символічні зв’язки, перш ніж діяти.
Наскільки це можливо, ucf намагається зберегти право власності та дозвіл Нові файл
оскільки він копіюється на нове місце.
Цей сценарій намагається забезпечити обробку файлів, інстальованих під / Etc НЕ
відправлено в а Debian пакет, але замість цього обробляється postinst. Debian політики держав
файли під / Etc які є файлами конфігурації повинен зберегти зміни користувачів, і це
також застосовується до файлів, які обробляються сценаріями супроводжувача. Використання ucf, можна відправити купу
файли конфігурації за замовчуванням десь у / usr ( / usr / share / гарне розташування), і
підтримувати файли в / Etc, зберігаючи зміни користувачів і загалом пропонуючи те саме
об'єктів під час модернізації цього dpkg зазвичай передбачається «конфіші»
Крім того, цей сценарій надає можливості для перенесення файлу, який раніше не був
за умови conffile як захист підпадає під цю схему, і намагається мінімізувати
запитання під час встановлення. Справді, перехідна установа краще, ніж одна
пропоновані dpkg під час переходу файлу з a неконф до conffile статус.
Друга форма в СІНОПСІС вище призначена для очищення інформації про файл конфігурації
коли пакет продувається; і є критичним для забезпечення плавної переінсталяції.
Під час роботи, при роботі з конфігураційними файлами, ucf необов'язково
створює копії версій відповідного файлу конфігурації. Наприклад, файл з
суфікс ucf-старий містить стару версію файлу конфігурації, замінений на ucf. Крім того,
копії файлу конфігурації із суфіксами ucf-новий та ucf-dist можуть бути створені;
і сценарії супроводжувача повинні розглянути можливість очищення копій файлу конфігурації за допомогою
ці розширення під час очищення.
ВАРІАНТИ
-h, --допомога
Роздрукуйте коротке повідомлення про використання
-n, --ніяких дій
Сухий біг. Надрукуйте дії, які будуть виконані, якщо буде запущено сценарій, але виконайте
ніяких дій.
-d[n], --debug=[n]
Встановіть рівень налагодження (необов’язковий). n (n за замовчуванням дорівнює 1). Будь ласка, зверніть увагу
не повинно бути пробілів перед необов’язковою цифрою n. Це вмикає рясне налагодження
інформація.
-p, -- очищення
Видаляє всі залишки файлу з хеш-файлу стану. Це потрібно для того, щоб дозволити
пакет, який потрібно повторно встановити після його очищення; оскільки в іншому випадку справжнє
файл конфігурації видаляється, але він залишається в хеш-файлі; а при перевстановленні немає
виконується дія, оскільки сума md5 нового файлу відповідає сумі в хеш-файлі. в
коротко, не забудьте використовувати цю опцію в postrm для кожного файлу конфігурації
керується ucf, коли пакет очищається (припускаючи, що сам ucf існує).
Примітка: ucf фактично не торкається файлу на диску під час цієї операції, тому будь-який файл
за видалення все ще відповідає пакет виклику.
-v, -багатослівний
Зробіть сценарій дуже докладним щодо встановлення внутрішніх змінних.
-s фу, --src-каталог Foo
Встановіть вихідний каталог (очікується, що історичні суми md5 зберігатимуться у файлах і під
каталогів цього каталогу) до foo. За замовчуванням каталог, у якому знаходиться new_file
in вважається вихідним каталогом. Встановлення цієї опції замінює налаштування в
змінна середовища UCF_SOURCE_DIR, і у змінній конфігураційного файлу
conf_source_dir.
--сума-файл Foo
Примусово читати історичні суми md5 з цього файлу, а не за замовчуванням
живе у вихідному каталозі. Встановлення цієї опції замінює налаштування в
змінна оточення UCF_OLD_MDSUM_FILE, і у змінній конфігураційного файлу
conf_old_mdsum_file.
-- тристоронній
Це вмикає опцію під час встановлення, щоб користувачу було запропоновано шанс
щоб побачити злиття змін між старою версією супроводжувача та новою версією супроводжувача
версію в локальну копію файлу конфігурації. Якщо користувачеві подобається те, що він
бачите, вони можуть попросити об’єднати ці зміни. Це дозволяє отримати нові
Вихідні зміни об’єднані навіть із збереженням локальних модифікацій
файл конфігурації. Це досягається шляхом взяття файлу конфігурації і
зберігати його в області кешу під час реєстрації та використовувати diff3 під час встановлення
(захована назва файлу є зміненою версією повного шляху до конфігурації
файл, щоб уникнути зіткнень у просторі імен). Примітка: Ця опція з'явилася у версії 0.8
ucf, яка була першою версією, випущеною в нестабільну і зрештою Серж. Команда
версія ucf у woody не містить цієї опції.
--debconf-ok
Вкажіть, що це нормально для ucf щоб використовувати вже запущений екземпляр debconf для
підказка (завжди було нормально використовувати ucf, коли debconf не запущено - так і буде
за потреби викликати debconf). Оскільки історично скрипти супроводжувача використовували debconf
а також ucf довелося вимкнути/пошкодити debconf перед запуском ucf (оскільки ucf не
підказки з debconf і необхідний stdio), ucf має бути обережним при виклику
зі сценарію супроводжувача, який використовує debconf. Ця опція дає йому знати, що
Сценарій супроводжувача не сказав debconf зупинитися або перенаправив його stdio з
debconf або що-небудь в цьому роді -- і, таким чином, безпечно використовувати debconf, навіть якщо
скрипт виявляє, що debconf запущено. Пакети, які викликають ucf разом із цим
Варто подбати про те, щоб параметр залежав від версії ucf 0.28 або вище (перший до
підтримка скористайтеся цією опцією).
--debconf-шаблон Foo
Доручіть ucf використовувати названий шаблон debconf multiselect замість звичайного
шаблон debconf, наданий ucf. Абонент несе відповідальність за те, щоб
іменований шаблон існує і має список варіантів, що відповідають варіантам для ucf за замовчуванням
шаблон, і має встановити Choices-C: ${CHOICES}, щоб забезпечити відповідність повернених значень
ті з шаблону за замовчуванням. Зауважте, що вибір має відрізнятися відповідно до
до того, чи -- тристоронній також встановлений параметр.
--держ.-реж /шлях/до/реж
Встановіть каталог стану на /path/to/dir замість стандартного /var/lib/ucf. Використаний
переважно для тестування.
ВИКОРИСТАННЯ
Найпоширеніший регістр використання досить простий: виклик одного рядка в postinst on
configure та ще один рядок у postrm, щоб розповісти ucf забути про
файл конфігурації під час очищення (за допомогою параметра --purge) – це все, що потрібно (припускаючи
ucf все ще в системі).
Рекомендується також зареєструвати будь-який файл, яким керують ucf з ucf
реєстр; це пов'язує файл конфігурації з пакетом, якому він належить. Це
виконується простим дзвінком до ucfr. Потім користувачі можуть запитати зв’язок між a
файл конфігурації та пакет за допомогою інструменту ucfq. Будь ласка, дивіться відповідний посібник
сторінки для деталей.
Якщо файл, який підтримується сценаріями супроводжувача, переходить із незахищеного
статус захисту, наданий сценарієм, супроводжувач може допомогти полегшити
перехід, зменшивши кількість запитань, які можуть задаватися під час встановлення. Зокрема,
не слід задавати питання, якщо файл, про який йде мова, є незміненою версією, яка була
один поставляється в попередній версії цього пакета; і супроводжувач може допомогти, сказавши
сценарій про історичні суми md5, які містили версії цього файлу.
Для цього потрібно створити файл з назвою <New файл>.md5sum, з увімкненою однією сумою md5
кожен рядок (імена файлів, які ви використовуєте, ігноруються, за винятком запису за умовчанням), або
створити каталог, що називається <New файл>.md5sum.d, який повинен містити будь-яку кількість файлів,
кожен містить один рядок, а саме суму md5 попередньої версії <New файл>.
Назви цих файлів не важливі, за одним винятком: файл за умовчанням є
обробляються спеціально. Наприклад, автор особисто використовує номери версій будь-якого пакета
або кодові назви випуску, наприклад 7.6.3, or картопля. Якщо жодна з історичних сум md5 не збігається, ми
майже впевнені, що або історичний запис md5sums неповний, або
користувач змінив файл конфігурації.
Команда дефолт історичний md5сум
Винятком із правила щодо імен, згаданих раніше, є те, що якщо жодна сума md5 не збігається, і
якщо файл <New файл>.md5sum.d/default існує, або якщо є рядок, що відповідає a
дефолт файл у <New файл>.md5sum, він повинен використовуватися як сума md5 за замовчуванням попередній
Версія пакета, яка, як передбачається, була встановлена на цій машині. Як ви можете бачити,
якщо немає обмеженої кількості раніше випущених пакетів (наприклад, лише один), то
супроводжувач також робить обґрунтовані припущення, але опція надається супроводжувачу.
Якщо файл <New файл>.md5sum, або каталог <New файл>.md5sum.d не існує, або
жоден із сум md5 не відповідає, ми перевіряємо встановлений файл, щоб перевірити, чи це так
так само, як і <New файл>. Якщо ні, ми запитуємо у користувача, чи хочуть вони, щоб ми замінили
файлу.
Також пропонується додаткова функція: за бажанням, ucf може зберігати одну стару версію
супроводжувачі копіюють файл конфігурації та під час оновлення обчислюють внесені зміни
версію конфігураційного файлу для супроводжувачів і застосуйте цей патч до локального
версія файлу (звісно, за запитом користувача). Також є об’єкт попереднього перегляду, де
користувач може перевірити результати такого злиття, перш ніж запитати дію, яку потрібно виконати.
НАВКОЛИШНЄ СЕРЕДОВИЩЕ ЗМІННІ
Змінна UCF_FORCE_CONFFNEW, якщо встановлено, новий файл завжди перезаписує
встановлений цільовий файл, а змінна UCF_FORCE_CONFFOLD, якщо встановлено безшумно, зберігається
встановлений файл. UCF_FORCE_CONFFMISS застосовується лише у встановлених місцях призначення
файл не існує (можливо, через видалення користувача), і змушує ucf відтворити відсутній файл
файл (поведінка за замовчуванням полягає в тому, щоб виконувати побажання користувачів, а не відтворювати локально
видалений файл).
Використовуйте ucf онлайн за допомогою служб onworks.net
