প্যাকেজ তালিকা পড়া চিরকালের জন্য লাগে


25

আমি আমার মেশিনে আমার জিনিসগুলি আপডেট করার চেষ্টা করেছি এবং দেখে মনে হচ্ছে এটি আমার প্যাকেজ তালিকাটি পড়তে পারে না। মনে হচ্ছে প্রতিবারের মতো sudo apt-get install *something* && sudo apt-get updateএটি প্যাকেজ তালিকার পড়াতে আটকে যায়, এটি আগে কোনও সমস্যা হয়নি। এখানে আমার চশমা এবং কি নোট:

  • স্মৃতি: 15.8 জিবি b
  • প্রসেসর: এএমডি ফেনোম (টিএম) II x4 965 প্রসেসর x 4
  • গ্রাফিক্স: এএমডি বার্সে গ্যালিয়াম 0.4
  • ওএস টাইপ: 32-বিট
  • নেটস্পিড: এখানে চিত্র বর্ণনা লিখুন

2
শুধু পরিষ্কার করছি ... আপনি মৃত্যুদন্ড কার্যকর করার কথা বলছেন, তাই না sudo apt-get update?
জ্যাক

2
ইন Software Sources, দেখুন আপনার বর্তমান একের পরিবর্তে অন্য কোনও সার্ভার নির্বাচন করে কিনা সহায়তা করে।

এই সমস্যাটি সম্পর্কে আরও না লেখার জন্য দুঃখিত। তবে এখানে চুক্তি! যতবারই আমি একটি সুডো অ্যাপটি-গেট আপডেট চালনা করি, সুডো অ্যাপটি-আপগ্রেড আপগ্রেড করুন বা ' কিছু কিছু ইনস্টল করুন কিছু ইনস্টল করুন ' শেষ পর্যন্ত এটি পাবেন তবে তালিকার মধ্যে পড়তে 30 মিনিট সময় লাগবে। Ive সার্ভার পরিবর্তন করার চেষ্টা করেছে, এবং এটি সাহায্য করে নি।
ফ্রেব

আপনার কম্পিউটার এবং আপনার ইন্টারনেট সংযোগের বৈশিষ্ট্যগুলি কী? নতুন তথ্য দিয়ে আপনার প্রশ্নটি সম্পাদনা করুন এটি মন্তব্যগুলিতে যুক্ত করবেন না ...
আলভর

বিটিডব্লিউ, কেন আপনার সেই স্পেসিফিকেশনটিতে 32-বিট রয়েছে? এটা আমার বুঝে আসেনা. আপনার সমস্যাটি আমি বুঝতে পারছি না, আপনি কতগুলি ভিন্ন সার্ভার চেষ্টা করেছেন? এই উত্তরটি সাহায্য করতে পারে, Askubuntu.com/a/44900/10698
আলভার

উত্তর:


22

আমি এটাও দেখেছি।

আমার কাছে কোনও সমাধান নেই, তবে আমার কাছে কার্যতালিকা ( echo 3 | sudo tee /proc/sys/vm/drop_caches) এবং সম্ভাব্য আরও তথ্য রয়েছে যাতে কেউ তদন্তকে আরও সামনে আনতে পারে।

এটি কোনও নেটওয়ার্কের সমস্যা নয় কারণ "প্যাকেজ তালিকার পঠন ..." এ এটি কেবল ফাইলগুলি পড়া /var/lib/apt/lists/। উত্তর:

strace -tt -T -fo strace.log apt-get update

দেয়:

16394 14:43:03.921130 open("/var/lib/apt/lists/gb.archive.ubuntu.com_ubuntu_dists_precise_main_binary-i386_Packages", O_RDONLY|O_LARGEFILE) = 7 <0.000012>
[...]
16394 14:43:03.995238 read(6, "-3.1ubuntu2)\nConflicts: linux86\n"..., 32444) = 32444 <0.000111>
16394 14:43:05.787187 read(6, "c (<< 1:14.b.4-dfsg), erlang-exa"..., 32239) = 32239 <0.000069>
16394 14:43:05.788025 read(6, ".deb\nSize: 42130\nMD5sum: c7de671"..., 31695) = 31695 <0.000068>
16394 14:43:05.870734 read(6, "5: 29c4b395a92bdc12932f151c3643a"..., 31607) = 31607 <0.000071>
16394 14:43:05.890862 read(6, "e-pack-af-base\nFilename: pool/ma"..., 32538) = 32538 <0.000070>
16394 14:43:05.891425 read(6, "buntu-usb-live, ubuntu-dvd-live,"..., 32090) = 32090 <0.000066>
16394 14:43:05.891960 read(6, "cd9755b03ac2c9b8251125c7b6618\nDe"..., 32195) = 32195 <0.000034>
16394 14:43:06.043001 read(6, "rg>\nArchitecture: all\nVersion: 2"..., 32535) = 32535 <0.000072>

readপ্রতিটি পৃথক কল 1 এমএসের চেয়েও কম সময় নিয়ে গেলেও কীভাবে সেই 8 টি সিস্টেম কল 2 সেকেন্ডের মধ্যে নিয়েছে তা দেখুন । দৌড়ানো time apt-get updateবা তাকাতে top, এই প্রক্রিয়াটি সেই দুটি কলের মধ্যে ব্যস্ত নয়। তাহলে দেরি কেন?

তারপরে আমি করলাম:

echo t > /proc/sysrq-trigger

কয়েকবার এবং ফলাফলটির দিকে তাকিয়েছি kern.log:

 apt-get         D 00000000     0 16790  12706 0x00000000
  e8695d30 00000086 f7bd5e6c 00000000 f7bd5e44 f74a6580 c1990e00 c1990e00
  efe46efe 000042cb f7b9de00 e71a7230 f74a6580 c107e116 00000000 00000000
  044aa200 00000000 00000000 00000000 00000000 e8695d0c e8695d0c c1038de8
 Call Trace:
  [<c107e116>] ? enqueue_entity+0x186/0x220
  [<c1038de8>] ? default_spin_lock_flags+0x8/0x10
  [<c15e13bd>] ? _raw_spin_lock_irqsave+0x2d/0x40
  [<c15e0533>] schedule+0x23/0x60
  [<c15deecf>] schedule_timeout+0x12f/0x290
  [<c1075c38>] ? ttwu_do_activate.constprop.86+0x58/0x70
  [<c1055190>] ? usleep_range+0x40/0x40
  [<c15e0846>] io_schedule_timeout+0x86/0xd0
  [<c15cef7d>] balance_dirty_pages.isra.17+0x3f5/0x4b4
  [<c15e118d>] ? _raw_spin_lock+0xd/0x10
  [<c1180781>] ? __set_page_dirty_buffers+0x81/0xb0
  [<c110deb5>] ? set_page_dirty+0x55/0x60
  [<c11812c9>] ? __block_page_mkwrite+0xe9/0x170
  [<c110f3ae>] balance_dirty_pages_ratelimited_nr+0xde/0x100
  [<c1126f53>] do_wp_page+0x503/0x830
  [<c1128ef7>] handle_pte_fault+0x267/0x2c0
  [<c1129c62>] handle_mm_fault+0x1e2/0x280
  [<c15e4988>] do_page_fault+0x158/0x4c0
  [<c104e4dc>] ? irq_exit+0x5c/0xa0
  [<c15e22d0>] ? do_debug+0x180/0x180
  [<c15e4830>] ? vmalloc_fault+0x195/0x195
  [<c15e1c53>] error_code+0x67/0x6c

সুতরাং, এর অর্থ কী তা নিশ্চিত হবেন না তবে এটি পৃষ্ঠার ত্রুটিগুলি পরিচালনা করার বিষয়ে দেখায়, তাই কোনও সম্ভাব্য মেমরি পরিচালনার সমস্যাটি নির্দেশ করে।

আমি তখন একটি চেষ্টা করেছিলাম:

echo 3 >/proc/sys/vm/drop_caches

এবং এটি সমস্যাটিকে দূরে সরিয়ে দেয়।

এখন, এটি দেখতে অনেকটা কার্নেল সমস্যার মতো দেখাচ্ছে। সুতরাং, আমি সর্বশেষতম কার্নেলটিতে আপডেট করেছি (3.8 ব্যাকপোর্ট থেকে raring) এবং আমি এখানে আছি। সমস্যাটি যদি নতুন কার্নেলের সাথে অব্যাহত থাকে তবে আপডেট হবে।

সম্পাদন করা

সমস্যাটি ততটা খারাপ না হলেও নতুন কার্নেলটি দিয়েই রয়েছে। এবং একই জিনিস,

echo 3 | sudo tee /proc/sys/vm/drop_caches

কিছুক্ষণের জন্য সমস্যাটি পরিষ্কার করে দেয়। আমি কেবল এটিই দেখেছি এমএসআই ল্যাপটপে (পণ্যের নাম: CR61 2M / CX61 2OC / CX61 2OD)।

ডিসেম্বর 2015 সম্পাদনা করুন

যেমনটি দ্বারা নিশ্চিত করা হয়েছে btrace aptitude/ তখন apt-getকিছু ডিস্ক আই / ও করার সময় উপস্থিত হয়। এটি একটি অস্থায়ী ফাইল পেয়েছে ( /var/cache/apt/pkgcache.bin.<random-chars>) মেমরিতে ম্যাপ করা হয়েছে যার কারণে এটি straceআউটপুটে প্রদর্শিত হয় না ।

এটি কেবল কয়েকটি মেশিনে কেন হয় তা ব্যাখ্যা করতে পারে না, কেন ক্যাচ ফেলে দেওয়া সহায়তা করে, কেন 64 বিবিটে স্যুইচিংয়ে সহায়তা করে।

কারো এটা নকল করা করতে পারেন, একটি আকর্ষণীয় পরীক্ষা দেখতে যে যদি এছাড়াও ঘটে যখন অধীনে চলমান হতে পারে eatmydataঅথবা যদি চলন্ত /var/cache/aptসম্মুখের tmpfsবা ramdisk এবং সাহায্য করে।


1
৫ ই এপ্রিল, ২০১৪ এ আমি নিশ্চিত করতে পারি যে সমস্যাটি এখনও রয়েছে। পরীক্ষিত: লিনাক্স মিন্ট 16, 32 বিট, 64 বিট প্রসেসর, লেনোভো ডাব্লু 520, এবং: কুবুন্টু 12.10 32 বিট, আবার 64 বিট হার্ডওয়্যার, কাস্টম বিল্টড ডেস্কটপে চলছে। (এবং এখানে প্রস্তাবিত সমাধান / কার্যপ্রণালীও কাজ করে :))
ফেরেঙ্ক ডেক

@ ফ্রিটজোন, আমি মনে করি সমস্যাটি অন্যত্র রিপোর্ট করা দেখেছি যেখানে লোকেরা বলছিল যে bit৪ বিট ওএসে স্যুইচ করার ফলে সমস্যাটি স্থির হয়েছে।
স্টাফেন চেজেলাস

আমি একটি 64 বিট ওএসেও ফিরে যেতে চাই। এর আগে, ডেস্কটপে আমার 12.10 এর একটি 64 বিট সংস্করণ ছিল এবং এ জাতীয় সমস্যা ছিল না।
ফেরেঙ্ক ডেক

সমস্যাটি এখনও উবুন্টুতে রয়েছে 14.04 :-(। ড্রপ_ক্যাচগুলি প্রতি ইকো 3 দিয়ে আপনার সমাধান কাজ করেছে clip ক্লিপবোর্ডের সাথে ইঙ্কস্কেপের কিছু কিছু বগি আচরণের পরে নেটবিনের সাথে ভুলভাবে সংঘর্ষের পরে এটি 100 ইমেজবক্সগুলি খোলা আছে ... যদিও ইনস্কেপ নিহত হয়েছিল, এটি সিস্টেমে কিছুটা বিশৃঙ্খলা ফেলেছিল যা প্যাকেজগুলি পড়তে পুরোপুরি কমিয়ে দিয়েছিল
পলো

আমি এটিও একসময় দেখতে পাচ্ছি, এবং আমার মতো কাজটি কার্যকর হয় না। এটি এখানে একটি bit৪ বিটের অপারেটিং সিস্টেম, আই 7 এবং 8 জি র‌্যাম সহ একটি স্যামসাং ল্যাপটপে রয়েছে। কেবল একটি পুনরায় বুট করার ফলে সমস্যাটি সরে যায়। রহস্যময়।
রোমান

5

Http://antti-juhani.kaijanaho.fi/newblog/archives/521 এ দেওয়া পরামর্শটি আমার কাছে বিভিন্ন কম্পিউটারে কয়েকবার বৃদ্ধি পেয়েছে:

sudo dpkg --clear-avail
sudo sync-available

(ব্লগটি sudo dpkg --forget-old-unavail2 টি পদক্ষেপের মধ্যেও সুপারিশ করেছে তবে দৃশ্যত এটি হ্রাস পেয়েছে এবং এর আর প্রয়োজন নেই))


4

পদক্ষেপগুলো অনুসরণ কর:

  • ক্যাশে পরিষ্কার করুন:

    sudo apt-get clean
    
  • সরানো sources.listতাই aptএটি ব্যবহার করতে পারবেন না:

    mv /etc/apt/sources.list /etc/apt/sources.list1 && sudo apt-get update
    
  • এটিকে আবার সরিয়ে নিয়ে আপডেট করুন:

    mv /etc/apt/sources.list1 /etc/apt/sources.list && sudo apt-get update 
    

এছাড়াও আপনার প্রয়োজন নেই এমন কোনও পিপিএ এবং উত্স লাইনগুলি পরীক্ষা করুন এবং সরিয়ে দিন।


1

আমার সিস্টেমে, কারণটি LANGUAGE=পরিবেশের পরিবর্তনশীলতে একটি ভুল মান ছিল । এটির মতো মানগুলি রাখা উচিত en:fr:deএবং না en_US.UTF-8,sl_SI.UTF-8:

root@fik:~
# locale
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8,sl_SI.UTF-8
LC_CTYPE=sl_SI.UTF-8
LC_NUMERIC=sl_SI.UTF-8
LC_TIME=sl_SI.UTF-8
LC_COLLATE=sl_SI.UTF-8
LC_MONETARY=sl_SI.UTF-8
LC_MESSAGES=en_US.UTF-8
LC_PAPER=sl_SI.UTF-8
LC_NAME=sl_SI.UTF-8
LC_ADDRESS=sl_SI.UTF-8
LC_TELEPHONE=sl_SI.UTF-8
LC_MEASUREMENT=sl_SI.UTF-8
LC_IDENTIFICATION=sl_SI.UTF-8
LC_ALL=

দৌড়ানোর সময় (মাধ্যমে strace), apt-get updateকমান্ডটি কলটিতে ক্লোন করে read()। এটি কার্যকর করতে যুগে যুগে সময় লাগে এবং একটি সিপিইউ কোরের সমস্ত উপলব্ধ চক্র খায়:

root@fik:~
# strace apt-get update
[snip]
read(5, "form, hardware::opengl, implemen"..., 32146) = 32146
read(5, " Maintainers <pkg-bluetooth-main"..., 32658) = 32658
read(5, ": 17569748\nMD5sum: 9c20d52f9a0d5"..., 32200) = 32200
brk(0x55ac79212000)                     = 0x55ac79212000
read(5, "scription-md5: ca1156b27bec24d4c"..., 32469) = 32469
read(5, " Boost.Math Library\nMulti-Arch: "..., 32477) = 32477
read(5, "epends: libc6 (>= 2.4), lsb-base"..., 32648) = 32648
^C--- SIGINT {si_signo=SIGINT, si_code=SI_KERNEL} ---
strace: Process 18452 detached

যদি আমি LANGUAGE=একটি সঠিক মান সেট করে (যেমন en), তবে সবকিছু আবার স্বাভাবিক হয়ে যায়:

root@fik:~
# export LANGUAGE=en

root@fik:~
# locale
LANG=en_US.UTF-8
LANGUAGE=en
LC_CTYPE=sl_SI.UTF-8
LC_NUMERIC=sl_SI.UTF-8
LC_TIME=sl_SI.UTF-8
LC_COLLATE=sl_SI.UTF-8
LC_MONETARY=sl_SI.UTF-8
LC_MESSAGES=en_US.UTF-8
LC_PAPER=sl_SI.UTF-8
LC_NAME=sl_SI.UTF-8
LC_ADDRESS=sl_SI.UTF-8
LC_TELEPHONE=sl_SI.UTF-8
LC_MEASUREMENT=sl_SI.UTF-8
LC_IDENTIFICATION=sl_SI.UTF-8
LC_ALL=

root@fik:~
# apt-get update
Hit:1 http://ftp.at.debian.org/debian experimental InRelease
Ign:3 http://ftp.at.debian.org/debian jessie InRelease                                                      
Hit:4 http://ftp.at.debian.org/debian jessie-updates InRelease  
Hit:5 http://ftp.at.debian.org/debian jessie-backports InRelease                                                                             
Hit:6 http://ftp.at.debian.org/debian sid InRelease                                                                    
Hit:7 http://ftp.at.debian.org/debian stretch InRelease                               
Hit:8 http://ftp.at.debian.org/debian stretch-updates InRelease                                             
Hit:9 http://ftp.at.debian.org/debian jessie Release                                  
Hit:2 http://screenshots.getdeb.net xenial-getdeb InRelease                           
Hit:10 http://security.debian.org jessie/updates InRelease      
Hit:11 http://security.debian.org stretch/updates InRelease
Reading package lists... Done 

ওহ, এবং অবশ্যই আমি এখানে কয়েক বছর আগে ভুল মান রেখেছিলাম। অদ্ভুতভাবে যথেষ্ট, কার্যক্ষম গতকাল পর্যন্ত flawlessly কাজ ছিল, পরে দ্বিতীয় apt-get আপগ্রেড 'সিস্টেম (ডেবিয়ান SID) ঘ।
shkitch

আমি হঠাৎ করে দেবিয়ান জেসির একটি 32-বিট ইনস্টল করতে পেরেছি যা কয়েক বছর ধরে (দশক?) কাজ করে আসছে। মেশিন কনফিগারেশনের কোনও পরিবর্তন হয়নি, তবে হঠাৎ এটি ঘটতে শুরু করে। যদিও আমার কাছে LANGUAGE = কোনও কিছুর জন্য সেট করা নেই। এটিকে "এন" তে সেট করা বা সমস্ত এলসি_ * লোকেল ভেরিয়েবলের জন্য সি ব্যবহার করা এখনও সহায়তা করেনি।
ব্র্যাড স্পেন্সার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.