আমি কীভাবে প্রিসিড ব্যবহার করে প্যাকেজগুলি সরিয়ে ফেলতে পারি?


13

আমি পূর্বনির্ধারিত সিস্টেমটি একটি স্বয়ংক্রিয় "কোন প্রশ্ন জিজ্ঞাসা করা হয়নি" সেটআপ করছি এবং উদাহরণ হিসাবে দস্তিন কার্কল্যান্ডের সার্ভারটি ব্যবহার করছি ।

স্বয়ংক্রিয়ভাবে ইনস্টলের অংশ হিসাবে তিনটি প্যাকেজ ইনস্টল করতে তিনি নিম্নলিখিত লাইনটি ব্যবহার করেন:

d-i pkgsel/include string byobu vim openssh-server

আমি এর বিপরীতমুখী সন্ধান করছি , মূলত স্বয়ংক্রিয় ইনস্টলের অংশ হিসাবে প্যাকেজগুলি সরাতে সক্ষম হব।

আমি ভাবছি d-i preseed/late_command string apt-remove packagenameইনস্টলটি সম্পন্ন হওয়ার পরে আমার চাই না এমন জিনিসগুলি পরিষ্কার করার জন্য আমার প্রয়োজন হবে, তবে আমি নিশ্চিত নই


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

ডেস্কটপ টিম বা সার্ভার টিমের কেউ এই প্রশ্নের দিকে নজর দেননি?
মনীশ সিনহা

আমি প্যাকেজগুলি অপসারণের জন্য এই পদ্ধতির চেষ্টা করেছি কিন্তু এটি আমার পক্ষে কাজ করছে না :( gist.github.com/lmayorga1980/6d698a5d5425c676ecdd
ম্যাভারিক

উত্তর:


13

প্রিসিড কনফিগারেশন স্ক্রিপ্টে কোনও প্যাকেজ মুছতে ও মুছে ফেলার কোনও বিকল্প নেই তবে আপনি এই আদেশটি ব্যবহার করতে পারেন ....

ডি প্রিসিড / দেরী_কমন্ড

This command is run just before the install finishes, but when there is
still a usable /target directory. You can chroot to /target and use it
directly, or use the apt-install and in-target commands to easily install
packages and run commands in the target system.
"in-target" means: chroot /target
d-i preseed/late_command string [in-target] foo

উদাহরণ:

d-i preseed/late_command string \
            in-target apt-get remove packagename

আপনি একটি স্ক্রিপ্টও চালাতে পারেন:

d-i preseed/late_command string \
        in-target wget http://........./postinst.sh -O /root/postinst.sh; \
        in-target /bin/bash /root/postinst.sh

বা একটি গ্রুপ DEB ফাইল ইনস্টল করুন:

d-i preseed/late_command               string \
    for deb in /hd-media/*.deb; do cp $deb /target/tmp; \
    chroot /target dpkg -i /tmp/$(basename $deb); done

0

চাপা উদাহরণটি কেবল একটি উদাহরণ; এটিতে সমস্ত সম্ভাব্য ডি সংমিশ্রণ নেই, তবে কেবল এটি সাধারণ more

ব্যক্তিগতভাবে, আমি কোনও ইনস্টল থেকে প্যাকেজগুলি অপসারণ করার চেষ্টা করিনি, সুতরাং আমি নিশ্চিত নই যে এর জন্য একটি নির্দিষ্ট ডি কমান্ড রয়েছে; আপনার d-i preseed late_commandকাজ করা উচিত মনে হচ্ছে। ডি ডক্সে তাত্ক্ষণিক অনুসন্ধানে কিছু তৈরি হয়নি ... তবে অবশ্যই কলিন জানত ;-)

বিকল্পভাবে, আপনি একটি বেসিক সার্ভার থেকে শুরু করতে পারেন, এবং তারপরে আপনি যা চান তা যুক্ত করতে পারেন:

tasksel tasksel/first   multiselect     Basic Ubuntu server
...
d-i preseed/late_command string apt-install whatever else
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.