উত্তর:
ইন /var/lib/dpkg/info
হয় .list
টেক্সট ফাইল তালিকা সমস্ত ফাইল প্রতিটি package¹ ডেবিয়ান প্যাকেজ ম্যানেজারের মাধ্যমে ইনস্টল অন্তর্ভুক্ত।
ফাইল সিস্টেমে সমস্ত ফাইল সন্ধান করা কোনও প্রবেশের সাথে মেলে না এই জাতীয় কিছু দিয়ে অর্জন করা যেতে পারে:
find / -xdev -type f \( -exec grep -xq "{}" /var/lib/dpkg/info/*.list \; -or -print \)
পুরো ফাইল সিস্টেমটি স্ক্যান হয়ে যাওয়ায় স্পষ্টতই এটি অনেক দিন সময় নেয়। আপনি যদি সিস্টেম ডিরেক্টরিগুলির জন্য বিভিন্ন পার্টিশন ব্যবহার করেন (যেমন /usr
বা /var
) তবে প্রাথমিকের পরে সেগুলি নির্দিষ্ট করুন /
।
সতর্কতা: এতে প্যাকেজ স্ক্রিপ্টগুলির দ্বারা নির্মিত ফাইলগুলি অন্তর্ভুক্ত নয় । এই ক্ষেত্রে:
/etc/hosts.allow
কোথাও তালিকাভুক্ত নয় libwrap0
তবে প্যাকেজ ইনস্টলেশন করার সময় সেই ফাইলটি উপস্থিত না থাকলে সম্ভবত এটি তৈরি করা হতে পারে।.pyc
ফাইল (সংকলিত পাইথন লাইব্রেরি), .elc
ফাইল (সংকলিত ইমাস লিস্প গ্রন্থাগারসমূহ), ইত্যাদি etc./var/lib/dpkg/info/*.list
- উপরের ক্যোয়ারিকে অন্য কোনও নীতির অধীনে আবার লিখতে হবে।
প্রক্রিয়া প্রতিস্থাপনের জন্য সমর্থন সহ শেল ব্যবহার করে @ প্যাট্রিসের সমাধানের আরও কার্যকর সংস্করণ ( bash
, এটিএন্ডটি ksh
, zsh
):
(
export LC_ALL=C
comm -23 <(find / -xdev -type f | sort) \
<(sort -u /var/lib/dpkg/info/*.list)
)
প্যাট্রিসের সমাধানের মতো এটিও ধরে নেওয়া হয় যে কোনও ফাইল পাথে নতুন লাইনের অক্ষর নেই।
locate
ডাটাবেস ব্যবহার চালানোর চেয়ে দ্রুত হবে find
? locate \* | grep -v "^/home/"
- এছাড়াও /boot/
সিস্টেমের অন্যান্য পার্টিশনগুলি সন্ধান করার সুবিধা রয়েছে ।
আপনি প্রক্রিয়া বিকল্প এবং grep
& ব্যবহার করতে পারেন find
। মনে রাখবেন যে আপনি যদি কোনও নির্দিষ্ট ডিরেক্টরিতে ফাইল সন্ধান করেন তবে কয়েক সেকেন্ডের সংরক্ষণ grep
থেকে কেবলমাত্র প্রাসঙ্গিক পাথগুলি ফিল্টার করার জন্য এটি দুটিবার ব্যবহৃত হয় /var/lib/dpkg/info
।
dir="/lib/x86_64-linux-gnu"
find "$dir" -type f \
| grep -v -x -F -f \
<(find '/var/lib/dpkg/info' -name '*.list' -print0 \
| xargs -0 grep -h -F "^$dir" \
| sort -u)
find: argument list too long