ইয়াম অগ্রগতি বার শতাংশ ক্যাপচার করছে


3

আমি জানতে চাই যে ডাউনলোডের অগ্রগতি ক্যাপচার করা সম্ভব যেমন প্যাকেজ ডাউনলোড করার সময় 'ইয়াম' দ্বারা দেখানো শতকরা ডাউনলোড সম্পূর্ণ। ক্যাপচার, এই অর্থে, একটি টেক্সট ফাইল হতে পারে বা প্রোগ্রাম হিসাবে JAVA ব্যবহার করা যেতে পারে, উদাহরণস্বরূপ, যদি আমি JAVA থেকে ইয়াম ইনস্টলারটি চালাই।

আমি চেষ্টা করেছি yum install pkg_name > captured, তবে এটি কেবল অগ্রগতির তথ্য ছাড়াই মানক আউটপুট ক্যাপচার করে।

আমি স্টাডারকেও পরীক্ষা করে দেখেছি, ফলাফল নেই।

যেমন

Setting up Install Process Resolving Dependencies

--> Running transaction check

---> Package wget.i686 0:1.12-4.fc14 set to be installed

--> Finished Dependency Resolution

Dependencies Resolved

================================================================================ Package Arch Version Repository Size

================================================================================

Installing: wget i686 1.12-4.fc14 updates 481 k

Transaction Summary

================================================================================ Install 1 Package(s)

Total download size: 481 k

Installed size: 1.8 M Downloading Packages:

Running rpm_check_debug

Running Transaction Test

Transaction Test Succeeded

Running Transaction

Installing : wget-1.12-4.fc14.i686 1/1

Installed:

Wget.i686 0:1.12-4.fc14

Complete! 

উপরের তথ্যের সাথে, আমি অগ্রগতি অংশটি ক্যাপচার করতে চাইছি অর্থাৎ ডাউনলোডের সময় 'প্যাকেজগুলি ডাউনলোড:' লেবেলের নীচে দেখানো শতাংশের সম্পূর্ণ।

আমি পাইথন স্ক্রিপ্ট ব্যবহার করি না।

উত্তর:


7

অগ্রগতি বারগুলি কেবল তখনই লেখা হয় যখন আউটপুট টার্মিনালে যাবে। আপনি অনুমান করতে পারেন যে প্রত্যাশা ব্যবহার করে ( এক্সপেটজে জাভা বাস্তবায়ন হচ্ছে) তবে অ্যাপ্লিকেশন আউটপুট (স্ক্রিন স্ক্র্যাপিং বলে জিনিসটি) পার্সিং খুব ভঙ্গুর পদ্ধতি হতে পারে এবং আউটপুট পরিবর্তনের সময় ভেঙে যেতে পারে, উদাহরণস্বরূপ আউটপুট টার্মিনালের প্রস্থের উপর নির্ভর করে প্যাকেজের নামের দৈর্ঘ্য এবং সম্ভবত অন্যান্য জিনিস।

ইয়াম অজগরতে লেখা এবং এটি প্লাগইনগুলির সাহায্যে এক্সটেনসিবল যাতে আপনি আপনার অ্যাপ্লিকেশনটির সাথে কথা বলতে এবং অগ্রগতি সম্পর্কে অবহিত করতে একটি প্লাগইন লেখার চেষ্টা করতে পারেন তবে এটি আমার কাছে কষ্টের মতো মনে হচ্ছে না।

আপনি যদি সেই পথে যাওয়ার সিদ্ধান্ত নিয়ে থাকেন তবে এখানে ডক্স রয়েছে

কেবল প্রত্যাশায় ইয়াম মোড়ানোর জন্য আপনি এর মতো কিছু ব্যবহার করতে পারেন:

#!/usr/bin/expect -f
set timeout 600
spawn yum -y install zsh-html
expect eof

এর পরে আপনি আউটপুট ধরতে পারেন এবং প্যাকেজগুলি সেখানে ডাউনলোড হচ্ছে তা দেখতে পারেন।


এটা খুব দরকারী ছিল। আপনাকে ছেড়ে দেওয়ার মতো যথেষ্ট খ্যাতি আমার নেই :(
এসইসাকিয়া_জেথরকার

পাঠ শিখেছি: স্বল্প খ্যাতিযুক্ত কারও কাছ থেকে কখনই কোনও প্রশ্নের জবাব দিন না ;-) [সে সম্পর্কে চিন্তা করবেন না, সাহায্য করতে পেরে আনন্দিত!]
মার্টিয়ান

2
@ জেথরকার আপনার জন্য আমি উত্সাহিত করেছি :) যেখানে ক্রেডিট প্রদান করা দরকার সেখানেই দেওয়া হচ্ছে ...
হালিল üzgür

1

আমি মনে করি না এই আচরণটি টার্মিনাল বনাম ফাইল ম্যাটার, আমার কাছে এটি বাফারিংয়ের সাথে সম্পর্কিত।

আমার অভিজ্ঞতা থেকে, unbufferকমান্ডটি বেশ সূক্ষ্মভাবে কাজ করে:

unbuffer yum install pkg_name > captured

এবং তারপরে আপনি অগ্রগতিটি অনুসরণ করতে পারেন:

tail -f -n 0 captured


CentOS 7-এ, কমান্ড yum provides '*/bin/unbuffer'সরবরাহকারী প্যাকেজটি সন্ধান করতে ব্যবহার করুন unbuffer

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