ব্যবহারকারীর মিথস্ক্রিয়া ছাড়াই কীভাবে প্যাকেজ ইনস্টল করবেন?


9

আমার কাছে একটি স্ক্রিপ্ট রয়েছে যা দেবিয়ান স্কুতে কার্নেল শিরোনামগুলি ডাউনলোড করে এবং প্রতিস্থাপন করে।

function fixHeaders(){
    #Replace the kernel headers from OVH with standard kernel headers...
    aptitude -y install linux-image-2.6.32-5-amd64  
    sed s/'GRUB_DEFAULT=0'/'GRUB_DEFAULT=1'/g
    update-grub
    echo "Rebooting the machine. Run this script again after reboot and choose option 2."
    sleep 1
    reboot  
}

আমার যে সমস্যাটি হচ্ছে তা হ'ল প্রবণতা প্যাকেজটি ডাউনলোড করার পরে এটি স্ক্রিপ্টটিকে একটি পাঠ্য গুইতে ফেলে দেয় এবং ব্যবহারকারীকে একগুচ্ছ প্রশ্ন জিজ্ঞাসা করে। সমস্ত উত্তরের জন্য "ঠিক আছে" নির্বাচন করার জন্য উপযুক্ত সময়ে এড়াতে বা ট্যাব পাঠাতে / প্রবেশ করার কোনও উপায় আছে কি?


1
এটি আপনার ক্ষেত্রে কাজ করে কিনা তা আমি নিশ্চিত নই, তবে সেটিংস DEBIAN_FRONTEND = noninteractiveডিবিয়ান / উবুন্টু রিলিজ আপগ্রেডগুলির জন্য কাজ করে।
ড্যানিয়েল টি।

উত্তর:


9

ড্যানিয়েল টির মন্তব্যের ভিত্তিতে আমি এটি করতে সক্ষম হয়েছি DEBIAN_FRONTEND=noninteractive

DEBIAN_FRONTEND=noninteractive /usr/bin/apt-get install -y -q --force-yes linux-image-2.6.32-5-amd64 

1
আপনার প্যাকেজগুলির প্রিসিডিংও তদন্ত করা উচিত । এটি আপনাকে জিজ্ঞাসা করার আগেই উত্তরগুলির অনুমতি দেয় to
জোড়াদেচ

4

সতর্ক থাকুন যে এই উত্তর আমি উদ্ধৃতি হবে না সব সংলাপ পরিত্রাণ পেতে, এটা এখনও প্রদর্শন করা হবে কি Apt / dpkg deems সমালোচনামূলক । সম্ভবত দ্বিতীয় বিকল্পটি + ব্যবহার করে readlineফ্রন্টএন্ড ব্যবহার করে debconfএকটি উত্তর ফাইল প্রস্তুত করা ভাল।

একটি বোনের সাইট থেকে উদ্ধৃতি :

এটি আপনি যা চেয়েছিলেন তা করা উচিত; পরে কনফিগারেশন প্রশ্ন জিজ্ঞাসা:

$ DEBIAN_PRIORITY=critical
$ export DEBIAN_PRIORITY
$ apt-get upgrade
# Wait a long time.   Should be almost entirely noninteractive.
$ dpkg-reconfigure --default-priority=medium --unseen-only

বিকল্পভাবে আপনি আগে সমস্ত কনফিগার প্রশ্ন জিজ্ঞাসা করতে পারেন:

$ apt-get clean
$ cat >> /etc/apt/apt.conf <<EOF
// Pre-configure all packages before
// they are installed.
DPkg::Pre-Install-Pkgs {
    "dpkg-preconfigure --apt --priority=low";
};
EOF
$ apt-get upgrade

অ্যাপট-গেট আপগ্রেড আমার পরিস্থিতিতে কাজ করবে না। আমি কার্নেল শিরোনামগুলি প্রতিস্থাপন করছি, কার্নেলটিকে নতুন সংস্করণে আপগ্রেড করছি না, বরং একটি ভিন্ন সংস্করণ নির্বাচন করছি।
바 바

আমি উত্তর হিসাবে উদ্ধৃত। এটি apt-get installপাশাপাশি কাজ করে যে dpkg-configureকোনও উপায়ে বলা হবে।
ফুয়েরো

এটি এখনও ব্যবহারকারীকে প্রশ্নের উত্তরের জন্য অনুরোধ জানায়, যা তারা স্ক্রিপ্টের অংশটি কোনও ফাংশনের মধ্যে চলতে দেখবে না - আমি এটিকে পরিবর্তন করতে পারতাম তবে স্ক্রিপ্টটি চালিত ব্যক্তি (যিনি আমি নন) বুঝতে পারবেন না। আমি সত্যিই একটি স্বয়ংক্রিয় সমাধান খুঁজছিলাম।

0

আপনি expect"উপযুক্ত সময়গুলি" সনাক্ত করতে পারবেন (আপনি যে ইনপুট পরিবর্তন করে না) আপনি এই সরঞ্জামটির সাথে যা খুশি প্রেরণ করতে পারেন ।


"ওকে" চাপার সময়টি মেশিন এবং এর কনফিগারেশনের উপর নির্ভর করে পরিবর্তিত হয়।
바 바

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