`সুডো অ্যাপ্লিকেশনটি এক্সএক্সএক্সএক্সএক্সএক্সএক্স ইনস্টল করুন` মাঝে মাঝে নিশ্চিতকরণের জন্য অনুরোধ করেন, অন্যরা তা করেন না?


29

শুধু কৌতূহলের জন্য, কখনও কখনও apt-get install software_nameটার্মিনাল মাধ্যমে সফ্টওয়্যার ইনস্টল করার সময় আমাকে "হ্যাঁ বা না" টাইপের একটি নিশ্চিতকরণের জন্য অনুরোধ করা হয়, তবে সর্বদা নয়।

আমি সূডো পাসওয়ার্ড প্রম্পট বলতে চাইছি না, তবে "XXX কেবি ডাউনলোড এবং কনফিগার করা হবে, এই বার্তাটি অবিরত থাকবে?" (বা অনুরূপ কিছু)

কেন?


2
মূলত, যদি আর্গুমেন্টে উল্লিখিত প্যাকেজগুলি ইনস্টল করার প্রয়োজন হয়, এটি জিজ্ঞাসা করবে।
মুরু

উত্তর:


24

এটি আপনাকে জিজ্ঞাসা করবে যে প্রস্তাবিত বা প্রস্তাবিত প্যাকেজগুলি রয়েছে যা আপনি যে সফ্টওয়্যারটি ইনস্টল করার চেষ্টা করছেন তার উপর নির্ভর করে, এটি আপনার ডাউনলোড করা সংগ্রহস্থলের প্রোগ্রামের সুরক্ষা বা সুরক্ষার উপরও নির্ভর করে।


আমি একই অনুপ্রেরণা ভেবেছিলাম .. তবে আমি উত্তরটি সুরক্ষিত রাখতে চাই
স্ট্রে

হ্যাঁ, এই উত্তরটি সঠিক। আমি যুক্ত করব যে আপনি করতে চান (আপনি যদি কিছু স্বয়ংক্রিয় করার চেষ্টা করছেন তবে দরকারী) -yআপনি যদি অনুরোধ করতে চান না তবে পতাকাটি ব্যবহার করতে পারেন।
উমং

@ উমং: ইঙ্গিতটির জন্য ধন্যবাদ, তবে এই মুহুর্তে আমার কোনও কিছুই স্বয়ংক্রিয় হওয়া দরকার ছিল না, এটি ছিল মাত্র একটি কৌতুহল;)
স্ট্রে

12

apt-get install new-package এটি প্রদত্ত প্যাকেজের নির্ভরতাগুলি ইনস্টল করে তবেই নিশ্চিতকরণের জন্য জিজ্ঞাসা করবে।

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

এখন আপনি যদি এটি দেখতে চান তা দেখতে চান তবে আপনি ইনস্টল কমান্ডের একটি শুকনো রান / সিমুলেশন করতে পারেন। আপনি -sযুক্তিগুলিতে একটি যুক্ত করে এই স্যুইচটি সেট করেছেন । উদাহরণ: একক প্যাকেজ ইনস্টলেশনsudoku

bytecommander@AlkaliMetal:~$ sudo apt-get install sudoku -s
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  sudoku
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Inst sudoku (1.0.1-5 Ubuntu:14.10/utopic [i386])
Conf sudoku (1.0.1-5 Ubuntu:14.10/utopic [i386])

এটি আপনাকে কী ঘটবে তা দেখায়, তবে ডাউনলোডগুলি কতটা বড় হবে তা নিশ্চিত হবে না, যেমন কনফার্মেশন প্রম্পটটি করবে।

অতএব, অন্য একটি সুইচ ব্যবহার করা যেতে পারে --print-uris,। একই উদাহরণ:

bytecommander@AlkaliMetal:~$ sudo apt-get install sudoku --print-uris
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  sudoku
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 28.4 kB of archives.
After this operation, 106 kB of additional disk space will be used.
'http://ftp.uni-stuttgart.de/ubuntu/pool/universe/s/sudoku/sudoku_1.0.1-5_i386.deb' sudoku_1.0.1-5_i386.deb 28426 MD5Sum:ecd0e3cd4fc1e4e4edfe6c59d1c54847

--print-urisস্যুইচটি কেবল প্রকৃত ইনস্টলকেই আটকাবে না, তবে ডাউনলোড এবং ইনস্টল করা মাপ এবং প্যাকেজ সম্পর্কিত অতিরিক্ত তথ্য (ওয়েব ঠিকানা এবং MD5Sum) প্রদর্শন করবে।
দৃষ্টি আকর্ষণ: কি ব্যবহার করবেন --print-uris এবং -s একসঙ্গে। এটি দেখতে -sকেবল দেখতে হবে ।
আপনি -yযদি আউটপুটটি প্রসেস করতে চান তবে আপনার সুইচটি যুক্ত করা উচিত (= প্রতিটি প্রশ্নের হ্যাঁ হ্যাঁ) এটি যুক্ত করা উচিত , কারণ এটি আপনাকে সুইচ ছাড়াই সাধারণ ইনস্টলের মতো একই নিয়ম অনুসরণ করে নিশ্চিতকরণের জন্য অনুরোধ করবে।


এখন আপনি যদি অন্য সমস্ত বিষয়গুলি না পড়েই ডাউনলোড এবং ইনস্টল করা ফাইল আকারের তথ্য ফিল্টার আউট করতে চান তবে আপনি এটি অর্জন করতে নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন (সহায়তার জন্য @ টারডনকে ধন্যবাদ) আবার উদাহরণ সহ sudoku:

bytecommander@AlkaliMetal:~$ LANG=C sudo apt-get -y --print-uris install sudoku | grep -Po '^(Need to|After this).*?\K[0-9.]+[ a-zA-Z]+? '
28.4 kB
106 kB

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

যেহেতু এই কমান্ডটি টাইপ করা সহজ নয় এবং এটি মনে রাখা আরও কঠিন, তাই নিম্নলিখিতটি একটি স্ক্রিপ্ট ফাইলে অনুলিপি করুন apt-get-install-checker.sh: যাকে বলে :

#! /bin/bash

LANG=C sudo apt-get install -y --print-uris $* |
grep -Po '^(Need to|After this).*?\K[0-9.]+[ a-zA-Z]+? ' |
sed '1,1s/^/Download size: /;2,2s/^/Installed size: /'

ভুলে যাবেন না chmod +x apt-install-checker.shআপনি এটি কার্যকর আগে !

উদাহরণ আউটপুট:

bytecommander@AlkaliMetal:~/bin$ ./apt-install-checker.sh sudoku
Download size: 28.4 kB 
Installed size: 106 kB 

স্ক্রিপ্ট এখনও বিকাশে! পরিকল্পিত বৈশিষ্ট্য: এটি আপনাকে জিজ্ঞাসা করা উচিত আপনি ইনস্টলটি সম্পাদন করতে চান এবং তারপরে এটি চালিয়ে যান এবং চালনা করুন। আগামীকাল আমার মনে আসতে পারে আরও কিছু দুর্দান্ত গ্যাজেট ...


কিন্তু প্রতিবার জিজ্ঞাসা করার জন্য এটির কি কোনও উপায় আছে? এমনকি প্রোগ্রামটির আসল কোড পরিবর্তন করে।

@ টেরয়েডাল প্রোগ্রামের কোডটি এখানে পরিবর্তন করার কিছুটা বাইরে রয়েছে - কীভাবে পছন্দগুলি পরিবর্তন করতে হবে তা নির্ধারণ করার জন্য আপনাকে খনন করতে aptবা apt-getম্যানপেইজগুলি নিতে হতে পারে , কারণ এটি জোর করার জন্য ইতিমধ্যে একটি সেটিংস রয়েছে যা আপনি পরিবর্তন করতে পারেন possible
থমাস ওয়ার্ড

9

আমি যা বুঝতে পেরেছি তা থেকে কেবল যখন ইনস্টল করার জন্য অতিরিক্ত নির্ভরতা থাকে তখনই নিশ্চিতকরণের জন্য জিজ্ঞাসা করে। সমস্ত প্যাকেজগুলির জন্য ডিফল্টরূপে নিশ্চিতকরণ জোর করার কোনও উপায় নেই।

তবে প্রবণতা ব্যবহার করার সময় কোনও ইনস্টল কমান্ডের উপর জোর করে জোর দেওয়া সম্ভব।

echo 'Aptitude::CmdLine::Always-Prompt "true";' | sudo tee -a /etc/apt/apt.conf.d/05aptitude

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