'অ্যাপটি-গেট' ব্যবহার করে কীভাবে প্যাকেজ পুনরায় ইনস্টল করবেন?


186

মনে হচ্ছে আমার aptitudeকোনওভাবে ভেঙে গেছে:

sudo aptitude update
0% [Working]Segmentation fault

dmesg
[223282.616599] aptitude[30972]: segfault at 67707f ip 7f954dcfae5d sp 7ffff5a5f950 error 4 in libapt-pkg-libc6.7-6.so.4.6.0[7f954dca5000+bd000]

সুতরাং আমি aptitudeব্যবহার করে পুনরায় ইনস্টল করতে চাই apt-get

দুর্ভাগ্যক্রমে মনে হচ্ছে apt-getএটির পুনরায় ইনস্টল করার বিকল্প নেই।

আমি কীভাবে aptitudeআবার কাজ করতে পারি?

এটি সম্ভব যে আমি প্রবণতার Segfault এর মূল কারণটি খুঁজে পেয়েছি। এখানে আমি কীভাবে এটি পুনরুত্পাদন করতে পারি:

  1. সাইগউইনের আরএক্সভিটি টার্মিনাল (উইন্ডোজ 7 64-বিট জার্মান সংস্করণ থেকে) মাধ্যমে ডেবিয়ান মেশিনে 'ssh' রিমোট লগইন।
  2. আরএক্সভিটি উইন্ডোটি বড় করুন যাতে এটি দুটি মনিটরের জুড়ে ছড়িয়ে পড়ে (হ্যাঁ, আমার দুটি মনিটর রয়েছে)
  3. চালান aptitude update। দ্রষ্টব্য: আমি যখন আরএক্সভিটি টার্মিনালটিকে স্বাভাবিক করে তুলি তখন আমার এই বিভাগগুলির ত্রুটি হয় না!

উত্তর:


319
$ man apt-get | grep reinsta -A2
       --reinstall
           Re-Install packages that are already installed and at the newest
           version. Configuration Item: APT::Get::ReInstall.

সুতরাং, এটি পুনরায় ইনস্টল aptitudeকরতে ব্যবহার করতে:

sudo apt-get install --reinstall aptitude

14
কি যে -A5আপনি গ্রিপিং হয়?
ভোকুহিলা-অলিবা

86
man grep |
গ্রেপ

34
কি যে --আপনি grepping করছি?
11:54

13
man getopt, এর নীচে দেখুনPARSING
টিনো

28
-A5মিলিত লাইনটি নিম্নলিখিত 5 টি লাইন দেখায়। --বিকল্পগুলির পার্সিং বন্ধ করে দেয়, সুতরাং স্থিতিগত আর্গুমেন্ট হিসাবে যে কোনও কিছু পরে আসে -Aতা ব্যাখ্যা করে, এক্সপ্রেশনটিতে ড্যাশ থেকে বাঁচতে পারা এড়ানো যা অন্যথায় নিজেকে গ্রেপ করার বিকল্প হিসাবে ব্যাখ্যা করা হবে।
jjmontes

114

আপনি এটি দিয়ে একটি প্যাকেজ পুনরায় ইনস্টল করতে পারেন sudo apt-get install --reinstall packagename। এটি সম্পূর্ণরূপে প্যাকেজটি সরিয়ে দেয় (তবে এটি নির্ভর করে এমন প্যাকেজগুলি নয়), প্যাকেজটি পুনরায় ইনস্টল করে।

যখন প্যাকেজের অনেকগুলি বিপরীত নির্ভরতা থাকে তখন এটি সুবিধাজনক হতে পারে।


10
একমাত্র সঠিক, সম্পূর্ণ, অ-স্নিকারি উত্তর হওয়ার জন্য আপনাকে ধন্যবাদ।
সেরিন

6
@ ক্যারিন: আমি অন্যান্য উত্তরগুলিকে অত্যধিক ছদ্মবেশী বলব না: এমনকি "ম্যান পেজটি পড়ুন" এমন একটিও উত্তরটি দিয়েছিল এবং কীভাবে এটি সন্ধান করতে পারে।
ডেভিড স্পিললেট

45
@ ডেভিডস্পিলিট, আমি দৃ strongly়ভাবে একমত নই। ম্যান পেজগুলি সাধারণত খুব খারাপ লেখা হয় এবং নতুনদের সাথে খুব বন্ধুত্বপূর্ণ হয়। উদাহরণস্বরূপ, "--reinstall" বিকল্পের অনুচ্ছেদে উল্লেখ করা হয়নি যে আপনাকে "ইনস্টল" যুক্তি দিয়ে এটি ব্যবহার করতে হবে। একজন নবাগত সম্ভবত সঠিকভাবে জিজ্ঞাসা করতে পারেন "আমাকে কেন এটি ইনস্টল করতে এবং পুনরায় ইনস্টল করতে বলতে হবে?" আরটিএফএমকে কাউকে বলার একটি উত্তর হ'ল সবচেয়ে খারাপ উত্তর এবং এটি সবচেয়ে বেশি ভোট দিয়ে তা দেখে আমার কষ্ট হয়, বিশেষত যখন একটি সম্পূর্ণ এবং প্রকৃত সহায়ক উত্তর নীচের কাছাকাছি থাকে।
সেরিন

20

কখনও কখনও আপনার কনফিগারেশন ফাইলগুলিও পুনরুদ্ধার করতে হবে! শুধু পুনরায় ইনস্টল না।

sudo apt-get install --reinstall xxxx

অ্যাপ্লিকেশন পুনরায় ইনস্টল করুন, কনফিগার ফাইল রাখে।

এটি সহায়ক হতে পারে তবে কখনও কখনও আপনাকে নতুন করে শুরু করা দরকার, তাই আমি যা ব্যবহার করি তা হ'ল:

sudo dpkg -r xxxx //to remove that xxxx package
sudo dpkg -P xxxx //to purge all related files

তারপর

sudo apt-get install xxxx

6
এবং আপনার যদি কেবল কনফিগারেশন ফাইলগুলি পুনরুদ্ধার করতে হয় তবে কিছু ক্ষেত্রে (যদি তারা ইউসিএফ দ্বারা পরিচালিত হয়) আপনার ব্যবহার করা উচিত UCF_FORCE_CONFFMISS=1 apt-get --reinstall install [pkgname]
স্কিপি লে গ্র্যান্ড গৌরু

2
এই উত্তরটি একটি বিগ আপোভোটের প্রাপ্য। আপনি যখন কোনও প্যাকেজ "সম্পূর্ণ পুনরায় ইনস্টল" করতে চান তখন আপনার প্রয়োজন। উদাহরণস্বরূপ vsftpd- র একটি সহজ - ইনস্টল ইনস্টল কনফিগার ফাইলটি পুনরায় তৈরি করে না, এমনকি যদি ফাইলটির অস্তিত্ব থাকে না। একটি "সরান + পুর্ব + (পুনরায় ইনস্টল করুন") এর পরিবর্তে কাজটি করে।
কর.মা

13

প্রবণতা অপসারণ এবং পুনরায় ইনস্টল করা আপনার নিরাপদ হওয়া উচিত, কারণ এটি অন্যান্য অ্যাপের ইউটিলিটিগুলিকে প্রভাবিত করবে না। সুতরাং: apt-get remove aptitudeঅনুসরণ করা apt-get install aptitude, বা যদি এখনও ব্যর্থ হয় তবে apt-get purge aptitudeঅনুসরণ করার চেষ্টা করুন apt-get install aptitude

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


অনেক ধন্যবাদ! কৌতুক apt-get removeঅনুসরণ করে apt-get install!
ভোকুহিলা-অলিবা 30'10

এটি অনেক দিন আগে যে আমি a full filesystem checkপছন্দসই বা অনুরূপ জিনিসগুলি করেছি । আপনি কি দয়া করে আমাকে একটি সংক্ষিপ্ত ইঙ্গিত দিতে পারেন?
ভোকুহিলা-অলিবা 30'10

1
fsck -f <block_device>যেমন fsck /dev/sda1। কেবল তখনই ফাইল সিস্টেমটি আনমাউন্ট করা বা পঠনযোগ্য মাউন্ট করা প্রয়োজন যাতে এটি আপনার মূল ফাইল সিস্টেম হিসাবে সম্ভবত আপনার একক-ব্যবহারকারী-মোডে রিবুট হওয়া বা লাইভ সিডির মতো অন্য কোনও কিছু থেকে বুট করা উচিত।
ডেভিড স্পিলিট

2
আপনি tune2fsফাইলসিসটটিকে তার নির্ধারিত সীমাটির চেয়ে আরও বেশি বার মাউন্ট করা হিসাবে চিহ্নিত করতে ব্যবহার করতে পারেন , এটি পরবর্তী বুটকে চেক করার জন্য বাধ্য করা উচিত। ধরুন ফাইল সিস্টেমটি ext2 / 3/4: tune2fs -C 99 <device>অথবা আপনি যদি মাউন্ট কাউন্ট ভিত্তিক চেকিং বন্ধ করে থাকেন তবে একই সাথে এর মতো কিছু দিয়ে এটি চালু করুন tune2fs -c 17 -C 99 <device>
ডেভিড স্পিললেট

2
টাচ / ফোর্সফ্যাক; রিবুট
ব্যবহারকারী 23307

1
sudo apt remove --purge package
sudo apt install package

এর আগে আপনি কখনও প্যাকেজ ইনস্টল করেন নি had আমি প্রায়শই গতি এবং এই জাতীয় জিনিসগুলির সাথে এটি করছি।

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