sudo apt-get remove ^k3b
পরিবর্তে ব্যবহার করুন। আপনি যখন প্যাকেজগুলি ইনস্টল বা সরান, *
প্রায়শই বিপজ্জনক এবং খুব কমই প্রয়োজন হয়। আপনি যদি এটি ব্যবহার করেন তবে আপনার *
এটি উদ্ধৃত করা উচিত, তবে এটি এটি নিরাপদ করে না কারণ আপনার ইচ্ছার চেয়ে অনেক বেশি প্যাকেজ নির্বাচন করার প্রবণতা হ'ল উপায় apt
এবং এর apt-get
ব্যাখ্যা এবং পথের নাম প্রসারণের প্রভাব নয় ।
- এমনকি নিরাপদ ব্যবহারের
*
হয় প্রায়ই অপ্রয়োজনীয় ।
- অনিরাপদ ব্যবহারগুলি নৃশংস । অপসারণটি তার নামে
k3b*
যে k3
কোনও প্যাকেজ (এবং এমন প্যাকেজের উপর নির্ভর করে এমন প্রতিটি প্যাকেজ) মুছে ফেলে । এটা একটা টাইপো নয় - ধারণকারী k3
যথেষ্ট, এমনকি ছাড়া b
, কারণ b*
মানে হলো "শূন্য বা তার বেশি b
গুলি।"
আপনি চালাতে যখন apt
বা apt-get
সঙ্গে install
, remove
অথবা purge
কর্ম, প্রতিটি পরবর্তী যুক্তি প্রথম 1 একজন ব্যক্তির প্যাকেজ নাম হিসেবে ব্যাখ্যা। যদি সেই সঠিক নামের একটি প্যাকেজ উপস্থিত থাকে তবে এর জন্য ক্রিয়াটি সম্পাদিত হবে।
যদি এমন কোন প্যাকেজ, apt
এবং apt-get
যুক্তি সাধারণ কোন থাকে চেক করবে রেগুলার এক্সপ্রেশন metacharacters 2 .
, ?
, +
,*
, |
, \[
, ^
, অথবা$
। যদি তা না হয় তবে এটি শেষ হয়েছে - কোনও প্যাকেজ পাওয়া যায় নি।
এটিতে যদি এই অক্ষরগুলির কোনও থাকে তবে তা নিয়মিত প্রকাশ হিসাবে বিবেচনা করা হবে এবং কোনও প্যাকেজের নামের কোনও অংশের সাথে মিলে যায় । এটি পুরো নামের সাথে মেলে না। অন্যদের বলেছি, *
একটি রেগুলার এক্সপ্রেশন হিসেবে একই জিনিস মানে এই নয় *
একটি উল্লিখিত glob হবে। ?
হয় না। একটি নিয়মিত প্রকাশে:
*
পূর্ববর্তী আইটেমটি ঠিক একবারের পরিবর্তে - একবারে বা একেবারে নয় - যে কোনও সময় প্রদর্শিত হতে দেয় ।
?
পূর্ববর্তী আইটেমে তোলে ঐচ্ছিক --that হয়, এটা শূন্য বা এক বার প্রদর্শিত করতে পারবেন।
apt-get (8) ( man apt-get
) বলেছেন:
যদি কোনও প্যাকেজ প্রদত্ত এক্সপ্রেশনটির সাথে মেলে না এবং এক্সপ্রেশনটিতে একটি '।', '? বা '*' তারপরে এটি একটি পসিক্স নিয়মিত এক্সপ্রেশন হিসাবে ধরে নেওয়া হয় এবং এটি ডাটাবেসের সমস্ত প্যাকেজের নামের জন্য প্রয়োগ করা হয়। এরপরে যেকোন ম্যাচ ইনস্টল করা (বা সরানো) হয়। নোট করুন যে ম্যাচটি 'লো। *' ম্যাচগুলি 'হাও-লো' এবং 'সর্বনিম্ন' এর সাথে বিস্তৃত করে সম্পন্ন হয়। যদি এটি অনাকাঙ্ক্ষিত হয় তবে নিয়মিত এক্সপ্রেশনটি একটি 'or' বা '$' চরিত্রের সাথে অ্যাঙ্কর করুন বা আরও নির্দিষ্ট নিয়মিত এক্সপ্রেশন তৈরি করুন।
র manpage শুধুমাত্র উল্লেখ .
, ?
এবং *
, কিন্তু এটা অসম্পূর্ণ , যেমন +
, |
, [
, ^
, এবং $
এছাড়াও যাক যথেষ্ট apt-get
বা apt
একটি রেগুলার এক্সপ্রেশন হিসাবে প্যাটার্ন ব্যাখ্যা। 3
যদিও আপনি যে কোনও অক্ষরের সাথে সংখ্যার সাথে মিল রাখতে পারেন .*
- শুধু নয় - *
এটি আপনার নিয়মিত প্রকাশের মাঝামাঝি সময়ে উপস্থিত হলেই কেবল এটির প্রয়োজন । যেহেতু প্যাকেজ নামের কোনও স্ট্রিংয়ের সাথে প্যাটার্নটি মিলছে, এটি নিদর্শনটির শেষে (বা শুরু) অর্থহীন।
ম্যানপেজটি উল্লেখ করেছে ^
এবং$
। এই (বিশেষ করে ^
) সাথে ব্যবহারের জন্য নিরাপদ, দক্ষ নিদর্শন লেখার চাবিকাঠি install
, remove
অথবা purge
মধ্যে ক্রিয়া apt
বা apt-get
।
^
পুরো স্ট্রিংয়ের শুরুতে নিয়মিত অভিব্যক্তি অ্যাঙ্কর করে । ^k3b
যার নাম দিয়ে শুরু হয় এমন সমস্ত প্যাকেজ নির্বাচন করে k3b
।
$
পুরো স্ট্রিংয়ের শেষে একটি নিয়মিত ভাব প্রকাশ করে ors k3b$
সমস্ত প্যাকেজ যাদের নাম নির্বাচন হবে শেষ সঙ্গে k3b
।
অতএব আপনি নিরাপদে প্যাকেজগুলি অপসারণ করতে এই আদেশটি ব্যবহার করতে পারেন:
sudo apt-get remove ^k3b
অবশেষে, আপনি যে নির্দিষ্ট ক্ষেত্রে উল্লেখ করেছেন, আপনি পাশাপাশি দুটি নাম নিজেই পাস করতে পারেন:
sudo apt-get remove k3b k3b-data
তাহলে আপনি এই সমস্ত জটিলতা এড়ানো! (যদিও ^
এটি ব্যবহারের পরে একবারে অ্যাঙ্করিং করা সহজ)) বা ব্রেস প্রসারণ ব্যবহার করুন , যা আপনার শেল উপরের কমান্ডটিতে প্রসারিত:
sudo apt-get remove k3b{,-data}
1 এই দুটি ব্যতিক্রম রয়েছে: (ক) কিছু অপশন (যেমন, -f
, --purge
) স্বীকৃত হয়, এবং (খ) কিছু যতিচিহ্ন এ প্রকাশমান অক্ষর শেষ একটি আর্গুমেন্ট অন্যথায় ক্রিয়াটি হতে পারে একটি প্যাকেজের নাম হিসাবে গ্রহণ করা হবে যা করা হয় তার পরিবর্তনের জন্য ব্যবহৃত হয় (উদাহরণস্বরূপ, প্যাকেজের পরিবর্তে টাস্কটিsudo apt install ubuntu-desktop^
ইনস্টল করে এবং শেষে প্রদর্শিত হবে)।^
2 অন্যান্য নিয়মিত এক্সপ্রেশন মেটাচার্যাক্ট উপস্থিত। উদাহরণস্বরূপ, \
নিয়মিত প্রকাশের সমস্ত উপভাষা দ্বারা সমর্থন করা হয় এবং সাধারণত ব্যবহৃত হয়। .
, ?
, +
, *
, |
, [
, ^
, এবং $
মাত্র metacharacters এপিটি ডেভেলপারদের একটি রেগুলার এক্সপ্রেশন হিসাবে ব্যাখ্যা আরম্ভ সিদ্ধান্ত নিয়েছে হতে ঘটতে (নামে একটি সঠিক প্যাকেজ হিসাবে রেজল্যুশন পর ব্যর্থ হয়েছে)।
3 এটি যাচাই করার সহজতম উপায় হ'ল -s
উপরে বর্ণিত বিকল্পটি ব্যবহার করে এ জাতীয় প্যাটার্ন দিয়ে ইনস্টলেশন বা অপসারণের অনুকরণ করা । উদাহরণস্বরূপ, চলমান apt -s install ^virtualbox
শোগুলি যার sudo apt install ^virtualbox
প্রতিটি প্যাকেজ ইনস্টল করার চেষ্টা করার প্রভাব ফেলবে প্যাকেজ ম্যানেজার কার নাম দিয়ে শুরু হবে তা জানে virtualbox
। তবে এই আচরণটি উত্স কোড পরীক্ষা করেও যাচাই করা যেতে পারে । পরীক্ষা করে দেখুন CacheSetHelper::PackageFromRegEx
ফাংশন cacheset.cc
।