سؤال

أحاول إنشاء برنامج نصي تلقائيا بتحميل حزم خوادم جديدة.إلا أن بعض الأشياء مثل 'mysql-server' لا يمكن تثبيتها تلقائيا قضية تحتاج إلى تكوين لهم في سأركع واجهة الأولى.لقد بدا من خلال صفحات الرجل و لا يمكن أن تجد أي شيء مناسب.

لا يهمني إذا كان لدي لتحميل/تحرير الملف conf لاحقا-أنا فقط بحاجة المناسبة الحزم المثبتة.

أي شخص يعرف ماذا يفعل بالإضافة إلى الاستيلاء جذر وبناء عليها بنفسي ؟

التحديث وجدت أن أشياء مثل mysql-server يمكنك القيام به فقط:

DEBIAN_FRONTEND='noninteractive' apt-get install -yq mysql-server

ومع ذلك نتوقع يبدو وكأنه شيء سوف تحتاج من أجل sun-java6-jdk;لم تقيم بعد

هل كانت مفيدة؟

المحلول

لحزم أن طرح الأسئلة من خلال debconf (وهو ما يضع فوق عرض سأركع)، يمكنك قبل الإجابة على الأسئلة. للالشمس جافا، والأسئلة التي يمكن الإجابة قبل عن طريق اتباع التعليمات على الموقع http://www.davidpashley.com/blog/debian/java-license

نصائح أخرى

الإجابة من ossramblings.com :

أولا، تثبيت حزمة بشكل طبيعي. ثم استخراج الأجوبة التكوين من ملفات البيانات debconf:

sudo apt-get install debconf-utils
sudo debconf-get-selections | grep mypackage > something.seed

وبعد ذلك، للمنشآت أخرى، يمكنك تطبيقه قبل تثبيت الحزمة:

sudo debconf-set-selections ./something.seed

أي حزمة ديبيان الذي يستخدم debconf للحصول على قيم التكوين يمكن تشغيل غير المراقب.الحيلة هي أن debconf أولا البحث عن مثبتة مسبقا إجابات إلى أي config السؤال والتي معين الحزمة.

قبل تثبيت التكوين إجابات

مجرد إنشاء ملف في تنسيق ،

# Use one line for each question
package-name question-name question-type answer
package-name question-name question-type really long \
answer here
package-name question-name question-type answer
...

وإدخالها في النظام مثل ذلك:

$ debconf-set-selections my-selections-file

الآن كنت على استعداد apt-get install, كالعادة

لمرة واحدة

لأن هذا الأمر أيضا يقرأ من stdin يمكنك القيام به:

$ echo "man-db man-db/auto-update boolean true" | debconf-set-selections

إيجاد الإجابات الافتراضية

كيف يمكنك أن تعرف أي حزم استخدام التكوين هذه الأجوبة ؟ حسنا ، إذا كنت قد قمت بالفعل بتثبيت الحزمة في السؤال بشكل تفاعلي ، يمكنك الاستعلام الخاص بك النظام المحلي لمعرفة ما هي القيم التي تم تكوينها حاليا. debconf-get-selections طباعة قائمة config إجابات عن النظام الحالي.على سبيل المثال

$ debconf-get-selections | grep '^man'

يعود التالية في النظام:

man-db  man-db/install-setuid   boolean false
man-db  man-db/auto-update      boolean true

قد تحتاج إلى تثبيت debconf-utils حزمة لجعل هذا الأمر متاح.

عينة

# Preset values to questions which would otherwise be asked while
# installing packages.
# Use debconf-set-selections to install
openssh-server  openssh-server/permit-root-login        boolean false
man-db  man-db/install-setuid   boolean false
man-db  man-db/auto-update      boolean true

مصادر

ولست متأكدا بالضبط ما هو تكوين احتياجات الخلية الخادم، ولكن قد تتمكن من محاولة شيء من هذا القبيل نتوقع

وأود أن ننظر إلى كرون-عرضة . لم أحاول بنفسي، لكنه وصف الحزمة يبدو واعدا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top