23 ফ্রিবিএসডি-তে প্যাকেজ পরিচালনা করার জন্য দরকারী পিকেজি কমান্ড উদাহরণ


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

পোর্টস রিপোজিটরিগুলি নির্ভরযোগ্যতার সাথে সোর্স কোড থেকে অ্যাপ্লিকেশনগুলি সংকলনের জন্য প্রয়োজনীয় সরঞ্জাম সরবরাহ করে, তবে প্রি-সংকলিত প্যাকেজগুলির একটি বিশাল সংগ্রহও বজায় রাখে, বর্তমানে পিকজি কমান্ডের সাহায্যে একটি ফ্রিবিএসডি সিস্টেমে ইনস্টল করা যেতে পারে 24.000 এরও বেশি প্যাকেজ।

  1. ফ্রিবিএসডি 11.x ইনস্টলেশন

ফ্রিবিএসডি-তে বন্দর গাছগুলিতে অ্যাপ্লিকেশন অনুসন্ধান এবং সন্ধান করুন

1. পোর্ট সংগ্রহস্থলগুলি ফ্রিবিএসডি-তে বিভাগগুলিতে বিভক্ত করা হয়েছে, প্রতিটি বিভাগ/ইউএসআর/পোর্ট/ফাইল সিস্টেমের পাথের ডিরেক্টরিতে প্রতিনিধিত্ব করা হচ্ছে।

ডিরেক্টরি/ইউএসআর/পোর্ট/এর একটি সহজ তালিকা নীচের স্ক্রীনশটটিতে প্রদর্শিত সমস্ত উপলব্ধ বিভাগ প্রদর্শন করবে।

# ls /usr/ports/

২. কোনও বিভাগের সাথে সম্পর্কিত সমস্ত উপলব্ধ অ্যাপ্লিকেশনগুলি দেখতে বিভাগ বিভাগের বিরুদ্ধে একটি ls কমান্ড জারি করুন।

মনে করুন আপনি ডাটাবেস বিভাগে যে সমস্ত উপলভ্য সফ্টওয়্যার প্যাকেজ প্রদর্শন করতে চান, কনসোলে নীচের কমান্ডটি কার্যকর করুন। আউটপুট মাধ্যমে আরও সহজে নেভিগেট করতে কম কমান্ডের মাধ্যমে ফলাফলটি পাইপ করুন।

# ls /usr/ports/databases/ | less

৩. কোন বিভাগে কয়টি প্যাকেজ উপলব্ধ তা দেখার জন্য বিভাগের ডিরেক্টরিটি তালিকাভুক্ত করুন এবং নীচের উদাহরণে প্রদর্শিত ডাব্লুসি কমান্ডের মাধ্যমে ফলাফলটি পাইপ করুন।

# ls /usr/ports/databases/ | wc -l

আপনি উপরের স্ক্রিনশটে দেখতে পাচ্ছেন যে, ফ্রিবিএসডি ডাটাবেস বিভাগে 1000 এরও বেশি ডাটাবেস প্রাক-কমপ্লাইড প্যাকেজ রয়েছে।

৪. কোনও বিভাগে একটি নির্দিষ্ট অ্যাপ্লিকেশন পাওয়া যায় কিনা তা দেখতে, কাস্টম অ্যাপ্লিকেশন অনুসন্ধান করার জন্য গ্রেপ ইউটিলিটিটি ব্যবহার করুন।

নীচের উদাহরণগুলিতে মঙ্গডব ডাটাবেস উপলব্ধ প্যাকেজ এবং ক্ল্যাম অ্যান্টিভাইরাস সুরক্ষা প্যাকেজগুলির সন্ধান করবে।

# ls /usr/ports/databases/ | grep mongodb
# ls /usr/ports/security/ | grep clam

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

৫. কোনও সফ্টওয়্যার কোন শ্রেণীর অন্তর্ভুক্ত তা আপনি যদি না জানেন তবে আপনি সফ্টওয়্যার বিভাগটি খুঁজে পেতে অন্য পদ্ধতির ব্যবহার করতে পারেন। পুরো পোর্ট ডিরেক্টরি ডিরেক্টরিতে একটি প্যাটার্ন সন্ধান করতে শেল গ্লোব্বিং ওয়াইল্ডকার্ড * অক্ষর ব্যবহার করুন।

আপনি মেলেক্স ইউটিলিটির জন্য সফ্টওয়্যার প্যাকেজগুলি কোন বিভাগে দেখতে চান তা ধরে নিলে আপনি নিম্নলিখিত কমান্ডটি চালাতে পারবেন।

# ls /usr/ports/*/*mailx

A. একটি সফ্টওয়্যার প্যাকেজ এবং প্যাকেজটির অন্তর্ভুক্ত বিভাগটি অনুসন্ধানের জন্য আরেকটি পদ্ধতি হ'ল স্ট্রিং প্যাটার্নের বিপরীতে অবস্থিত কমান্ডটি ব্যবহার করে।

অনুসন্ধানের স্ট্রিংটি সম্পাদন করার আগে, আপনাকে নিম্নলিখিত কমান্ডের সাহায্যে ডাটাবেস সনাক্ত করতে হবে।

# /usr/libexec/locate.updatedb

You. আপনি অনুসন্ধানের ডেটাবেস আপডেট করার পরে, প্যাকেজের নাম থেকে কীওয়ার্ড প্যাটার্ন ব্যবহার করে একটি নির্দিষ্ট সফ্টওয়্যার প্যাকেজ সন্ধান করুন। উদাহরণস্বরূপ, আপনি যদি মেইলএক্স ইউটিলিটি অনুসন্ধান করতে চান তবে আপনি নীচের আদেশটি চালাতে পারেন।

# locate mailx

আপনি দেখতে পাচ্ছেন, মেলেক্স ইউটিলিটির জন্য দুটি প্যাকেজ উপলব্ধ রয়েছে, উভয়ই/usr/পোর্ট/মেল/বিভাগে অবস্থিত।

৮. অ্যাপ্লিকেশন বিভাগটি দেখতে, কমান্ডের সাথে প্যাকেজ সন্ধানের অনুরূপ।

# whereis mailx

ফ্রিবিএসডি-তে পিকেজি কমান্ডের মাধ্যমে সফ্টওয়্যার অনুসন্ধান করুন

9. ফ্রিবিএসডি-তে একটি অ্যাপ্লিকেশন অনুসন্ধান এবং সন্ধান করার সহজতম পদ্ধতি হ'ল পিকেজি প্যাকেজ পরিচালনা কমান্ড লাইনের মাধ্যমে। কোনও অ্যাপ্লিকেশনটির জন্য বাইনারি প্যাকেজগুলি অনুসন্ধান করার জন্য, উদাহরণস্বরূপ পোস্টফিক্স সফ্টওয়্যার, নীচের কমান্ডটি প্রেরণ করুন।

# pkg search package_name

১০. আপনি যদি প্যাকেজটি কোন বিভাগের অন্তর্ভুক্ত দেখতে চান তবে নীচের উদাহরণগুলিতে চিত্রিত হিসাবে -o পতাকাটি দিয়ে উপরের মতো একই কমান্ডটি চালান।

# pkg search -o package_name

ফ্রিবিএসডি-তে সফটওয়্যার পরিচালনা করুন

১১. ফ্রিবিএসডি-তে পোর্ট সংগ্রহস্থলগুলি থেকে পূর্ব-সংকলিত প্যাকেজ ইনস্টল করার জন্য, নীচের উদাহরণে চিত্রিত পিকজি কমান্ডটি জারি করুন।

# pkg install package_name

১২. সিস্টেমে একটি নির্দিষ্ট ইনস্টল করা প্যাকেজ সম্পর্কে তথ্য জানতে, নীচের কমান্ডটি প্রেরণ করুন।

# pkg info package_name

13. নীচের স্ক্রিনশটটিতে দেখানো হয়েছে যে, পকেগ ইনফরমেশন কমান্ড স্যুইচটি আপনার সিস্টেমে ইতিমধ্যে সফ্টওয়্যার প্যাকেজ ইনস্টলড না থাকলে "কোনও প্যাকেজ (গুলি) প্যাকেজ_নাম মিলছে না" বার্তাটি প্রদর্শন করবে।

# pkg info tcpdump

14. ফ্রিবিএসডি-তে ইনস্টল করা সমস্ত সফ্টওয়্যার প্যাকেজ তালিকাভুক্ত করার জন্য, কোনও বিকল্প বা সুইচ ছাড়াই পিকেজি ইনফরমেশন কমান্ড কার্যকর করুন।

নীচের উদাহরণে চিত্রিত হিসাবে কিছু নির্দিষ্ট প্যাকেজ বা অ্যাপ্লিকেশন সিস্টেমের মধ্যে ইতিমধ্যে উপস্থিত থাকলে pkg তথ্য কমান্ডের বিপরীতে গ্রেপ ফিল্টার আপনাকে দেখাতে পারে।

# pkg info | grep ftp

15. সিস্টেম থেকে একটি প্যাকেজ অপসারণ করতে, নীচের আদেশগুলি জারি করুন।

# pkg remove package_name
or
# pkg delete package_name

১.. আপনি যদি কোনও ইনস্টল করা প্যাকেজ অপসারণ বা পরিবর্তন রোধ করতে চান তবে নীচের চিত্রের মতো, আপনি পিকেজি কমান্ডের জন্য লক সুইচটি ব্যবহার করতে পারেন।

# pkg lock package_name

আনলক করুন পি কেজি কমান্ড স্যুইচ আপনাকে প্যাকেজ সীমাবদ্ধতা এবং প্যাকেজটি সংশোধন বা আনইনস্টল করার অনুমতি দেবে।

# pkg unlock package_name

17. কোন ইনস্টল করা প্যাকেজটি কোনও আদেশ বা একটি এক্সিকিউটেবল ফাইলের অন্তর্ভুক্ত তা জানতে, নীচের স্ক্রিনশটের উদাহরণে চিত্রিত হিসাবে নিম্নলিখিত কমান্ডটি জারি করুন।

# pkg which /path/to/executable

18. সিস্টেমে প্যাকেজ ইনস্টল না করে পোর্টস রিপোজিটরি থেকে স্থানীয়ভাবে একটি প্যাকেজ ডাউনলোড করতে, ফেচ সুইচ দিয়ে pkg কমান্ড চালান

ডাউনলোড প্যাকেজ বাইনারি, যা একটি সঙ্কোচিত .txz ফাইল,/var/cache/pkg/সিস্টেমের পথে পাওয়া যাবে।

# pkg fetch package_name
# ls /var/cache/pkg/ | grep package_name

19. ইনস্টল করা প্যাকেজগুলি সাধারণ দুর্বলতার মুখোমুখি হয়েছে কিনা তা পরীক্ষা করতে বা বাগগুলি নীচের আদেশটি জারি করে।

# pkg audit -F

পুরানো দুর্বলতার একটি তালিকা দেখতে যেখানে পূর্ববর্তী সংস্করণগুলিতে কোনও সফ্টওয়্যার প্যাকেজকে প্রভাবিত করে নীচের আদেশটি জারি করে।

# pkg audit package_name

নীচে ফ্রিবিএসডি-র জন্য সংকলিত এনগিনেক্স ওয়েব সার্ভারে পাওয়া সমস্ত দুর্বলতার একটি সংক্ষিপ্তসার রয়েছে।

# pkg audit nginx
nginx is vulnerable:
Affected versions:
<= 0.8.41 : > 1.4.4,1
nginx -- Request line parsing vulnerability
CVE: CVE-2013-4547
WWW: https://vuxml.FreeBSD.org/freebsd/94b6264a-5140-11e3-8b22-f0def16c5c1b.html

nginx is vulnerable:
Affected versions:
< 1.0.15
nginx -- Buffer overflow in the ngx_http_mp4_module
CVE: CVE-2012-2089
WWW: https://vuxml.FreeBSD.org/freebsd/0c14dfa7-879e-11e1-a2a0-00500802d8f7.html

nginx is vulnerable:
Affected versions:
< 1.4.7
nginx -- SPDY heap buffer overflow
CVE: CVE-2014-0133
WWW: https://vuxml.FreeBSD.org/freebsd/fc28df92-b233-11e3-99ca-f0def16c5c1b.html
...

ফ্রিবিএসডি-তে প্যাকেজ পরিচালনার ইউটিলিটি বজায় রাখুন

20. সফ্টওয়্যার সংগ্রহস্থল এবং আপনার ইনস্টল করা সমস্ত প্যাকেজগুলি এবং সর্বশেষতম সংস্করণ বা সুরক্ষা প্যাচগুলির সাথে আপ-টু-ডেট রয়েছে তা নিশ্চিত করতে নিম্নলিখিত কমান্ডগুলি জারি করুন।

# pkg update
# pkg upgrade

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

# pkg stats

22. সিস্টেমে ইনস্টল করা প্যাকেজগুলির দ্বারা পিছনে থাকা সমস্ত নির্ভরতা মুছে ফেলার জন্য নীচের কমান্ডটি জারি করুন।

# pkg autoremove

23. দূরবর্তী ডাউনলোডকৃত প্যাকেজগুলির প্যাকেজ পরিচালনার স্থানীয় ক্যাশে ডিরেক্টরিটি স্বয়ংক্রিয়ভাবে মুছতে, নীচের কমান্ডটি চালান run আপনার প্রথমে স্থানীয়ভাবে ডাউনলোড করা বাইনারি প্যাকেজগুলির তালিকাটি যাচাই করা উচিত।

# pkg clean -a -n  
# pkg clean -a -y

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