আমি কীভাবে একটি 'ভার্বোজ' এপটি-গেটের প্রস্থান কোড পেতে পারি?


12

আমি কীভাবে একটি 'ভার্বোজ' প্রস্থান কোড পেতে পারি apt-getযাতে এর মতো ত্রুটি

Package google-chrome is a virtual package provided by:
  google-chrome-stable 29.0.1547.76-r223446
  google-chrome-beta 30.0.1599.47-1
You should explicitly select one to install.

E: Package 'google-chrome' has no installation candidate

এই জাতীয় ডাউনলোডের ত্রুটির চেয়ে আলাদা প্রস্থান কোড রয়েছে

Err http://dl.google.com/linux/chrome/deb/ stable/main google-chrome-stable amd64 29.0.1547.76-r223446
  Something wicked happened resolving 'dl.google.com:http' (-11 - System error)

বর্তমানে, উভয় ত্রুটি প্রস্থান করে 100

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


আউটপুটকে বিশ্লেষণ করে এমন স্ক্রিপ্টে আপনি apt-get কমান্ডটি মোড়ানো করতে পারেন। বা "অতিরিক্ত সফ্টওয়্যার" হিসাবে গণনা করা হয়? এছাড়াও ডাউনলোডের ত্রুটিগুলি সনাক্ত করতে apt-get --download-onlyপ্রথমে বিবেচনা করুন ।
জোস

আহ, এটা বোঝা যায়। সম্ভবত আপনি প্রথমে প্যাকেজ এক্স এর অস্তিত্ব যাচাই করতে পারেন apt-cache policy X?
জোস

আবার, আপনার আউটপুট গ্রেপ করতে হবে। আমি ধরে নিই যে করণীয় apt-cache policy google-chromeআপনাকে "প্রার্থী" শব্দের সাথে একটি লাইন দেয় না, যদিও apt-cache policy google-chrome-stableকরবে।
জোস

ঠিক আছে. আমি এই আলোচনাটি চ্যাটে সরিয়ে নিয়ে যাচ্ছি এবং এই পরামর্শটি একটি (আংশিক) উত্তর হিসাবে প্রবেশ করছি।
জোস

আসুন আমরা এই আলোচনাটি
জোস

উত্তর:


1

সম্পূর্ণ উত্তর নয়, তবে আপনি প্রথমে apt-cache policy X"প্রার্থী (কোনও নয়)" বা "প্যাকেজ এক্স খুঁজে পেলেন না" ইত্যাদি আউটপুটটি গ্রিপ করে প্যাকেজগুলির অস্তিত্বের জন্য পরীক্ষা করতে পারেন could


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

15

আমি বিশ্বাস করি যে এটি এক্সওয়াইর ক্ষেত্রে নয়, এবং আপনি কেবল অ্যাপি-গেট সাধারণত বলতে চাইছেন। যেমন অনুমানের অধীনে এখানে আমার উত্তর।

থেকে man apt.conf:

ডিবাগ অপশন

ডিবাগ :: বিভাগে বিকল্পগুলি সক্ষম করার ফলে অ্যাপল লাইব্রেরিগুলি ব্যবহার করে প্রোগ্রামের স্ট্যান্ডার্ড ত্রুটি প্রবাহে ডিবাগিং তথ্য প্রেরণ করা হবে বা অ্যাপের আচরণটি ডিবাগ করার জন্য প্রাথমিকভাবে কার্যকর এমন বিশেষ প্রোগ্রাম মোড সক্ষম করবে।

সুতরাং, আপনার কেবলমাত্র প্রতিটি ডিবাগিং আচরণের জন্য নিয়মগুলি সক্রিয় করতে হবে apt-get:

  • ডিবাগ :: pkgProblemResolver : ডিস্ট -আপগ্রেড, আপগ্রেড, ইনস্টল, অপসারণ, শুদ্ধি দ্বারা নেওয়া সিদ্ধান্ত সম্পর্কে আউটপুট সক্ষম করে।
  • ডিবাগ :: নোলকিং : সমস্ত ফাইল লকিং অক্ষম করে। এটি অ-রুট ব্যবহারকারী হিসাবে কিছু ক্রিয়াকলাপ চালানোর জন্য ব্যবহার করা যেতে পারে (উদাহরণস্বরূপ, apt-get -s ইনস্টল)।
  • ডিবাগ :: pkgDPkgPM : প্রতিবার আসল কমান্ড লাইন প্রিন্ট করে যে অ্যাপটি dpkg (1) কে ডাকে।

এই 3 টি হ'ল ম্যান পৃষ্ঠাটি প্রস্তাবিত প্রথমটি এবং প্রথমটি আপনাকে দেখানো প্রথম ত্রুটি ডিবাগ করতে সহায়তা করবে। দ্বিতীয়টির জন্য আপনার প্রয়োজন হতে পারে:

  • ডিবাগ :: অধিগ্রহণ করুন :: HTTP : এইচটিটিপি ব্যবহার করে প্যাকেজ ডাউনলোড সম্পর্কিত সম্পর্কিত তথ্য মুদ্রণ করুন। রয়েছে https, ftp, cdrom

ম্যান পৃষ্ঠাতে আরও অনেক রয়েছে, আপনি এগুলি ব্যবহার করে সহজেই তালিকাভুক্ত করতে পারেন man apt.conf | grep -A5 -i debug

এই সবগুলি সঠিক বাক্য গঠন ব্যবহার করে লেখা উচিত এবং তারা বুলিয়ান মানগুলি গ্রহণ করে:

Debug::*::*  "true";

অথবা আপনি যদি একাধিক লাইন ব্যবহার করতে চান:

Debug {
  Acquire {
    http "true";
    ftp "true";
  };
  NoLocking "true";
};

আপনি যদি কেবলমাত্র এপটি-গেইটের জন্য দৌড়াতে চান তবে আপনি -o/ --optionসুইচটি ব্যবহার করতে পারেন :

sudo apt-get -o Debug::pkgProblemResolver=true -o Debug::Acquire::http=true -f install 

অন্য একটি পদ্ধতি আপনার ব্যক্তিগতকৃত কনফিগারেশন ফাইল তৈরি করছে এবং এটিকে -c/ --config-fileস্যুইচ দিয়ে লোড করে :

sudo apt-get -c debug-apt.conf install hello

প্রস্থান কোডগুলি পরিবর্তন করার বিষয়ে, আমি বিশ্বাস করি আপনি উত্স কোডটি পরিবর্তন না করা আপনি পারবেন না। apt-getএকটি সফ্টওয়্যার আর্ট পিসের একটি রাজ্য , যেমন প্রস্থান কোডের উপর নির্ভর না করে প্রক্রিয়াটি ডিবাগ করার জন্য উন্নত পদ্ধতি রয়েছে।


আমি আসলে এই কমান্ডগুলিকে এমন স্ক্রিপ্টে রাখার চেষ্টা করছি যা অপ্রত্যাশিতভাবে চলতে পারে। প্রথম ত্রুটি ঘটেছে কিনা তা খুঁজে পেতে আমি কীভাবে এটি কোনও ব্যাশ স্ক্রিপ্টে ব্যবহার করব?
কিরি

আমি এটি কেবল একটি নির্দিষ্ট উদাহরণের জন্য করতে চাই apt-get, পুরো সময় নয়।
কিরি

@ minerz029 আপনি -oঅ্যাড-হক কমান্ডগুলি চালনার জন্য বিকল্পটি ব্যবহার করতে পারেন । আমার উত্তর আপডেট।
ব্রায়াম

প্রথম মন্তব্য সম্পর্কে, আউটপুট পার্সিংয়ের সাথে আপনার কিছু চালাক হওয়া উচিত। আপনি কীভাবে এটি করতে পারেন তা আমার কাছে দর্শনহীন ধারণা নেই।
ব্রায়াম

apt-cache policy PACKAGEজোসে বলেছে, আমি আসলে এটির আউটপুট গ্রেপিংয়ের সাথে কাজ করেছিলাম । আমি কোনও প্যাকেজ ইনস্টলযোগ্য কিনা তা খতিয়ে দেখার চেষ্টা করছিলাম, আমি আমার প্রশ্নটি সঠিকভাবে না জিজ্ঞাসা করতে পারি তবে এটি একটি ভাল উত্তর
kiri
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.