অ্যাপ্লিকেশন প্যাকেজ ইনস্টল প্রশ্নগুলির ডিফল্ট উত্তরগুলি পাস করছেন?


27

আমি নতুন সার্ভারগুলির জন্য একটি কনফিগারেশন স্ক্রিপ্ট লেখার চেষ্টা করছি, এবং প্রথম ধাপগুলির মধ্যে একটি হ'ল প্রয়োজনীয় প্যাকেজগুলি যেমন মাইএসকিউএল, পিএইচপিএমআইএডমিন ইত্যাদি ব্যবহার করে ইনস্টল করা হয় apt-get installতবে, যখন dpkg এগুলি কনফিগার করার চেষ্টা করে এটি আপনাকে জিজ্ঞাসা করে কয়েকটি বিকল্প যেমন মাইএসকিউএল রুট পাসওয়ার্ড, পিএইচপিএমইএডমিন পাসওয়ার্ড, কী সার্ভার ব্যবহার করতে হবে ইত্যাদি

যেহেতু আমি সম্ভবত এই স্ক্রিপ্টটি সহ-কর্মীদের কাছে প্রেরণ করবো যারা প্রম্পটগুলি পড়ার সম্ভাবনা নেই, এবং কেবল এটি শুরু করে চলে যেতে আমার ইচ্ছা, তাই আমি "ডিফল্ট" উত্তরগুলির একটি সিরিজে কীভাবে পাস করব তা জানতে চাই / এটি ব্যবহারের জন্য মান। এর মধ্যে ব্যবহারকারীর নাম / পাসওয়ার্ড / কমান্ড লাইনে উত্তীর্ণ অন্যান্য গতিশীল মান অন্তর্ভুক্ত থাকতে পারে।

-

আমি বুঝতে পারি যে স্ক্রিপ্টে পাসওয়ার্ড থাকা একটি সুরক্ষা সমস্যা, তবে আমি এটিকে অগ্রাহ্য করতে ইচ্ছুক, বিশেষত প্যাকেজগুলি ইনস্টল করার আরও সাধারণ অর্থে যা এর উত্তরটি বোঝায়।

উত্তর:


44

ডেবকনফের কনফিগারেশন প্রিরিডিং ব্যবহার করুন।

আপনি যে মানগুলি চান তা পেতে একটি পরীক্ষা ইনস্টল করুন:

root@test1:~# apt-get install mysql-server

.. এবং ইনস্টলের সময় জিজ্ঞাসা করা হলে রুট পাসওয়ার্ড সেট করুন।

তারপরে আপনি সবেমাত্র ইনস্টল করেছেন (আপনার ইনস্টল করার প্রয়োজন হতে পারে debconf-utils) এর জন্য ডাবকনফ সেটিংস দেখতে কেমন তা পরীক্ষা করতে পারেন :

root@test1:~# debconf-get-selections | grep mysql-server
mysql-server-5.5        mysql-server/root_password_again        password
mysql-server-5.5        mysql-server/root_password      password
mysql-server-5.5        mysql-server/error_setting_password     error
mysql-server-5.5        mysql-server-5.5/postrm_remove_databases        boolean false
mysql-server-5.5        mysql-server-5.5/start_on_boot  boolean true
mysql-server-5.5        mysql-server-5.5/nis_warning    note
mysql-server-5.5        mysql-server-5.5/really_downgrade       boolean false
mysql-server-5.5        mysql-server/password_mismatch  error
mysql-server-5.5        mysql-server/no_upgrade_when_using_ndb  error

সেখানে কিছু শব্দ আছে, তবে গুরুত্বপূর্ণ অংশটি হল পাসওয়ার্ড সেটিংস।

তারপরে, একটি নতুন ইনস্টলের জন্য, আপনি পূর্বে পাসওয়ার্ড সেট করে প্রম্পটগুলি সম্পূর্ণ এড়াতে পারবেন:

root@test2:~# echo "mysql-server-5.5 mysql-server/root_password_again password Som3Passw0rd" | debconf-set-selections
root@test2:~# echo "mysql-server-5.5 mysql-server/root_password password Som3Passw0rd" | debconf-set-selections
root@test2:~# apt-get install mysql-server

এই ইনস্টলের সময় কোনও অনুরোধ জানানো হয় না।


10
sudo apt-get install debconf-utilsপ্রয়োজনীয় হিসাবে.
অ্যান্ড্রু

এটি দেখতে ঠিক যেমনটি আমি সন্ধান করছিলাম, মনে হচ্ছে ধন্যবাদ! আমি খুব শীঘ্রই চেষ্টা করে দেব।
তারকা

পিএইচপিএমএইডমিন একটি প্রাক-বীজযুক্ত মাইএসকিউএল রুট পাসওয়ার্ড গ্রহণ না করে এমন একটি ত্রুটি ছাড়াও, এটি নিখুঁতভাবে কাজ করে!
তারকা

1
শুধু ভাবছি, প্যাকেজ ইনস্টল না করে প্যাকেজ সিস্টেম থেকে ডেবিকনফের সেটিংস পাওয়ার কোনও উপায় আছে কি?
stefan.at.wpf

17
export DEBIAN_FRONTEND=noninteractive
apt-get -q -y install _packages_

কী পড়ছে তার জন্য আপনার কাছে কোনও রেফারেন্স রয়েছে $ DEBIAN_FRONTEND?
অ্যান্ড্রু

এটি এত দিন ধরে ডেবিয়ানের অংশ ছিল যে আমি মনে করি এটি যুক্ত হওয়ার পরে কেবল আয়ান আপনাকে সত্যিই বলতে পারত।
মাইকেল হ্যাম্পটন

1
@Andrew এটা পড়তে হচ্ছে debconf , যা আসলে প্রশ্ন সঙ্গে পুলিশ আছে।

@ এমগোর্ভেন আহ্, আমি এর আগে ডিপি কেজির চেয়ে বেশি গভীরভাবে যাইনি।
অ্যান্ড্রু

আফাইক, এই সমাধানটি আপনাকে কেবলমাত্র প্রম্পটটি এড়িয়ে যেতে এবং সমস্ত উত্তরের ডিফল্টটিকে মেনে নিতে দেয়। আপনি যদি একটি অ-ডিফল্ট উত্তর সেট করতে চান তবে আপনাকে অন্য একটি সমাধান ব্যবহার করতে হবে, যেমন debconf-set-selectionsপদ্ধতি।
MestreLion

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.