দেবিয়ান প্যাকেজগুলি পরিচালনা করতে 8 টি দরকারী ডাবিয়ান গুডিজ ইউটিলিটিগুলি কীভাবে ব্যবহার করবেন


ডেবিয়ান-গুডিজ এমন একটি প্যাকেজ যার মধ্যে ডেবিয়ান এবং উবুন্টু, কালি লিনাক্সের মতো ডেরিভেটিভ সিস্টেমগুলি পরিচালনা করতে ব্যবহৃত সরঞ্জাম বাক্স-শৈলীর ইউটিলিটি রয়েছে। এই প্যাকেজের অধীন ইউটিলিটিগুলি এমন অনেকগুলি স্বীকৃত শেল সরঞ্জামগুলির সাথে একত্রিত করার জন্য বিকাশ করা হয়েছে এবং অন্যদের অন্তর্ভুক্ত করা হয়েছে কারণ সেগুলি ডেবিয়ান-ভিত্তিক লিনাক্স বিতরণগুলিতে তাদের নিজস্ব প্যাকেজ হিসাবে বিকাশ করা যায় না।

এই গাইডে আমরা ডিবিয়ান-গুডিজ প্যাকেজের অধীনে ইউটিলিটিগুলি কীভাবে ব্যবহার করতে হবে সেদিকে নজর রাখব যার মধ্যে ডিজি্লোব, ডিবেট, ডিপিআইজি, ডিগ্রিপ, ডিবেমনি, চেকরেস্ট, পপব্যাগস এবং কী-পিকেজি-ব্রেক রয়েছে।

আসুন নীচের প্রতিটি সরঞ্জামের বিবরণ দেখুন:

  1. dglob - একটি প্যাটার্নের সাথে মেলে এমন প্যাকেজ নামের একটি তালিকা তৈরি করুন
  2. dgrep - একটি রেজেক্সের জন্য প্রদত্ত প্যাকেজগুলিতে সমস্ত ফাইল সন্ধান করুন
  3. dpigs - ইনস্টল করা প্যাকেজগুলি সর্বাধিক ডিস্কের স্থান নিয়েছে
  4. প্রদর্শন করুন
  5. ডেবিট - এপিটির ডাটাবেসে একটি প্যাকেজের জন্য একটি .deb পান
  6. দেবমনি - ইনস্টল করা বা সরানো প্যাকেজগুলির ম্যানপেজগুলি চয়ন করুন
  7. চেকস্টার্ট - প্রগ্রেড ফাইলগুলির পুরানো সংস্করণ ব্যবহার করছে এমন প্রক্রিয়াগুলি সন্ধান এবং পুনরায় চালু করুন
  8. পপব্যাগগুলি - আপনি যে প্যাকেজগুলি ব্যবহার করেন তার উপর ভিত্তি করে একটি কাস্টমাইজড রিলিজ-ক্রিটিক্যাল বাগ রিপোর্ট প্রদর্শন করুন
  9. যা-পিকেজি-ভেঙেছে - কোন প্যাকেজটি অন্য কোনও ভাঙতে পারে তা ধরুন

এগুলি অত্যন্ত কার্যকর ইউটিলিটি যা অন্যান্য শেল সরঞ্জামগুলির সাথে ব্যবহার করার সময় সিস্টেম প্রশাসনকে আরও অনেক সহজ করে তুলতে পারে। প্রকৃতপক্ষে, ডেবিয়ান-গুডিজ সরঞ্জামটি স্ট্যান্ডার্ড সরঞ্জামগুলির চেয়ে প্যাকেজগুলি সম্পর্কে আরও তথ্য দেখায় যেমন ডিপি কেজি এবং এপটি সরঞ্জামগুলি।

ডেবিয়ান, উবুন্টু এবং লিনাক্স মিন্টে কীভাবে ডেবিয়ান-গুডিজ ইনস্টল করবেন

ডিবিয়ান-গুডিজ প্যাকেজ ইনস্টল করতে, নীচে এই কমান্ডটি চালান।

# sudo apt-get install debian-goodies

একবার ডিবিয়ান-গুডিজ প্যাকেজ ইনস্টল হয়ে গেলে, এখন আর এই নিবন্ধের বাকী অংশে এই প্যাকেজটি সরবরাহ করা প্রতিটি ইউটিলিটির ব্যবহার পরীক্ষা করার সময় এসেছে।

ডেবিয়ান-গুডিজ ইউটিলিটিগুলি কীভাবে ব্যবহার করবেন

ডিজাইনে প্যাকেজ বা ফাইলগুলির নামের তালিকা তৈরি করা হয়েছে যা একটি প্যাটার্নে নির্দিষ্ট করা আছে। সমস্ত প্যাকেজের নাম উত্পন্ন করার জন্য, সহজেই ডিজেলব চালান বা -a বিকল্পটি অন্তর্ভুক্ত করুন।

[email :~# dglob 
fonts-sil-abyssinica
libatk-adaptor
openoffice-onlineupdate
libvorbisfile3
libquadmath0
libxkbfile1
linux-sound-base
python-apt-common
python-gi-cairo
libgs9-common
libgom-1.0-common
libqt5qml5
libgtk2.0-bin
libregexp-common-perl
evolution-data-server
libaccount-plugin-generic-oauth
bind9-host
libhtml-tagset-perl
iputils-ping
libcgmanager0
evince
...

আপনার সিস্টেমে কোনও প্যাকেজ উপস্থিত রয়েছে কিনা তা জানতে, প্যাকেজের নাম দিয়ে dglob চালান। নীচের উদাহরণে আমরা ফায়ারফক্স, অ্যাপাচি 2 এবং ডিবেইন গুডিজ সন্ধান করব।

[email :~# dglob firefox
firefox-locale-en
unity-scope-firefoxbookmarks
firefox
[email :~# dglob apache2
apache2
apache2-utils
apache2-bin
apache2-data
[email :~# dglob debian-goodies
debian-goodies

-f বিকল্পগুলি ব্যবহার করে আপনি নির্দিষ্ট প্যাকেজে সমস্ত ফাইলের একটি তালিকা মুদ্রণ করতে পারেন।

[email t:~# dglob -f firefox
/usr/share/doc/firefox-locale-en/copyright
/usr/share/doc/firefox-locale-en/changelog.Debian.gz
/usr/lib/firefox-addons/extensions/[email 
/usr/lib/firefox-addons/extensions/[email 
/usr/lib/firefox/distribution/searchplugins/locale/en-ZA/amazondotcom.xml
/usr/lib/firefox/distribution/searchplugins/locale/en-ZA/google.xml
/usr/lib/firefox/distribution/searchplugins/locale/en-ZA/ddg.xml
/usr/lib/firefox/distribution/searchplugins/locale/en-GB/google.xml
/usr/lib/firefox/distribution/searchplugins/locale/en-GB/amazon-en-GB.xml
/usr/lib/firefox/distribution/searchplugins/locale/en-GB/ddg.xml
/usr/lib/firefox/webapprt/extensions/[email 
/usr/lib/firefox/webapprt/extensions/[email 
/usr/share/unity/scopes/web/firefoxbookmarks.scope
/usr/share/unity-scopes/firefoxbookmarks/unity_firefoxbookmarks_daemon.py
/usr/share/unity-scopes/firefoxbookmarks/__init__.py
/usr/share/doc/unity-scope-firefoxbookmarks/copyright
....

নিয়মিত অভিব্যক্তির জন্য নির্দিষ্ট প্যাকেজ নামের ফাইলগুলি অনুসন্ধান করার জন্য dgreb ইউটিলিটি ব্যবহৃত হয়। এটি মূলত আপনার সিস্টেমে ইনস্টল হওয়া প্যাকেজগুলির ফাইলগুলির মাধ্যমে গ্রেপ হয় এবং এর সাথে ব্যবহার করা বেশিরভাগ অপশন হ'ল কয়েকটি ব্যতীত গ্রেপ ব্যবহার করা।

কোনও প্যাটার্ন নির্দিষ্ট করতে, নীচের হিসাবে - বিকল্পটি ব্যবহার করুন।

[email :~# dgrep -e README apache2
/usr/sbin/apache2ctl:        echo Setting ulimit failed. See README.Debian for more information. >&2
/usr/sbin/a2enmod:                info(     "See /usr/share/doc/apache2/README.Debian.gz on "
/etc/apache2/mods-available/autoindex.conf:	AddIcon /icons/hand.right.gif README
/etc/apache2/mods-available/autoindex.conf:	# ReadmeName is the name of the README file the server will look for by
/etc/apache2/mods-available/autoindex.conf:	ReadmeName README.html
/etc/apache2/mods-available/cache_disk.conf:	# /usr/share/doc/apache2/README.Debian, and the htcacheclean(8)
/etc/apache2/sites-available/default-ssl.conf:		#   /usr/share/doc/apache2/README.Debian.gz for more info.
...

প্রতিটি ইনপুট ফাইলের নাম মুদ্রণ করতে যা থেকে আউটপুট মুদ্রিত হত, -l বিকল্পটি ব্যবহার করুন।

[email :~# dgrep -l conf apache2
/usr/sbin/a2query
/usr/sbin/apache2ctl
/usr/sbin/a2enmod
/usr/share/doc/apache2/migrate-sites.pl
/usr/share/doc/apache2/copyright
/usr/share/doc/apache2/README.multiple-instances
/usr/share/doc/apache2/examples/setup-instance
/usr/share/doc/apache2/examples/secondary-init-script
/usr/share/doc/apache2/README.backtrace
/usr/share/apache2/apache2-maintscript-helper
/usr/share/lintian/overrides/apache2
/etc/bash_completion.d/apache2
/etc/init.d/apache2
...

মিলে যাওয়া লাইনের কেবল মিলিত অংশগুলি প্রদর্শন করতে -o বিকল্পটি ব্যবহার করুন।

[email :~# dgrep -o conf apache2
/usr/sbin/a2query:conf
/usr/sbin/a2query:conf
/usr/sbin/a2query:conf
/usr/sbin/a2query:conf
/usr/sbin/a2query:conf
/usr/sbin/a2query:conf
/usr/sbin/a2query:conf
/usr/sbin/a2query:conf
...

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

আপনার সিস্টেমে প্যাকেজগুলি সর্বাধিক স্থান ব্যবহার করে তা নির্ধারণ করার জন্য, এই কমান্ডটি কেবল চালান।

[email :~# dpigs
158762 linux-image-extra-4.2.0-16-generic
157066 linux-image-extra-3.19.0-31-generic
155037 wine1.8-amd64
143459 wine1.8-i386
103364 linux-firmware
100412 firefox
96741 openjdk-8-jre-headless
96302 libgl1-mesa-dri
90808 thunderbird
90652 liboxideqtcore0

আপনি মানব-পঠনযোগ্য বিন্যাসে প্যাকেজ আকারগুলি পড়তে -H বিকল্পটি ব্যবহার করতে পারেন।

[email :~# dpigs -H
 155.0M linux-image-extra-4.2.0-16-generic
 153.4M linux-image-extra-3.19.0-31-generic
 151.4M wine1.8-amd64
 140.1M wine1.8-i386
 100.9M linux-firmware
  98.1M firefox
  94.5M openjdk-8-jre-headless
  94.0M libgl1-mesa-dri
  88.7M thunderbird
  88.5M liboxideqtcore0

ডিফল্ট হিসাবে 10 টি প্রদত্ত সংখ্যক প্যাকেজ নির্দিষ্ট করতে, -n বিকল্পটি ব্যবহার করুন।

[email :~# dpigs -H -n 15
 155.0M linux-image-extra-4.2.0-16-generic
 153.4M linux-image-extra-3.19.0-31-generic
 151.4M wine1.8-amd64
 140.1M wine1.8-i386
 100.9M linux-firmware
  98.1M firefox
  94.5M openjdk-8-jre-headless
  94.0M libgl1-mesa-dri
  88.7M thunderbird
  88.5M liboxideqtcore0
  87.9M libgl1-mesa-dri
  81.3M openoffice-core04
  77.8M fonts-horai-umefont
  64.2M linux-headers-4.2.0-16
  61.5M ubuntu-docs

Dpigs ব্যবহারে সহায়তার জন্য -h বিকল্পটি ব্যবহার করুন।

[email :~# dpigs -h
Usage: dpigs [options]

Options:
  -n, --lines=N
    Display the N largest packages on the system (default 10).
  -s, --status=status-file
    Use status-file instead of the default dpkg status file.
  -S, --source
    Display the largest source packages of binary packages installed
    on the system.
  -H, --human-readable
    Display package sizes in human-readable format (like ls -lh or du -h)
  -h, --help
    Display this message.

ডিবেটটি APT এর প্যাকেজ ডাটাবেস থেকে একটি প্যাকেজের জন্য একটি প্রদত্ত .deb পেতে ব্যবহার করা হয়। পরবর্তী উদাহরণগুলিতে আমরা অ্যাপাচি 2, জিপ এবং টার ইউটিলিটিগুলির জন্য .deb ফাইলগুলি আনব।

[email :~# debget apache2
(apache2 -> 2.4.12-2ubuntu2)
[email :~# debget zip
(zip -> 3.0-11)
Downloading zip from http://in.archive.ubuntu.com/ubuntu/pool/main/z/zip/zip_3.0-11_amd64.deb
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--   0  154k    0  1211    0     0   2039      0  0:01:17 --:--:--  0:01:17  47  154k   47 75059    0     0  44694      0  0:00:03  0:00:01  0:00:02 100  154k  100  154k    0     0  74182      0  0:00:02  0:00:02 --:--:-- 74220
[email :~# debget tar 
(tar -> 1.27.1-2)
Downloading tar from http://in.archive.ubuntu.com/ubuntu/pool/main/t/tar/tar_1.27.1-2_amd64.deb
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--  15  191k   15 30155    0     0  48338      0  0:00:04 --:--:--  0:00:04 100  191k  100  191k    0     0   201k      0 --:--:-- --:--:-- --:--:--  201k

সমস্ত আনীত .deb প্যাকেজ।

[email :~# dir -hl
total 348K
-rw-r--r-- 1 root root 86K Dec 30 12:46 apache2_2.4.7-1ubuntu4.6_amd64.deb
-rw-r--r-- 1 root root 192K Dec 30 12:46 tar_1.27.1-2_amd64.deb
-rw-r--r-- 1 root root 155K Dec 30 12:46 zip_3.0-11_amd64.deb

এটি আপনার সিস্টেমে ইনস্টলড বা আনইনস্টল হওয়া প্যাকেজগুলির ম্যানুয়াল এন্ট্রি পৃষ্ঠাগুলি নির্বাচন করতে ব্যবহৃত হয়। এই ইউটিলিটি আপনাকে প্যাকেজের সমস্ত ম্যান্যাপগুলি দেখতে দেয়।

আপনার পছন্দের দর্শকের সাহায্যে ম্যানপেজটি প্রদর্শন করতে আপনি নিম্নোক্ত কয়েকটি বিকল্প ব্যবহার করতে পারেন:

আপনি যদি কেডিপি ডেস্কটপ পরিবেশ ব্যবহার করেন তবে কেএফএমসিলেট ব্যবহার করতে -k বিকল্পটি ব্যবহার করুন।

[email :~# debmany -k tar

দ্রষ্টব্য: আমার সিস্টেমে আমার কাছে কে ডি ডি ই ইনস্টল নেই, সুতরাং উপরের কমান্ডটির আউটপুট প্রদর্শন করা কঠিন।

আপনি যদি জিনোম ডেস্কটপ পরিবেশ ব্যবহার করেন তবে জিনোম-ওপেন ব্যবহার করতে -g বিকল্পটি ব্যবহার করুন।

[email :~# debmany -g tar

আপনি যদি কেডিএ/জিনোম/এক্সফেস ডেস্কটপ পরিবেশ ব্যবহার করেন তবে কেডিজি-ওপেন ব্যবহার করতে -x বিকল্পটি ব্যবহার করুন।

[email :~# debmany -x tar

উপরের দর্শকদের সেগুলি ব্যবহারের আগে ইনস্টল করা আছে তা নিশ্চিত করুন অথবা অন্যথায় আপনি একটি ত্রুটি পেতে পারেন Make

ইতিমধ্যে আপগ্রেড করা ফাইলগুলির পুরানো সংস্করণগুলি ব্যবহার করা প্রক্রিয়াগুলি সন্ধান এবং পুনঃসূচনা করার জন্য চেচস্টার্ট ব্যবহার করা হয়।

সমস্ত প্রক্রিয়া সহ চেকস্টার্ট ব্যবহার করতে -a বিকল্পটি ব্যবহার করুন।

[email :~# checkrestart -a
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
      Output information may be incomplete.
Found 30 processes using old versions of upgraded files
(28 distinct programs)
(23 distinct packages)

Of these, 1 seem to contain systemd service definitions or init scripts which can be used to restart them.
The following packages seem to have definitions that could be used
to restart their services:
openssh-server:
	1947	/usr/sbin/sshd
	1889	/usr/sbin/sshd
These are the initd scripts:
service ssh restart
...

সিস্টেমে প্রদত্ত প্যাকেজের সাথে সংযুক্ত কেবল মোছা ফাইলগুলি প্রক্রিয়া নির্দিষ্ট করতে, -p বিকল্পটি ব্যবহার করুন।

[email :~# checkrestart -p
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
      Output information may be incomplete.
Found 0 processes using old versions of upgraded files

-v বিকল্পটি ব্যবহার করে আপনি বিশদ আউটপুট তথ্য তৈরি করতে পারেন।

[email :~# checkrestart -v
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
      Output information may be incomplete.
Found 1 processes using old versions of upgraded files
(1 distinct program)
[DEBUG] Process /usr/bin/update-manager (PID: 2027) 
List of deleted files in use:
	/var/cache/apt/pkgcache.bin
	/var/lib/dpkg/status (deleted)
	/var/cache/apt/pkgcache.bin
	/var/lib/dpkg/status (deleted)
	/var/cache/apt/pkgcache.bin
	/var/lib/dpkg/status (deleted)
	/var/cache/apt/pkgcache.bin
	/var/lib/dpkg/status (deleted)
[DEBUG] Running:['dpkg-query', '--search', '/usr/bin/update-manager']
[DEBUG] Reading line from dpkg-query: update-manager: /usr/bin/update-manager

[DEBUG] Found package update-manager for program /usr/bin/update-manager
(1 distinct packages)
[DEBUG] Running:['dpkg-query', '--listfiles', 'update-manager']
These processes (1) do not seem to have an associated init script to restart them:
update-manager:
	2027	/usr/bin/update-manager

এটি আপনার সিস্টেমে সাধারণত ব্যবহৃত প্যাকেজগুলির উপর ভিত্তি করে কাস্টমাইজড রিলিজ-সমালোচনামূলক বাগগুলির একটি তালিকা প্রদর্শন করতে ব্যবহৃত হয়। আপনি যখন প্রথমবার কোনও বিকল্প ছাড়াই পপব্যাগগুলি চালাবেন, এটি আপনাকে নীচের মত একটি বার্তা প্রদর্শন করবে।

[email :~# popbugs

There is no popularity-contest data present on your system.  This
probably means that popularity-contest has not yet run since it
was installed.  Try waiting for /etc/cron.daily/popularity-contest to
to collect some data or manually run (as root user):

    /usr/sbin/popularity-contest >/var/log/popularity-contest

জনপ্রিয়তা-প্রতিযোগিতা লগ তৈরি করতে, নীচে এই কমান্ডটি চালান।

[email :~# /usr/sbin/popularity-contest > /var/log/popularity-contest

কোনও ফাইলে আউটপুট সংরক্ষণ করতে, আউটপুট =/পাথ/থেকে/ফাইল বিকল্পটি ব্যবহার করুন। আউটপুট ফাইলটি একটি এইচটিএমএল ফাইল হওয়া উচিত।

[email :~# popbugs --output=/tmp/output.html

আউটপুট ফাইলটি দেখতে ওয়েব ব্রাউজার থেকে ফাইলের অবস্থান নির্দিষ্ট করে ফাইলটি খুলুন।

ডিবাগিং তথ্য প্রদর্শন করতে -d বিকল্পটি ব্যবহার করুন।

[email :~# popbugs --d
POPCON: Adding package zeitgeist-core
POPCON: Adding package upstart
POPCON: Adding package unity-gtk2-module
POPCON: Adding package whoopsie
POPCON: Adding package xserver-xorg-input-evdev
POPCON: Adding package unity-services
POPCON: Adding package zlib1g
POPCON: Adding package xserver-xorg-core
..

এটি অন্য প্যাকেজ ভেঙে যাওয়া প্যাকেজগুলি সন্ধান করতে ব্যবহৃত হয়। কখনও কখনও আপনার সিস্টেমটি নির্দিষ্ট প্যাকেজগুলির দ্বারা ভেঙে যেতে পারে বিশেষত এটি আপগ্রেড করার সময়। সুতরাং কোন-পিকেজি-ব্রেক আপনাকে প্যাকেজগুলি অনুসন্ধান করতে সহায়তা করতে পারে যা আপনার সিস্টেম বা সিস্টেমের মধ্যে একটি বিশেষ প্যাকেজ ভঙ্গ করেছে।

প্যাকেজগুলি যা অ্যাপাচে 2 ভাঙেছে তা সন্ধান করতে নীচে এই কমান্ডটি চালান।

[email :~# which-pkg-broke apache2 
Package apache2 has no install time info
Package mysql-common has no install time info
Package libaprutil1-ldap has no install time info
Package  has no install time info
Package libmysqlclient18 has no install time info
Package  has no install time info
Package libaprutil1-dbd-sqlite3 has no install time info
Package  has no install time info
Package libaprutil1-dbd-mysql has no install time info
Package apache2-utils has no install time info
Package libpq5 has no install time info
Package apache2-data has no install time info
Package libaprutil1-dbd-pgsql has no install time info
Package libaprutil1-dbd-odbc has no install time info
libacl1:amd64                                          Wed Apr 22 17:31:54 2015
libattr1:amd64                                         Wed Apr 22 17:31:54 2015
insserv                                                Wed Apr 22 17:31:54 2015
libc6:amd64                                            Wed Apr 22 17:31:55 2015
...

সারসংক্ষেপ

আমরা যেগুলি দেখেছি তার সাথে সম্পর্কিত আরও অনেকগুলি উপযোগ রয়েছে যা আমরা পরবর্তী নিবন্ধগুলিতে শিখতে পারি। আশা করি আপনি এই গাইডটিকে দরকারী বলে মনে করেন এবং সেগুলি ব্যবহার করার সময় আপনি যদি কোনও ত্রুটি পেয়ে থাকেন বা যুক্ত করার জন্য অন্য কোনও ধারণা পান তবে দয়া করে একটি মন্তব্য পোস্ট করুন। টেকমিন্টের সাথে সংযুক্ত থাকুন।