উত্তর:
dpkg -c(বা --contents) একটি .deb প্যাকেজ ফাইলের বিষয়বস্তু তালিকাভুক্ত করে (এটির সামনে একটি প্রান্ত রয়েছে dpkg-deb))
dpkg -c package_file.deb
প্যাকেজ ফাইলগুলির চেয়ে প্যাকেজ নামের সাথে সরাসরি কাজ করতে, আপনি ব্যবহার করতে পারেন apt-file। (আপনার apt-fileপ্রথমে প্যাকেজটি ইনস্টল করার প্রয়োজন হতে পারে ))
sudo apt-file update
apt-file list package_name
প্রথম মন্তব্যে যেমন বলা হয়েছে, অ্যাপ্ট-ফাইল আপনার ইতিমধ্যে কনফিগার করা এপ্ট সংগ্রহস্থলগুলির প্যাকেজগুলির সামগ্রীর তালিকা করে। কোনও নির্দিষ্ট প্যাকেজ ইনস্টল করা আছে কিনা তা অপ্রাসঙ্গিক।
sudo apt-file update), এবং কেবলমাত্র আপনার ইতিমধ্যে কনফিগার করা এপ্ট সংগ্রহস্থলগুলিতে প্যাকেজগুলির জন্য সামগ্রী তালিকাবদ্ধ করে।
dpkg -cচমৎকার!
.debআলাদাভাবে ডাউনলোড করা কোনও ফাইলের পরিবর্তে একটি কনফিগার করা সংগ্রহস্থল থেকে আসছে । মূল প্রশ্নটি যদিও অস্পষ্ট।
এর --contentsপরিবর্তে ব্যবহার করুন -L:
dpkg --contents PACKAGENAME
যখন এই পদ্ধতিতে ব্যবহৃত হয়, তখন এর dpkgফ্রন্ট-এন্ড হিসাবে কাজ করে dpkg-deb, তাই man dpkg-debসমস্ত বিকল্প দেখতে ব্যবহার করুন।
আপনি প্যাকেজ সামগ্রী দেখতে একটি সংরক্ষণাগার ব্রাউজার ব্যবহার করতে পারেন।
dpkg --contents google-chrome-stable_current_amd64.debএবং এটি ইনস্টল করবে এমন সমস্ত ফাইলের তালিকাভুক্ত করেছে (বেশিরভাগ ক্ষেত্রে /opt/google/chrome), এর মধ্যে বর্তমানে কোনওটি আমার সিস্টেমে ইনস্টল করা হয়নি যেমন আমি এটি টাইপ করি। (আমি Xubuntu 11.10 চলছি যে যদি গুরুত্বপূর্ণ।)
dpkg --contentsআপনাকে আনইনস্টল করা প্যাকেজটি দেখতে দেবে। .Deb এখনও আপনার সিস্টেমে না থাকলে, করুন
apt-get --download-only install pkgname
প্যাকেজটি ডাউনলোড হবে /var/cache/apt/archivesতবে ইনস্টল করা হবে না।
সর্বোত্তম উপায় হ'ল সরাসরি প্যাকেজ সংগ্রহস্থল ব্রাউজ করা:
http://packages.debian.org/[distro name]/all/[package name]/filelist
উদাহরণ:
http://packages.debian.org/wheezy/all/transmission-common/filelist
lynx -dump -nolist http://packages.debian.org/wheezy/all/transmission-common/filelist | grep ^/(আপনি যদি lynxইনস্টল করেছেন তবে)।
আমি @ বাল্ডোজের এইচটিপি ধারণাটি নিয়েছি এবং এটি উবুন্টু এবং ডেবিয়ানের জন্য সাধারণীকরণ করেছি, কিছুটা যুক্ত করেছি sedএবং এটিকে একটি ব্যাশ ফাংশন ওয়ান-লাইনারে জড়িয়ে রেখেছি :
function deb_list () { curl -s $(lsb_release -si | sed -e 's Ubuntu https://packages.ubuntu.com ' -e 's Debian https://packages.debian.org ')/$(lsb_release -sc)/all/$1/filelist | sed -n -e '/<pre>/,/<\/pre>/p' | sed -e 's/<[^>]\+>//g' -e '/^$/d'; }
ব্যবহার:
$ deb_list curl
/usr/bin/curl
/usr/share/doc/curl/changelog.Debian.gz
/usr/share/doc/curl/copyright
/usr/share/doc/curl/NEWS.Debian.gz
/usr/share/man/man1/curl.1.gz
একাধিক লাইনে একই ফাংশন:
function deb_list () {
curl -s $(lsb_release -si \
| sed -e 's Ubuntu https://packages.ubuntu.com ' \
-e 's Debian https://packages.debian.org '
)/$(lsb_release -sc)/all/$1/filelist \
| sed -n -e '/<pre>/,/<\/pre>/p' \
| sed -e 's/<[^>]\+>//g' -e '/^$/d';
}
ব্যাখ্যা:
https://packages.ubuntu.comবা প্রতিস্থাপন করেhttps://packages.debian.orghttps://packages.ubuntu.com/trusty/all/curl/filelist<pre>এবং </pre>ট্যাগগুলির মধ্যে কী রয়েছে ); দ্বিতীয়টি যে কোনও এইচটিএমএল ট্যাগ আউট; তৃতীয়টি কোনও ফাঁকা রেখা সরিয়ে দেয়।দ্রষ্টব্য: এটি পিপিএ, বিকল্প এপো সোর্স রেপোগুলি অনুসন্ধান করে না এবং কেবল আপনি চালাচ্ছেন এমন ডেবিয়ান / উবুন্টু মুক্তির জন্য উপলব্ধ অফিসিয়াল প্যাকেজগুলির অনুসন্ধান করে।
এই সমস্ত লোকদের জন্য যারা এখনও জানুয়ারীতে এই সমস্যাটি গুগল করতে পারেন, আপনি কিছু না ডাউনলোড করেই ডিবিয়ান 8.5-এ অ্যাপ্লিকেশন এবং ডিপি কেজির সাম্প্রতিক সংস্করণ সহ কিছু দুর্দান্ত জিনিস রাখতে পারেন।
ডাউনলোড ছাড়াই দেব ফাইলের বিষয়বস্তু তালিকাভুক্ত করুন:
প্রথমে দেব ফাইলের সম্পূর্ণ url সন্ধান করুন:
root@debian:apt-get --print-uris download yade
'http://httpredir.debian.org/debian/pool/main/y/yade/yade_2016.06a-7_amd64.deb' yade_2016.06a-7_amd64.deb 1621148 SHA256:26c0d84484a92ae9c2828edaa63243eb764378d79191149970926aa3ec40cdd4
পিএস: --প্রিন্ট-ইউরিস স্যুইচ ডিবে প্যাকেজের ইউআরএল প্রিন্ট করে তবে দেব ডাউনলোড হয় না।
তারপরে ডেবি প্যাকেজের সামগ্রীগুলি ডাউনলোড না করে প্রদর্শন করুন:
root@debian:curl -sL -o- "http://httpredir.debian.org/debian/pool/main/y/yade/yade_2016.06a-7_amd64.deb" |dpkg-deb -c /dev/stdin
drwxr-xr-x root/root 0 2016-12-10 22:18 ./
drwxr-xr-x root/root 0 2016-12-10 22:18 ./usr/
drwxr-xr-x root/root 0 2016-12-10 22:18 ./usr/bin/
-rwxr-xr-x root/root 13184 2016-12-10 22:18 ./usr/bin/yade
.........................more files listed bellow ......................
PS: একই ফলাফল সঙ্গে অর্জন করা যেতে পারে
root@debian:dpkg -c <(curl -sL -o- "http://httpredir.debian.org/debian/pool/main/y/yade/yade_2016.06a-7_amd64.deb")
উপরের ডিবে প্যাকেজ থেকে কোনও ফাইল ডাউনলোড করুন, ডাউনলোড ছাড়াই।
উদাহরণস্বরূপ আমরা এই প্যাকেজটি ইনস্টল না করে এবং ডিবে প্যাকেজটি ডাউনলোড না করেই প্যাকেজ ইয়েডের ম্যান পৃষ্ঠাটি পড়তে চাই।
ডেব প্যাকেজ ভিতরে যেমন দ্বারা উপদিষ্ট ব্যক্তি পৃষ্ঠার ফাইলের নাম dpkg -cহল./usr/share/man/man1/yade.1.gz
উড়ে যাওয়ার জন্য ম্যান পৃষ্ঠাটি পড়তে:
root@debian:curl -sL -o- "http://httpredir.debian.org/debian/pool/main/y/yade/yade_2016.06a-7_amd64.deb" |dpkg-deb --fsys-tarfile /dev/stdin |tar -xO ./usr/share/man/man1/yade.1.gz |man /dev/stdin
ম্যান অ্যাপ্লিকেশন ব্যবহার করে ম্যান পৃষ্ঠা সঠিকভাবে প্রদর্শিত হয়।
পিএস: উপরে পাইপ আর কমান্ড দিয়ে কাজ করে না।
root@debian:apt --version --> apt 1.4~beta2 (amd64)
root@debian:dpkg --version --> Debian 'dpkg' package management program version 1.18.18 (amd64).
root@debian:man --version --> man 2.7.6.1
root@debian:tar --version --> tar (GNU tar) 1.29
দেখে মনে হচ্ছে এটি প্রথমে ইনস্টল করার আগে বা .debফাইল থেকে তালিকাটি বের করার আগে এটি সম্ভব নয় ।
নিম্নলিখিত কমান্ড চেষ্টা করুন:
dpkg --contents <(curl -s $(apt-get install --yes --no-download --reinstall --print-uris language-pack-en | tail -n1 | grep -o "http[^']\+"))
language-pack-enআপনার প্যাকেজের নাম দিয়ে পরিবর্তন করুন ।
এটি মূলত .debফাইলটি আহরণের মাধ্যমে পড়ে curlএবং dpkg --contents FILEএটি চালায় ।
আপনি প্যাকেজ ফাইলটি ডাউনলোড না করেও সামগ্রীটি পরীক্ষা করতে পারেন।
সুতরাং আপনি যদি .debফাইলের URL জানেন তবে নীচের শেল কমান্ডটি সমস্ত প্যাকেজ ফাইল তালিকাভুক্ত করবে:
dpkg -c <(curl -sL "http://httpredir.debian.org/debian/pool/main/a/avis/avis_1.2.2-4_all.deb")
কার্ল প্যারাম: -s- নীরব, -L- সরানো লিঙ্কগুলি অনুসরণ করুন।
আপনি যদি ইউআরএলটি জানেন না, তবে এর মাধ্যমে আনুন: apt --print-urisউদাঃ
apt --print-uris install avis | grep avis