নির্ভরতা জাহান্নাম থেকে বাঁচবে কীভাবে?


21

আমার কাছে একটি উবুন্টু কম্পিউটার নেই যার সাথে ইন্টারনেট নেই এবং উবুন্টু কম্পিউটার ইন্টারনেট আছে। ইন্টারনেটবিহীন যেকোনটির জন্য একটি ড্রাইভার এনডিস্ক্র্যাপারের মাধ্যমে ইনস্টল করা প্রয়োজন। সমস্যা হল ndiswrapper-dkmsনির্ভর উপর dkmsযা কিছু বিষয় উপর নির্ভর করে, এবং যারা কিছু জিনিস জিনিস, যা প্রায়ই, ইত্যাদি উপর নির্ভর করে অনেক উপর নির্ভর করে। আমি এ পর্যন্ত ম্যানুয়ালি 92 নির্ভরতা ডাউনলোড করেছি এবং এখনও আমার আরও বেশি প্রয়োজন। আমি কোড ব্যবহার করছি

for i in $(apt-cache depends <package> | grep -E 'Depends|Recommends|Suggests' | cut -d ':' -f 2,3 | sed -e s/'<'/''/ -e s/'>'/''/); do sudo apt-get download $i 2>>errors.txt; done

যা কাজটি সম্পন্ন করে তবে কেবল একটি প্যাকেজের নির্ভরতার জন্য, প্যাকেজের নির্ভরতাগুলির নির্ভরতা নয়। সমস্ত প্যাকেজ পেতে এটি বহু ঘন্টা লড়াইয়ে পরিণত হয়েছে এবং এটি সত্যিই ক্লান্তিকর। আমি আমার অনলাইন কম্পিউটারে ইউএসবি ড্রাইভে .deb ফাইলগুলি ডাউনলোড করার জন্য এই কোডটি চালিয়ে যাচ্ছি, তারপরে ড্রাইভটি সন্নিবেশ করতে অফলাইন কম্পিউটারে চলেছি, তারপরে sudo apt install ./*ফোল্ডারে চালাচ্ছি এবং সর্বোত্তম আশা করছি। এটি সাধারণত এই জাতীয় কিছু ছড়িয়ে দেয়:

...
The following packages have unmet dependencies:
 binutils : Depends: binutils-common (= 2.30-21ubuntu1~18.04.1) but 2.30-21ubuntu1~18.04 is to be installed
            Depends: libbinutils (= 2.30-21ubuntu1~18.04.1) but 2.30-21ubuntu1~18.04 is to be installed
            Depends: binutils-x86-64-linux-gnu (= 2.30-21ubuntu1~18.04.1) but 2.30-21ubuntu1~18.04 is to be installed
 cpp-doc : Depends: cpp-7-doc (>= 7.4.0-1~) but it is not installable
 file : Depends: libmagic1 (= 1:5.32-2ubuntu0.2) but 1:5.32-2ubuntu0.1 is to be installed
 g++-7 : Depends: libstdc++-7-dev (= 7.4.0-1ubuntu1~18.04) but it is not installable
 g++-multilib : Depends: g++-7-multilib (>= 7.4.0-1~) but it is not installable
 gcc-7-multilib : Depends: lib32gcc-7-dev (= 7.4.0-1ubuntu1~18.04) but it is not installable
                  Depends: libx32gcc-7-dev (= 7.4.0-1ubuntu1~18.04) but it is not installable
 gfortran : Depends: gfortran-7 (>= 7.4.0-1~) but it is not installable
 glibc-doc : Depends: glibc-doc-reference (>= 2.18) but it is not installable
 libasan4-dbg : Depends: libasan4 (= 7.4.0-1ubuntu1~18.04) but it is not installable
 libatomic1-dbg : Depends: gcc-8-base (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
                  Depends: libatomic1 (= 8.3.0-6ubuntu1~18.04) but it is not installable
 libbabeltrace1 : Depends: libdw1 (>= 0.126) but it is not installable
 libcc1-0 : Depends: gcc-8-base (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
 libcilkrts5-dbg : Depends: libcilkrts5 (= 7.4.0-1ubuntu1~18.04) but it is not installable
 libfl-dev : Depends: libfl2 (= 2.6.4-6) but it is not installable
 libgcc-7-dev : Depends: libitm1 (>= 7.4.0-1ubuntu1~18.04) but it is not installable
                Depends: libatomic1 (>= 7.4.0-1ubuntu1~18.04) but it is not installable
                Depends: libasan4 (>= 7.4.0-1ubuntu1~18.04) but it is not installable
                Depends: liblsan0 (>= 7.4.0-1ubuntu1~18.04) but it is not installable
                Depends: libtsan0 (>= 7.4.0-1ubuntu1~18.04) but it is not installable
                Depends: libubsan0 (>= 7.4.0-1ubuntu1~18.04) but it is not installable
                Depends: libcilkrts5 (>= 7.4.0-1ubuntu1~18.04) but it is not installable
                Depends: libmpx2 (>= 7.4.0-1ubuntu1~18.04) but it is not installable
 libgcc1 : Depends: gcc-8-base (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
 libgcc1-dbg : Depends: gcc-8-base (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
 libgomp1-dbg : Depends: gcc-8-base (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
                Depends: libgomp1 (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
 libitm1-dbg : Depends: gcc-8-base (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
               Depends: libitm1 (= 8.3.0-6ubuntu1~18.04) but it is not installable
 liblsan0-dbg : Depends: gcc-8-base (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
                Depends: liblsan0 (= 8.3.0-6ubuntu1~18.04) but it is not installable
 libmpx2-dbg : Depends: gcc-8-base (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
               Depends: libmpx2 (= 8.3.0-6ubuntu1~18.04) but it is not installable
 libquadmath0-dbg : Depends: gcc-8-base (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
                    Depends: libquadmath0 (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
 libstdc++6 : Depends: gcc-8-base (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
 libtsan0-dbg : Depends: gcc-8-base (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
                Depends: libtsan0 (= 8.3.0-6ubuntu1~18.04) but it is not installable
 libubsan0-dbg : Depends: libubsan0 (= 7.4.0-1ubuntu1~18.04) but it is not installable
 libumfpack5 : Depends: libcholmod3 (>= 1:4.5.2) but it is not going to be installed
 m4 : Depends: libsigsegv2 (>= 2.9) but it is not installable
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

আমার বিচক্ষণতা বাঁচানোর জন্য প্যাকেজ নির্ভরতা এবং সমস্ত উপনির্ভরতাগুলির জন্য সমস্ত .deb ফাইলগুলি কেবল একটি ফোল্ডারে ফেলে দেওয়ার কোনও পদ্ধতি কি কেউ জানেন? ধন্যবাদ!



আপনি ইথারনেটের মাধ্যমে সরাসরি 2 টি মেশিন নেটওয়ার্ক করতে সক্ষম হতে পারেন যাতে অফলাইন মেশিন অনলাইন মেশিন সংযোগ ব্যবহার করে। আমি যা মনে করি তা থেকে, অ্যাপ্লিকেশন-অফলাইন প্রক্রিয়াটি আরও সোজা মনে হয়; তবে এই উত্তরটি বলে যে এটি "প্লাগ এবং প্লে"।
pbhj

1
যতক্ষণ আপনি ব্যবহার করেন Recommendsএবং Suggestsকেবল তার পরিবর্তে Dependsআমি প্রত্যাশা করি আপনি কোন প্যাকেজটি থেকে শুরু করেই পুরো ইন্টারনেটটি ইনস্টল করবেন installing
পাইপ

1
@ N0rbert আমি এই উত্তরগুলি সন্তুষ্ট কখনও পাই নি। আমি জানি যে এটি নকল সিস্টেমের মূল বিষয় নয়, যদিও।
wizzwizz4

@ N0rbert এটি নির্ভরতা নরকের পরিস্থিতি সমাধানের জন্য সুস্পষ্ট প্রশ্ন নয়। দুজনের মধ্যে কোনও সদৃশই প্রশ্নের উত্তর নয়, প্রশ্ন
ধনী

উত্তর:


27

এক নজরে দেখুন apt-offline, অফলাইন নির্ভরতা পরিচালনার একটি (আরও) ব্যবহারকারী-বান্ধব উপায়। আপনাকে প্রথমে ডিফিলিটি ডাউনলোড করে এটি আপনার অফলাইন মেশিনে স্থানান্তর করে এটি ইনস্টল করতে হবে। sudo apt download apt-offlineডাউনলোড হ্যান্ডেল করার মতো কিছু ব্যবহার করতে পারেন । sudo dpkg -i /path/to/your/debfile.debঅফলাইন মেশিন এবং কেবলমাত্র sudo apt installআপনার অনলাইন মেশিনে ব্যবহার করে ইনস্টলেশন করা যেতে পারে ।

এটি শেষ হয়ে গেলে, আপনাকে প্রকৃত ইনস্টলেশনের জন্য একগুচ্ছ জিনিস প্রস্তুত করতে হবে।

  1. আপনার অফলাইন সিস্টেমের ndiswrapperপ্যাকেজগুলি ইনস্টল করতে জিজ্ঞাসা করে একটি স্বাক্ষর তৈরি করে শুরু করুন :

    sudo apt-offline set offline.sig --install-packages ndiswrapper-dkms
    
  2. আপনার অনলাইন মেশিনে ফাইলটি অনুলিপি করুন এবং সমস্ত প্রয়োজনীয় ফাইল ডাউনলোড করতে অনলাইন মেশিনে নিম্নলিখিত কমান্ডটি চালান:

    apt-offline get offline.sig --bundle ndis-ao.zip
    
  3. জিপফাইলে বান্ডিলটি আপনার অফলাইন মেশিনে ফিরে যান এবং এটিতে এই আদেশটি চালান:

    sudo apt-offline install ndis-ao.zip
    

আপনার ndiswrapper-dkmsএই মুহুর্তে ইনস্টল করা উচিত ছিল এবং সমস্ত ভাল হওয়া উচিত।


যদি আপনার apt-offlineপ্যাকেজটি ইনস্টল করতে ব্যর্থ হয় তবে নির্ভরযোগ্য প্যাকেজগুলি ব্যর্থ হয়েছে এবং তাদের একের পর এক সমাধান করুন (প্রয়োজন অনুসারে ম্যানুয়ালি অনুলিপি করুন)। নির্ভরতা জাহান্নাম বিরক্তিকর, তবে দুর্ভাগ্যক্রমে এটি আরও অফলাইন সিস্টেমের সমস্যাগুলির মধ্যে একটি।

apt-rdependsএকটি সম্পূর্ণ নির্ভরতা গ্রাফ তৈরি করতে আপনি পাশাপাশি একবার দেখার চেষ্টা করতে পারেন । এটির সাথে একত্রিত করুন apt downloadএবং আপনার সমস্যার বিকল্প সমাধান হতে পারে, যদিও এটির সাথে আমার পরীক্ষাটি কমপক্ষে বলার ক্ষেত্রেই বেঁধে দেওয়া হয়েছে।

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