আউটপুট ভিজ্যুয়াল (এএসসিআইআই) টার্মিনালের ডেবিয়ান নির্ভরতা গাছ?


19

আমি নিশ্চিত নই যে এটি আরও একটি সুপার ইউজার বা ইউনিক্সলিনাক্স প্রশ্ন বেশি, তবে আমি এখানে চেষ্টা করব ...

সম্প্রতি, আমি এটি পেয়েছি:

# 710689 - প্রবণতা: গাছগুলিতে ইউনিকোড চরিত্রটি ব্যবহার করুন - ডেবিয়ান বাগ রিপোর্ট লগ করুন

দক্ষতা যখন নির্ভরতা তালিকার গাছগুলির জন্য ইউনিকোড অক্ষর ব্যবহার করে, তখন এটি দুর্দান্ত হবে: পরিবর্তে:

--\ Depends (3)
   --- libc-dev-bin (= 2.17-3)
   --- libc6 (= 2.17-3)
   --- linux-libc-dev
 --\ Suggests (2)
   --- glibc-doc (UNSATISFIED)
   --\ manpages-dev

...

... এবং আমি ভেবেছিলাম - বাহ, আমি সত্যই যে ASCII- শিল্প গাছের আউটপুট পছন্দ করি, সচেতন ছিল না যে এটি aptitudeকরতে পারে! সুতরাং, আমি aptitudeকমান্ড লাইন সুইচগুলির সাথে এক ঘন্টা জগাখিচুড়ি শুরু করি - এবং আমি কেবল সেই আউটপুটটি পেতে পারি না? সুতরাং আমার প্রাথমিক প্রশ্নটি ছিল - সেই আউটপুটটি প্রথম স্থান থেকে আসে কোথায় ?!

কিছুক্ষণ পরে, আমি বুঝতে পারি যে আমার সিস্টেমে, aptitudeশেষ পর্যন্ত প্রতিলিঙ্ক হয় /usr/bin/aptitude-curses; এবং আমি অবশেষে বুঝতে পারি যে aptitudeএকটি cursesইন্টারফেস আছে!:/

সুতরাং, আমি অবশেষে aptitudeকোনও যুক্তি ছাড়াই চলি - এবং তাই cursesইন্টারফেস শুরু হয় এবং আমি এর মতো কিছু দেখতে পাচ্ছি:

প্রবণতা-অভিশাপ-টার্মিনাল

... সুতরাং স্পষ্টতই, সেই ASCII গাছের অক্ষরগুলি অভিশাপ ইন্টারফেস থেকে আসে।

তাই আমি ভাবছিলাম - এমন কোনও ডেবিয়ান / এপটি সরঞ্জাম রয়েছে, যা এমন "ভিজ্যুয়াল" এএসসিআইআই ট্রি আউটপুট দেবে - তবে প্যাকেজের প্রকৃত নির্ভরতার সাথে?

আমি ডোনারি সম্পর্কে জানি - প্যাকেজ নির্ভরতা গ্রাফ (এছাড়াও সফ্টওয়্যার প্রস্তাবনা - কীভাবে কোনও প্যাকেজের দৃষ্টিভঙ্গি প্রদর্শন করতে পারেন? - উবুন্টুকে জিজ্ঞাসা করুন ); কিন্তু আমি বরং একটি ডিরেক্টরি ট্রি প্রতিম, টার্মিনাল কিছু আছে চাই (বদলে "unordered" থেকে গ্রাফ [নোড অবস্থানের পরিপ্রেক্ষিতে] debtree, দ্বারা উত্পন্ন graphvizএর dot)।

আমি আরও দেখেছি এমন কি এমন কিছু আছে যা গাছের মতো চাক্ষুষভাবে নির্ভরতা দেখাবে? , যা সুপারিশ করে:

$ apt-rdepends aptitude
Reading package lists... Done
Building dependency tree       
Reading state information... Done
aptitude
  Depends: libapt-pkg4.10
  Depends: libboost-iostreams1.42.0 (>= 1.42.0-1)
  Depends: libc6 (>= 2.4)
  Depends: libcwidget3
  Depends: libept1
  Depends: libgcc1 (>= 1:4.1.1)
  Depends: libncursesw5 (>= 5.7+20100313)
  Depends: libsigc++-2.0-0c2a (>= 2.0.2)
  Depends: libsqlite3-0 (>= 3.7.3)
  Depends: libstdc++6 (>= 4.5)
  Depends: libxapian22
libapt-pkg4.10
libboost-iostreams1.42.0
  Depends: libbz2-1.0
  Depends: libc6 (>= 2.3.6-6~)
  Depends: libgcc1 (>= 1:4.1.1)
  Depends: libstdc++6 (>= 4.2.1)
  Depends: zlib1g (>= 1:1.1.4)
...

... যা ভাল, কারণ এটি প্রয়োজনীয় প্যাকেজের তাত্ক্ষণিক নির্ভরতা তালিকাভুক্ত করে; এবং তারপরে প্রথম স্তরের নির্ভরতা প্যাকেজগুলির নির্ভরতা এবং আরও অনেক কিছু - তবে এটি গাছ হিসাবে দৃশ্যমান নয় (এবং আসলে, aptitudeএরcurses ইন্টারফেস কেবল শো ইনস্টল তথ্য যখন আপনি নির্ভরতা নোড প্রসারিত এটা আরও নির্ভরতা প্রসারিত করে না)।

সুতরাং, প্রশ্নটি হল - এমন কোনও সরঞ্জাম রয়েছে যা টার্মিনাল অক্ষরগুলির সাথে নির্ভরতা গাছের গ্রাফ তৈরি করতে পারে - যেমন নীচের সিউডোকোডে বলে:

$ pseudo-deb-graph --show-package="aptitude"

aptitude
  --- Depends: libapt-pkg4.10
  --\ Depends: libboost-iostreams1.42.0 (>= 1.42.0-1)
     --- Depends: libbz2-1.0
     --- Depends: libc6 (>= 2.4)
  --\ Depends: libc6 (>= 2.3.6-6~)
     --\ Depends: libc-bin (= 2.13-0ubuntu13)
        --- ...
     --\ Depends: libgcc1
        --- ...
     --\ Depends: tzdata
        --- ...
...

উত্তর:


23

আপনি এটি বাশ স্ক্রিপ্ট দিয়ে করতে পারেন

উত্স কোড: "আপ্ট-রিডেন্ডেড-ট্রি"

https://gist.github.com/damphat/6214499

দৌড়

# sudo apt-get install apt-rdepends
# save gist, above, as "apt-rdepends-tree"
# chmod +x apt-rdepends-tree
# ./apt-rdepends-tree gcc

আউটপুট এর মতো দেখতে:

# ./apt-rdepends-tree gcc
├─ gcc
│    ├─ cpp (>= 4:4.7.2-1)
│    └─ gcc-4.7 (>= 4.7.2-1)
└─ package-a
     ├─ package-b
     └─ package-c
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.