আমি কীভাবে কম অ্যাপ্লিকেশনটি কম গোলমাল করব?


128

আমি যদি apt-get install -qq mono-develএটি ব্যবহার করি তবে আমি সহায়তা অনুযায়ী ত্রুটিগুলি বাদে এটি শান্ত থাকার প্রত্যাশা করব:

-qq No output except for errors

পরিবর্তে আমি পেতে:

Extracting templates from packages: 100%
Selecting previously unselected package binfmt-support.
(Reading database ... 84711 files and directories currently installed.)
Unpacking binfmt-support (from .../binfmt-support_2.0.8_i386.deb) ...
Selecting previously unselected package cli-common.
Unpacking cli-common (from .../cli-common_0.8.2_all.deb) ...
Selecting previously unselected package libgdiplus.
Unpacking libgdiplus (from .../libgdiplus_2.10-3_i386.deb) ...
Selecting previously unselected package libmono-2.0-1.
Unpacking libmono-2.0-1 (from .../libmono-2.0-1_2.10.8.1-1ubuntu2.2_i386.deb) ...
Selecting previously unselected package libmono-2.0-dev.
Unpacking libmono-2.0-dev (from .../libmono-2.0-dev_2.10.8.1-1ubuntu2.2_i386.deb) ...
Selecting previously unselected package libmono-corlib4.0-cil.
Unpacking libmono-corlib4.0-cil (from .../libmono-corlib4.0-cil_2.10.8.1-1ubuntu2.2_all.deb) ...
Selecting previously unselected package libmono-system-xml4.0-cil.
Unpacking libmono-system-xml4.0-cil (from .../libmono-system-xml4.

এবং আরও ...

আসলে, কয়েক আউটপুট মূল্য কয়েক লাইন। এর সাথে মেলে দেখা যাচ্ছে না no output except for errors

কেবল ইনস্টল করা থেকে ত্রুটি থাকাকালীন আমি কীভাবে apt-get installমুদ্রণ করতে পারি ?


আপনি কি # -Q = # ব্যবহারের চেষ্টা করেছেন যেখানে # শান্ত স্তর? (এটি ম্যানুয়ালটিতে রয়েছে)) আপনি এর বিরুদ্ধে কোনও বাগ রিপোর্ট বাড়াতে চাইতে পারেন।
ধানের ল্যান্ডাউ

পছন্দ করেছেন আমি জানি না কেন এটা হয় পূর্বে অনির্বাচিত প্যাকেজ নির্বাচন অথবা কেন যে গুরুত্বপূর্ণ হবে কথা বলা হচ্ছে, এবং আমি নিশ্চিত যদি এটা VMs আমি হয় এই এই চলমান করছি, স্থিতির সাথে সম্পর্কিত নই Travis-CI । তবে উত্তরটি ভাল কাজ করেছে।
jbtule

"পূর্বে অনির্বাচিত প্যাকেজ নির্বাচন করা" এর সহজ অর্থ হ'ল প্যাকেজ ম্যানেজার নির্ভরতা মেটাতে প্রয়োজনীয় প্যাকেজ সহ অন্তর্ভুক্ত। আমি আগে যেমন লিখেছি, আপনি --quietবিকল্পটি সঠিকভাবে কাজ করছে না বলে মনে হচ্ছে একটি বাগ রিপোর্ট উত্থাপন করতে পারেন ।
ধানের ল্যান্ডাউ

আমি একই লক্ষণটি উবুন্টু 15.04 20150709 তে জানাতে অসন্তুষ্ট।
লয়েড ডিওল্ফ

দেখে মনে হচ্ছে এটি 2009 dpkg ইস্যু রিপোর্টের সাথে সম্পর্কিত: bugs.debian.org/cgi-bin/bugreport.cgi?bug=539617
লয়েড ডিওল্ফ 21 ই

উত্তর:


83

অ্যাপটি-গেটের জন্য ম্যান পেজটি নীচে রয়েছে:

NAME
       apt-get - APT package handling utility -- command-line interface

SYNOPSIS
       apt-get [-asqdyfmubV] [-o=config_string] [-c=config_file] [-t=target_release]
               [-a=architecture] {update | upgrade | dselect-upgrade | dist-upgrade |
               install pkg [{=pkg_version_number | /target_release}]...  | remove pkg...  |
               purge pkg...  | source pkg [{=pkg_version_number | /target_release}]...  |
               build-dep pkg [{=pkg_version_number | /target_release}]...  |
               download pkg [{=pkg_version_number | /target_release}]...  | check | clean |
               autoclean | autoremove | {-v | --version} | {-h | --help}}

-qবা -qqপতাকা যেতে হবে সামনে , কমান্ড যেমন:

apt-get -qq upgrade


3
এটা সঠিক উত্তর! যে কোনও ব্যবহারিক প্রয়োগের জন্য অনুরোধ জানানো দরকার। সঠিকভাবে ব্যবহৃত হয়েছে, -qএকেবারে কাজ করে (কোনও "অ্যানিমেটেড" আউটপুট নয়) পাশাপাশি -qq(ত্রুটিগুলি ছাড়া কোনও আউটপুট নেই)। দয়া করে upvote!
চার্নি কায়ে

27
না, এটি কাজ করে না। সঙ্গে এমনকি -qqআগে কমান্ড ইনস্টল আমি এখনও unpacking এবং বার্তা সেট আপ করার ডাটাবেসের পড়া থেকে আবর্জনা সবকিছু টন পেতে।
ক্রেজিস্টাস্ট

2
আচ্ছা, আমি চেষ্টা করেছি sudo apt-get -qq -y install mercurial, sudo apt-get install -qq -y mercurial, sudo apt-get -qq install -qq -y mercurialএবং অন্যান্য জড়িত বৈচিত্র আরও বেশি Q 'র (যদিও আমি কোনো ডকুমেন্টেশন দাড়ায় যে এই কাজ করবে দেখতে না। আমি গুগল মেঘ ডেবিয়ান জেসি চলছি BTW (8)। আমিও চেষ্টা করেছি Goetz এর উত্তর এবং এটি কাজ করে বলে মনে হচ্ছে না। কাজ করে বলে মনে হচ্ছে না আমি বোঝাচ্ছি আমি কোনও পার্থক্য লক্ষ্য করব না
ক্রেজি কাস্টা

3
এটি উবুন্টু 16.04.1, ডকারের ধারক হিসাবে চলমান। আমার অনুমান যে বার্তাগুলি আসলে থেকে এসেছে dpkg, যার দ্বারা ডাকা হয়েছিল apt-get। কমান্ডটি হ'ল apt-get -qq update && apt-get -qq upgrade && apt-get -qq install build-essentialGist.github.com/stefanlasiewski/…
স্টিফান লাসিউইস্কি

3
ডকারে আপনার কাছে দুটি বিকল্প রয়েছে: (1) প্রতিটি কমান্ডের সাথে &&যোগ দেওয়ার পরিবর্তে পৃথকভাবে চালনা করুন (এটি কাজ করতে পারে তবে এটি "ডকারের উপায় নয়") (২) অন্য উত্তরের মতো আউটপুটটিকে / dev / নালটিতে পুনঃনির্দেশ করুন। এই বাগটি থাকা অবস্থায় বিকল্প 2 সম্ভবত আপনার সেরা বেট।
মাইক

54

একটি সাধারণ পুনঃনির্দেশ এটি করতে পারে। এটি আপনার মনে ঠিক যা ছিল তা নয়, আমি নিশ্চিত, তবে এটি নিশ্চিত যে নরকের মতো কাজ করে :)

সংক্ষেপে, > /dev/nullআপনি যে কোনও কমান্ডের অনিশ্চয়তায় ডাইরেক্ট করতে চান এমন কোনও আদেশের শেষে কেবল ধাক্কা দিন stdout। আউটপুট করা জিনিসগুলি stderrএখনও কনসোলে প্রদর্শিত হবে।

$ sudo apt-get update > /dev/null
[sudo] password for oli: 
$ 

না জাঙ্ক! এবং এখানে কিছু হয় যদি আমরা বোকা এবং কিছু ভেঙে ফেলি:

$ apt-get cheese > /dev/null
E: Invalid operation cheese
$

7
আপনি যদি কোনও প্রম্পট পান তবে তা কিছুটা সমস্যা ...
l0b0

1
এটি যদি স্ক্রিপ্টের অংশ হয় তবে আপনি কোনও sudoসামনে রাখবেন না apt-getsudoপরিবর্তে স্ক্রিপ্ট চালানোর সময় আপনি চাইবেন ।
Xion

3
@ অলি আপনি যদি নিশ্চিত হন যে আপনি নিজের সিস্টেমটিকে আগুন ধরিয়ে দিচ্ছেন না, আপনি সর্বদা পারেন sudo apt-get upgrade -qq --force-yes > /dev/null-qqইঙ্গিত দেয় -y, যেমন ওল্ফহার্ট বলেছেন, এবং --force-yesএটিকে যেকোন কিছুতেই লাঙ্গল দেয়।
জেমস TheAwesomeDude

2
@ ভোরাক না এটি কেবল পুনঃনির্দেশ করছে stdout(ত্রুটিগুলি দেখানো একটি পছন্দসই জিনিস আইএমও)।
অলি

3
এটি প্রশ্নের উত্তর নয়; এটি একটি workaround।
চার্নি কেয়ে

42

আমরাও একই সমস্যার মুখোমুখি হয়েছি। apt-get install -qqআউটপুটগুলির বেশিরভাগ সরিয়ে দেয় তবে বিরক্তিকর "(ডাটাবেস পড়া ..." এখনও অবিরত থাকে।

আমরা অ্যাপের উত্সটিতে একবার দেখেছি এবং আবিষ্কার করেছি যে আউটপুটটি ডিপিকেজি দ্বারা উত্পাদিত হয়েছিল যা অ্যাপ্লিকেশন দ্বারা কাঁটাচামচ করা হয়েছিল। তারপরে dpkg এর উত্সটি দেখায় যে বিরক্তিকর সাউথপুট কেবল তখনই জারি করা হয় যখন ইসতিটি (1) সত্য হয়। এটি কেবল তখনই ঘটে যখন কাঁটাচটি পরিবর্তে পাইপ ব্যবহার করে। এপটে ফিরে আসুন, একটি অননুমোদিত কনফিগারেশন ভেরিয়েবল রয়েছে যা পাইটি পরিবর্তে পাইটি ব্যবহার করতে দেয় যা সমস্যার সমাধান করে:

apt-get install -qq -o=Dpkg::Use-Pty=0 <packages>

এটি অন্যদের সহায়তা করতে পারে এমন আশা করা।


2
আসলে এটি সম্পূর্ণ সঠিক উত্তর। এটি একক-কি দিয়ে
অ্যাপটি

1
আমি gcloud ডেবিয়ান জেসি এ এটি চেষ্টা করছি (8) এবং আমি এখনও ডাটাবেস লাইনগুলি পড়তে এবং আনপ্যাকিং / লাইনগুলি সেট আপ করতে পারি get
ক্রেজিস্টাস্টা

3
এই উত্তর উবুন্টু 18.04 এর জন্য কাজ করে না।
আমেদী ভ্যান গ্যাস

1
এখনও লাইন নির্বাচন / প্রস্তুতি / সেটআপ করার একটি গোছা আছে ...
হেড

1
-o=Dpkg::Use-Pty=0উবুন্টু 18.04 তে নিখুঁত কাজ করেন। এটি প্রতি 5% অগ্রগতি আপডেট সহ একাধিক ব্যক্তির পরিবর্তে কেবল একটি "রিডিং ডাটাবেস" দেখায়।
উইসবাকি

2

আপনি যেমন এখানে এবং এখানে
দেখতে পারেন আপনি তা করতে পারেন:

export DEBIAN_FRONTEND=noninteractive
apt-get -yq install [packagename]
export DEBIAN_FRONTEND=dialog

বা একটি লাইন:

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