অ্যাপ-গেট থেকে আসা কারও জন্য ব্যাশ স্ক্রিপ্টগুলিতে জিপার কীভাবে ব্যবহার করবেন?


12

ব্যাশ স্ক্রিপ্টগুলিতে অ্যাপ্ট-গেট থেকে জিপারে যাওয়ার বিষয়ে আমার কয়েকটি প্রশ্ন রয়েছে।

এর সমতুল্য কি?

sudo apt-get install curl --assume-yes

(যেখানে কার্ল কোনও প্যাকেজ হতে পারে)

আমি দেখেছি Zypper চিট শিট - openSUSE- এর । খুব সুন্দর! তবে আমি এখানে অভিজ্ঞতার কণ্ঠকে প্রশংসা করব - এমন স্ক্রিপ্টে জিপার ব্যবহারের সঠিক উপায়টি কী যেখানে আমি সমস্ত প্রম্পটে স্বয়ংক্রিয়ভাবে সম্মতি জানাতে চাই এবং প্রতিক্রিয়া প্রয়োজন এমন জিনিসগুলি এড়িয়ে যাই না?

আমার অনভিজ্ঞতার সাথে আমি ব্যবহার করতে প্ররোচিত হব:

sudo zypper --non-interactive --no-gpg-checks --quiet install --auto-agree-with-licenses curl

কিন্তু আসলেই কি এর সমতুল্য --assume-yes?

এগুলির সমতুল্য সম্পর্কে কী বলা যায়?

sudo apt-get autoremove -y
sudo apt-get autoclean -y

এটি বোঝায় যে এখানে একটি নেই ...

Gdebi- কোর জন্য একটি প্রতিস্থাপন আছে? বা জিডিপির "শক্তিশালী সন্তুষ্টিযোগ্য সমাধানকারী" এর সাথে কি কখনও প্রয়োজন হয় না? আমি পুরানো সংস্করণে আমার প্যাকেজ ইনস্টল করতে হবে এমন পরিস্থিতিতে আমি জিডিবি ব্যবহার করি এবং আমার কাছে ইতিমধ্যে একটি .deb ফাইল রয়েছে (তবে সমস্ত নির্ভরতা নয়)।

উত্তর:


10

সাধারণভাবে, জিপারটি অ-ইন্টারেক্টিভভাবে চালিত করার সময় আপনার --non-interactiveশর্টকাটে মোড ব্যবহার করা উচিত -n:

zypper -n install curl

কারও কাছ থেকে আসার জন্য এটি বিভ্রান্তিকর মনে হতে পারে apt-get install -y curl। কিছু zypper উপ-কমান্ড এছাড়াও কমান্ড-নির্দিষ্ট সমর্থন -y/ --no-confirmজন্য একটি alias যেমন বিকল্প -n/ --non-interactiveকিন্তু সমস্ত উপ-কমান্ড না। হিসাবে installকমান্ড যে বাস্তবায়ন না করে, এই কম্যান্ডের উপরে সমতূল্য:

zypper install -y curl

নোট করুন যে -yঅবশ্যই পরে আসবে install, যখন বিশ্বব্যাপী -nবিকল্পটি সাবকম্যান্ডের আগে আসবে (এর zypper install -nঅর্থ ম্যান পৃষ্ঠাটি পড়ুন)।

[সম্পাদনা] নীচের বিভাগটি আর সঠিক নয়, তবে এটি historicalতিহাসিক রেফারেন্সের জন্য ধরে রাখা হয়েছে। বর্তমান জিপ্পার --gpg-auto-import-keysএকটি নতুন সংগ্রহস্থলের সাথে সম্পর্কিত জিপিজি কীগুলি স্বয়ংক্রিয়ভাবে আমদানি ও বিশ্বাসের বিকল্পটিকে সমর্থন করে ।


ডকুমেন্টেশন অনুসারে ইন্টারেক্টিভ মোড ছাড়া GPG কী কীভাবে গ্রহণ করবেন তার উপায় নেই:

একটি নতুন কী কেবল ইন্টারেক্টিভ মোডে বিশ্বাসযোগ্য বা আমদানি করা যায়

এমনকি --no-gpgp-checksজিপিজি কীটি প্রত্যাখ্যান করা হবে।

স্ক্রিপ্টগুলির জন্য একটি কার্যপ্রণালী হ'ল পাইপ এবং echo:

zypper addrepo http://repo.example.org my_name | echo 'a'

1
সিরিয়াসলি? একটি  -nবিকল্প এবং একটি  -yবিকল্প আছে এবং তারা একই জিনিস বোঝায় তবে তাদের অবশ্যই কমান্ড লাইনে বিভিন্ন অবস্থানে রাখা উচিত? হ্যাঁ, এটি বিভ্রান্তিকর। (স্পষ্টরূপে: আমি ম্যাসেঞ্জারটির শুটিং করছি না; আমি বলছি যে বিকাশকারীদের ব্যবহারযোগ্যতার সমস্যাগুলি সম্পর্কে আরও বেশি চিন্তা করা উচিত ছিল
জি-ম্যান

@ জি-ম্যান - ভাল, সাজানো। :) zypperএকটি -nবিকল্প আছে। installসাব কমান্ড উভয় একটি আছে -yবিকল্প যা সুবিধার বিশ্বব্যাপী করতে alias লেখা যে -nবিকল্প, এবং এছাড়াও নিজস্ব হয়েছে -n, যার জন্য ছোট --name। সক্ষমতার দ্বারা প্যাকেজ ইনস্টল করা সম্ভব। সুতরাং, zypper install -n blahশুধুমাত্র নামের প্যাকেজটি সমাধান করার জন্য নির্দিষ্ট করে blahএবং যা সরবরাহ করে সেই প্যাকেজগুলিকে বিবেচনা না করে blah। তা ছাড়া, জিপিআরপিএম সরবরাহকারী বিভাগের ভিত্তিতে সমাধান করতে পারে (সংস্করণ তুলনা সহ), যা নির্ভরতা সমাধানকে সহজ করে তুলতে পারে। zypper install 'python>3.5'উদাহরণ স্বরূপ.
dannysauer

এর জন্য প্রধান ব্যবহারটি zypper install -nহ'ল যদি আপনি কোনও নির্দিষ্ট প্যাকেজ ইনস্টল করতে চান তবে যার নাম অন্যের সরবরাহিত সামর্থ্য। উদাহরণস্বরূপ, কয়েকটি টি vi বাস্তবায়ন হতে পারে এবং আপনি কেবলমাত্র রেজাই রেজোলিউশন ছাড়াই vi নামক একটি নির্দিষ্ট প্যাকেজটি চান gvim (যা vi সরবরাহ করে) যদি নির্দিষ্ট viপ্যাকেজটি কোনও কারণে আপনার রেপোতে অনুপস্থিত থাকে। ব্যক্তিগতভাবে, আমি সংক্ষিপ্ত বিকল্পগুলির বিভ্রান্তিমূলক প্রকৃতিটি অপছন্দ করি এবং এগুলি খুব কমই স্ক্রিপ্টগুলিতে বা অন্য কোনও কিছুতে (আমার মতো) পরে পড়ার দরকার পড়ে use : ডি
ড্যানিসাউয়ার

8

আপনার কাছে --non-ইন্টারেক্টিভ বিকল্প রয়েছে। ম্যান পৃষ্ঠা থেকে:

Switches  to  non-interactive  mode. 
In this mode zypper doesn't ask user to type answers to various prompts, but uses default answers automatically. 
The  behaviour of this option is somewhat different than that of options like '--yes', since zypper can answer different answers to different questions. 
The answers  also  depend on other options like '--no-gpg-checks'.

অ্যাপটি-গেটের অটোমোমোয়ে কোনও সত্যিকারের চিঠিপত্র নেই। নিকটতমটি হ'ল কমান্ডের --clean-depsবিকল্প remove, যা অবিলম্বে নির্ভরশীলতাগুলি পরিষ্কার করে (তবে পরে নয়)।


zypper.confঅন্যান্য প্যাকেজ পরিচালকদের মতো স্থায়ী নিশ্চিতকরণের জন্য কি এই জাতীয় বিকল্প যুক্ত করা সম্ভব ?

আমি জানি না। আমি কিছুক্ষণের মধ্যে মামলা ব্যবহার করিনি, তাই আমি এটি পরীক্ষা করতে পারি না।
মাদুর

প্যাকম্যান, এপেট এবং ইউম / ডিএনএফ :-(

3

এটি একটি নমুনা

zypper --non-interactive --quiet addrepo --refresh -p 90 http://packman.inode.at/suse/openSUSE_Leap_15.0/ 'packman'
zypper --gpg-auto-import-keys refresh
zypper --non-interactive dist-upgrade --allow-vendor-change --from packman
zypper --non-interactive install vlc vlc-codecs

অবশ্যই আপনি এর মতো আরও বিকল্প অন্তর্ভুক্ত করতে পারেন --auto-agree-with-licensesতবে মনে রাখবেন যে এর আগে বা পরে যদি এর পরে फरक হয় makesinstall


2

এটি আমার জন্য কাজ করেছে (এসইএলইএস 12 এসপি 3 এ পরীক্ষিত):

zypper --non-interactive --quiet ar -C http://myrepo myrepo
zypper --gpg-auto-import-keys ref

-C/--no-checkজন্য নোট zypper ar

এখন আপনি প্যাকেজ ইনস্টল করতে পারেন:

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