একসাথে অনেক সরানো প্যাকেজ পুনরায় ইনস্টল করবেন কীভাবে?


8

আমি sudo apt-get remove pythonকমান্ড ব্যবহার করেছি এবং দুর্ঘটনাক্রমে প্রয়োজনীয় প্যাকেজগুলির একটি গোছা অপসারণ করেছি। আমি কমান্ড লাইনের মাধ্যমে লগ ইন করেছি এবং আবার উবুন্টু-ডেস্কটপ ইনস্টল করেছি তবে অন্যান্য প্যাকেজগুলি নেই যা অনুপস্থিত রয়েছে এবং আমি অপসারণ প্যাকেজগুলি সহজেই পুনরায় ইনস্টল করার উপায় খুঁজছি। সফ্টওয়্যার-কেন্দ্রে লগ থাকার কারণে আমি জিজ্ঞাসা করতে চেয়েছিলাম যে সফটওয়্যার কেন্দ্র থেকে পরিবর্তনগুলি ফিরিয়ে নেওয়া বা মুছে ফেলা প্যাকেজগুলির তালিকাটি বের করার সবচেয়ে সহজ উপায় কী হতে পারে ...

দ্রষ্টব্য: আমি sudo apt-get install .... .... ... ...সেই তালিকায় মুছে ফেলা প্রোগ্রামগুলির মধ্যে প্রায় দুই ডজন লিখেছি , কিন্তু যখন আমি এন্টার টিপলাম তখন এটি কোনও ইনস্টল হয়নি কারণ কিছু প্যাকেজের নাম খুঁজে পাওয়া যায়নি।

প্রোগ্রামগুলি একই তারিখে সরানো হয়েছে।


1
সন্ধান করুন/var/log/apt/history.log
লেকেনস্টেইন

উত্তর:


16

প্রথমত, আমি বলতে পারি যে অপসারণের pythonফলে অনেক মৌলিক আদেশগুলি আর কাজ করে না। সুতরাং আমি জানি না অনুসরণ কী কাজ করবে কিনা।

দ্বিতীয়ত, আমি ধরে নিই যে আপনার যে package names couldn't be foundত্রুটিটি রয়েছে তা হ'ল কমান্ড লাইনের একটি ভুল বানানযুক্ত নাম থেকে, বা স্থানীয়ভাবে ইনস্টল করা প্যাকেজ থেকে প্রাপ্ত এবং সংগ্রহস্থলগুলিতে উপলভ্য নয়।

তারপরে, মুছে ফেলা প্যাকেজগুলির লগ পেতে, তুলনামূলকভাবে শেষ dpkgলগটি উপলভ্য (আমার মনে হয় না আপনাকে পুরানো লগগুলি বিবেচনায় নেওয়া দরকার):

awk '$3 == "remove" { print $1, $2, $4 }' /var/log/dpkg.log | tee list

তারপরে listবর্তমান ডিরেক্টরিতে নির্মিত ফাইলটি সম্পাদনা করুন এবং লাইনের টাইমস্ট্যাম্পের ভিত্তিতে প্যাকেজগুলি পুনরায় ইনস্টল করতে চান কেবল সেই লাইনগুলি ছেড়ে দিন। আপনি পরিবর্তিত ফাইলটি এতে সংরক্ষণ করুন বলুন list-mod

এই প্যাকেজগুলি পুনরায় ইনস্টল করতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

sudo apt-get --simulate install $(awk '{ print $3 }' list-mod)

--simulateকমান্ডটি কী করবে তা দেখার জন্য আমি বিকল্পটি sertedোকালাম । সব ঠিকঠাক থাকলে অপশনটি অপসারণ করে কমান্ডটি আবার করুন।

যদি কমান্ডটি বলে যে কিছু প্যাকেজ পাওয়া যায় না, কেবল সেগুলি থেকে সরান list-modএবং আবার চেষ্টা করুন।


আপনাকে ধন্যবাদ, আমি আমার প্রয়োজনীয় প্যাকেজগুলি পুনরায় ইনস্টল করতে সক্ষম হয়েছি! যদিও একটি প্রশ্ন, সফ্টওয়্যার কেন্দ্র লগতে 200 টিরও বেশি প্যাকেজ মুছে ফেলা হয়েছে, তবে তালিকার ফাইলে প্রায় 150 টি রয়েছে, এর অর্থ কী dpkg.log এ স্বয়ংক্রিয় ইনস্টল / নির্ভর প্যাকেজ নেই? আবার এই সমাধানের জন্য ধন্যবাদ :)
লোগান

1
যে লগ ফাইল যে, ইনস্টল আপগ্রেড, সরানো বা পার্জ প্যাকেজ ধারণ করে এবং থেকে প্রয়োগের সাথে dpkgসাথে apt-get, aptitude, Synaptic, সফ্টওয়্যার সেন্টার, gdebiইত্যাদি পুরোনো কটাক্ষপাত দিতে পারেন dpkg.logফাইল, দেখতে ls -lrt /var/log/dpkg.log*
enzotib

1
@ এঞ্জোটিব আমি পুরানো লিনাক্স শিরোনামগুলি পরিষ্কার করার জন্য একটি স্ক্রিপ্ট চালিয়েছিলাম এবং আমি মনে করি যে নিয়মিত প্রকাশটি আমি প্যাকেজগুলি মুছতে চাইনি এমন অনেকগুলি প্যাকেজের সাথে মিলেছে (খুব গুরুত্বপূর্ণ !!)! আপনার উত্তর আমাকে একটি নির্দিষ্ট বিপর্যয় থেকে বাঁচিয়েছে।
shivisuper

1
@ এঞ্জোটিব আপনি একটি খারাপ স্ক্রিপ্ট চালানোর পরে আমার ওএস পুনরায় ইনস্টল করার হাত থেকে আমাকে বাঁচিয়েছেন। ধন্যবাদ!
brndn2k

এটি বলে যে 0 আপগ্রেড হয়েছে, 0 ইনস্টল হয়েছে, 0 অপসারণ করতে এবং 50 আপগ্রেড করা হয়নি
জেমস ক্যাসিয়া

2

সুতরাং, আমি একই ধরণের ভুল ঘটতে থাকি: sudo apt-get purge python3.6*পরিবর্তে sudo apt-get purge python3.6.*

আমি নিম্নলিখিত পদক্ষেপগুলি সহ এটি বেশ দ্রুত সমাধান করতে সক্ষম হয়েছি:

  1. লগ খোলা vim /var/log/history.log
  2. ভিএম কমান্ড ব্যবহার করে আমার খারাপ কমান্ডের সন্ধান করা /python3.6\*
  3. Purge: unity-control-center-signon:amd64 (0.1.7~+14.04.20140211.2-0ubuntu4), ...শুদ্ধ প্যাকেজগুলির একটি দীর্ঘ তালিকা সহ একটি লাইন ছিল (অপসারণের ক্ষেত্রে এটি দিয়ে শুরু হবে Remove:), যা আমি Purge:কাজ না করে অংশ ছাড়াই অন্য একটি ফাইলে অনুলিপি করেছি।
  4. সেই ফাইলটিতে আমি ভিআইএম কমান্ডটি চালিয়েছি: %s/:[^,]*,//gযা সংস্করণ অংশটি সরিয়ে নিয়েছে এবং প্যাকেজগুলির একটি তালিকা রেখে দিয়েছে unity-control-center-signon lxc ...
  5. শেষ অবধি আমি পূর্বের পদক্ষেপটি থেকে একটি লাইন অনুলিপি করে দৌড়েছি: sudo apt-get install unity-control-center-signon lxc ...এবং এটিই ঠিক হয়ে গেছে।

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