ইংরেজিফরাসিস্প্যানিশ

Ad


অনওয়ার্কস ফেভিকন

kash - ক্লাউডে অনলাইন

উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটরের মাধ্যমে OnWorks ফ্রি হোস্টিং প্রদানকারীতে ক্যাশ চালান

এই কমান্ড ক্যাশ যা আমাদের একাধিক বিনামূল্যের অনলাইন ওয়ার্কস্টেশন যেমন উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটর ব্যবহার করে OnWorks ফ্রি হোস্টিং প্রদানকারীতে চালানো যেতে পারে।

কার্যক্রম:

NAME এর


কানিফ - ক্লাস্টার ব্যবস্থাপনার জন্য একটি TakTuk মোড়ক

সাইনোপিসিস


কাশ|kaget|চিত্তির [-aFHhimqsV] [-f conf-file] [-l প্রবেশ করুন] [-M মেশিন-তালিকা] [-n|-w নোড]
[-o বিকল্পগুলি] [-p স্তর] [-r আদেশ] [-T বিকল্পগুলি] [-t সময় শেষ] [-u সময় শেষ] [-x নোড]
[মেশিন স্পেসিফিকেশন] [কমান্ড বডি]

বর্ণনাঃ


কানিফ ক্লাস্টার ব্যবস্থাপনা এবং প্রশাসনের জন্য একটি হাতিয়ার। এটি এর প্রধান বৈশিষ্ট্যগুলিকে একত্রিত করে
সুপরিচিত ক্লাস্টার ম্যানেজমেন্ট টুল যেমন c3, pdsh এবং dsh এবং তাদের সিনট্যাক্স অনুকরণ করে। জন্য
কার্যকর ক্লাস্টার ব্যবস্থাপনা এটি নির্ভর করে TakTuk, বড় স্কেল দূরবর্তী জন্য একটি টুল
মৃত্যুদন্ড স্থাপন।

সাধারণ সমান্তরাল কাজের জন্য যা নিয়মিত মেশিনে যেমন ক্লাস্টারে সম্পাদন করতে হয়,
TakTuk সিনট্যাক্স খুব জটিল। এর লক্ষ্য কানিফ একটি সহজ এবং পরিচিত প্রদান করা হয়
ক্লাস্টার অ্যাডমিনিস্ট্রেটরদের সিনট্যাক্স এখনও সুবিধা নেওয়ার সময় TakTuk বৈশিষ্ট্য
এবং বৈশিষ্ট্যগুলি (অভিযোজিততা, পরিমাপযোগ্যতা, বহনযোগ্যতা, স্বতঃপ্রচার এবং তথ্য
পুনর্নির্দেশ)।

কাজ করতে, কানিফ ব্যবহারকারীর মধ্যে "taktuk" কমান্ড (সংস্করণ 3.3 এবং তার উপরে) খুঁজে বের করতে হবে
পথ অন্যান্য প্রয়োজনীয়তা হিসাবে একই TakTuk: এর সব নোডের জন্য প্রয়োজন
ক্লাস্টার, একটি কার্যকরী পার্ল দোভাষী (সংস্করণ 5.8 এবং তার উপরে) এবং লগ ছাড়াই একটি কমান্ড
পাসওয়ার্ড (যেমন সঠিক rsa কী ইনস্টল করা সহ "ssh")।

কানিফ ক্লাস্টার প্রশাসন এবং পরিচালনার জন্য তিনটি সহজ কমান্ড প্রদান করে:

কাশ: একাধিক নোডে একই কমান্ড চালায়
চিত্তির: ফাইল বা ডিরেক্টরির কপি বিভিন্ন নোডে সম্প্রচার করে
kaget: বিভিন্ন দূরবর্তী ফাইল বা ডিরেক্টরি সংগ্রহ করে

কানিফ বেশ কয়েকটি ক্লাস্টার ম্যানেজমেন্ট টুলের সুবিধা একত্রিত করে। এর প্রধান বৈশিষ্ট্য হতে পারে
নিম্নলিখিত হিসাবে সংক্ষিপ্ত করা হবে:

· স্ট্যাটিক ক্লাস্টার সেটআপের জন্য C3-স্টাইল কনফিগারেশন ফাইল

· pdsh-এর মত বিকল্প যেমন নোড রেঞ্জ এবং টাইমআউট

· dshbak-এর মতো সমাবেশ, বাছাই এবং আউটপুট একত্রিত করা

যেমন "pdsh", কানিফ স্থাপনা নিরীক্ষণ এবং সংকেত দ্বারা নিয়ন্ত্রণ করা যেতে পারে. কখন কানিফ
একটি SIGINT পায় (সাধারণত Ctrl-C লিখে পাঠানো হয়), এটি তার একটি সংক্ষিপ্ত সারাংশ প্রদর্শন করে
স্থাপনার অবস্থা এবং কমান্ড কার্যকর করার অগ্রগতি। এই প্রথম SIGINT পরে, যদি কানিফ
এক সেকেন্ডের মধ্যে একটি দ্বিতীয় সংকেত পায়:

যদি এটি একটি SIGINT হয় তবে এটি তার কার্য সম্পাদন (যেকোন চলমান কাজ বাতিল করা) বন্ধ করে দেয়

· এটি যেকোনো চলমান সংযোগ বাতিল করে এবং ইতিমধ্যেই স্থাপন করা নোডগুলিতে কার্যকর করা শুরু করে
যদি এটি একটি SIGTSTP হয় (সাধারণত Ctrl-Z টাইপ করে পাঠানো হয়)

মৃত্যুদণ্ডের শেষে, কানিফ এছাড়াও ব্যর্থতার একটি দ্রুত সারাংশ রিপোর্ট করে: সংযোগ এবং
আদেশ সম্পাদন।

বিকল্প


প্রশাসকদের তাদের কাজে সাহায্য করার জন্য, কানিফ বিকল্প সিনট্যাক্স যতটা সম্ভব কাছাকাছি
C3/pdsh/dsh সুপরিচিত টুল।

-a
--সব
সমস্ত কনফিগার করা ক্লাস্টারের সমস্ত নোডগুলিতে স্থাপন করে৷

-f conf-ফাইল
--ফাইল conf-ফাইল
ডিফল্টের পরিবর্তে কনফিগারেশন ফাইল হিসাবে "conf-file" ব্যবহার করে। বেশ কিছু সম্ভাবনা রয়েছে
ডিফল্ট কনফিগারেশন ফাইলের জন্য পরীক্ষা করা হয়েছে, ক্রমে: "$HOME/.kanif.conf",
"/etc/kanif.conf", "/etc/c3.conf"।

-F
--ফ্ল্যাট-স্থাপন
রুট নোড থেকে সমস্ত রিমোট এক্সিকিউশন স্থাপন করে (যা কানিফ চালায়)। দরকারী যখন
দূরবর্তী নোড একে অপরের লগ ইন করতে পারে না.

-H
--মাথা
সমস্ত নির্দিষ্ট করার জন্য শুধুমাত্র ক্লাস্টার "হেড" নোডে (স্থানীয় ইন্টারফেস ব্যবহার করে) স্থাপন করে
গুচ্ছ

-h
--help
একটি ছোট সাহায্য পাঠ্য প্রিন্ট করে এবং প্রস্থান করে।

-i
-- ইন্টারেক্টিভ
কোন কর্মের আগে নিশ্চিতকরণ জিজ্ঞাসা. একটি ক্রিয়া হল একটি আদেশ কার্যকর করা
সমস্ত হোস্টে (ডিফল্ট) বা একটি হোস্টে একটি কমান্ড কার্যকর করা (ক্রমিক
মোড, দেখুন -s সুইচ)।

-l লগইন
--প্রবেশ করুন লগইন
দূরবর্তী হোস্টের সাথে সংযোগ করতে প্রদত্ত "লগইন" ব্যবহার করে।

-M মেশিন-তালিকা
--তালিকা মেশিন-তালিকা
"মেশিন-তালিকা" নামের ফাইলে থাকা নামগুলি দূরবর্তী হোস্টে যোগ করে। কানিফ
অনেক হিসাবে গ্রহণ করে -M আপনার ইচ্ছা মত বিকল্প।

-m
-- মনিটরিং
তোলে কানিফ ডিপ্লোয়মেন্ট কমান্ড এক্সিকিউশনের সময় কি ঘটছে সে সম্পর্কে আরও ভার্বস।

-n নোড
--নোড নোড
স্থাপনায় প্রদত্ত "নোড" যোগ করে। এর জন্য "হোস্টনাম স্পেসিফিকেশন" বিভাগটি দেখুন
"নোড" সিনট্যাক্স সম্পর্কে আরও তথ্য। কানিফ অনেক হিসাবে গ্রহণ করে -n আপনার ইচ্ছা মত বিকল্প।

-o অপশন
--রিমোট-অপস অপশন
দূরবর্তী শেল কমান্ডে পাস করার জন্য অতিরিক্ত বিকল্পগুলি সেট করে।

-p স্তর
--পোস্ট প্রক্রিয়া স্তর
তৈরি করা আউটপুট বিন্যাসের স্তর সেট করে কানিফ. সাধারণ ধারণা হল: উচ্চতর
স্তর, আরো বাছাই, একত্রিত এবং মানুষের পাঠযোগ্য আউটপুট. ডিফল্ট হল 4, ভিন্ন
স্তরগুলি হল:

0 কোন প্রক্রিয়াকরণ নেই: কাঁচা কমান্ড আউটপুট stdout এবং কাঁচা কমান্ড প্রিন্ট করা হয়
ত্রুটি stderr এ মুদ্রিত হয়। সংযোগ এবং মৃত্যুদন্ড ত্রুটি রিপোর্ট করা হয় না.

1 এর মতই 0 ব্যতীত যে হোস্টের নামটি আউটপুট তৈরি করেছে তার নাম আগে থেকে লেখা
প্রতিটি লাইনের আগে।

2 1 এর মতই ব্যতীত যে আউটপুটটি কমান্ড দ্বারা বাছাই করা হয় (একটি সম্পূর্ণ কমান্ড
মৃত্যুদন্ড সম্পূর্ণরূপে অন্য একটির আগে আউটপুট করা হয়)। সংযোগ এবং মৃত্যুদন্ড
ত্রুটিগুলি stderr-এর শেষে সংক্ষিপ্ত করা হয়।

3 2 এর মতোই হোস্টনামটি একবার মুদ্রিত হয়, শিরোনাম হিসাবে ফর্ম্যাট করা হয়, আগে
এর আউটপুট।

4 একই 3 ব্যতীত একাধিক নোড দ্বারা উত্পাদিত অভিন্ন আউটপুট একবার মুদ্রিত হয়
শিরোনামে সংক্ষিপ্ত সমস্ত হোস্ট সহ।

-q
--শুষ্ক রান
যখন এই বিকল্প দেওয়া হয়, কানিফ কিছুই করে না এবং এর কনফিগারেশন, রিমোট প্রিন্ট করে
নোড এটি যোগাযোগ করার চেষ্টা করা হবে এবং TakTuk আদেশ যে হবে
নিষ্পন্ন.

-r হুকুম
--remote-cmd হুকুম
দূরবর্তী হোস্টের সাথে যোগাযোগ করতে ব্যবহৃত "কমান্ড" এর নাম সেট করে (ডিফল্ট হল "ssh -o
StrictHostKeyChecking=no -o BatchMode=yes")।

-s
--ক্রমিক
প্রতিটি কমান্ড ক্রমিকভাবে দূরবর্তী হোস্টগুলিতে কার্যকর করা হয় (প্রদত্ত আদেশ ব্যবহার করে
হোস্ট অর্ডার হিসাবে কমান্ড লাইন)।

-T অপশন
--টাকটুক-বিকল্প অপশন
ক্ষমতা ব্যবহারকারীদের কিছু বিকল্প পাস করার অনুমতি দেয় TakTuk আদেশ কার্যকর করা হয়েছে (সতর্কতা:
সবসময় অন্তর্ভুক্ত -s যা ডিফল্ট যদি না আপনি সত্যিই জানেন যে আপনি কি করছেন)।

-t সময় শেষ
--সময় শেষ সময় শেষ
সংযোগ প্রচেষ্টার জন্য একটি টাইমআউট মান দেয়। মেয়াদ শেষ হলে, সংযোগ বাতিল করা হয়
এবং দূরবর্তী হোস্টে স্থাপনা বাতিল করা হয়েছে।

-u সময় শেষ
--সর্বোচ্চ সীমা সময় শেষ
কমান্ড এক্সিকিউশনের জন্য একটি টাইমআউট মান দেয়। মেয়াদ শেষ হওয়ার সাথে সাথে কমান্ডটি মারা হয়
একটি TERM সংকেত।

-V
--সংস্করণ
ছাপে কানিফ সংস্করণ এবং প্রস্থান।

-w
-wcoll
এর প্রতিশব্দ -n.

-x নোড
--বাদ নোড
ব্যবহার করে দেওয়া কিছু থেকে কিছু নোড বাদ দেয় -n or -w. সমস্ত হোস্ট সেট প্রযোজ্য যে
ইতিমধ্যে একটি বর্জন অংশ ধারণ করবেন না। সঙ্গে প্রদত্ত হোস্ট প্রযোজ্য নয় -M বিকল্প।

পরিবেশ


সাধারণত সব কানিফ বিকল্পগুলি পরিবেশের ভেরিয়েবল দ্বারা সেট করা যেতে পারে। যৌক্তিকতা হল যে
বুলিয়ান বিকল্পগুলির 0/1 মান রয়েছে এবং পরিবেশ সেটিংস কমান্ড লাইন দ্বারা ওভাররাইড করা হয়
সুইচ।

দ্বারা ব্যবহৃত একটি পরিবেশ পরিবর্তনশীল নাম কানিফ দীর্ঘ বিকল্প নাম দিয়ে তৈরি করা হয়
আন্ডারস্কোর দ্বারা প্রতিস্থাপিত ড্যাশের সাথে ক্যাপিটাল করা হয়েছে এবং "KANIF_" আগে লেখা হয়েছে (উদাহরণস্বরূপ
"KANIF_ALL", "KANIF_HEAD", এবং আরও অনেক কিছু)। এই নিয়ম নিম্নলিখিত ব্যতিক্রমগুলি স্বীকার করে (যে
C3/dsh আচরণ নকল করার জন্য বেছে নেওয়া হয়েছে):

KANIF_CONF
কনফিগারেশন ফাইলের জন্য KANIF_FILE এর পরিবর্তে।

KANIF_USER
লগইন নামের জন্য KANIF_LOGIN এর পরিবর্তে।

এছাড়াও লক্ষ্য করুন যে পরিবর্তনশীল KANIF_WCOLL এর কোন অর্থ নেই কানিফ.

হোস্টনাম স্পেসিফিকেশন


দেওয়া হোস্টনাম কানিফ সহজ মেশিনের নাম বা জটিল হোস্ট তালিকা হতে পারে
স্পেসিফিকেশন এর সাধারণ আকারে, একটি হোস্টনাম একটি হোস্ট সেট এবং একটি ঐচ্ছিক দ্বারা তৈরি হয়
একটি স্ল্যাশ দ্বারা পৃথক করা বর্জন সেট। এই সেটগুলির প্রত্যেকটি হোস্টের একটি কমা দ্বারা পৃথক করা তালিকা
টেমপ্লেট এই টেমপ্লেটগুলির প্রতিটি ধ্রুবক অংশ দিয়ে তৈরি (বন্ধনীর বাইরের অক্ষর)
এবং ঐচ্ছিক পরিসীমা অংশ (বন্ধনীর ভিতরে অক্ষর)। প্রতিটি রেঞ্জ অংশ একটি কমা
বিরতি বা একক মানগুলির পৃথক তালিকা। প্রতিটি ব্যবধান দুটি একক মান দিয়ে তৈরি
একটি ড্যাশ দ্বারা পৃথক. এটি প্রদত্ত সমস্ত হোস্টনামের জন্য সত্য কানিফ (উভয় সঙ্গে -M or -n/-w
বিকল্প)।

অন্য কথায়, নিম্নলিখিত এক্সপ্রেশনগুলি বৈধ হোস্ট স্পেসিফিকেশন:
নোড1
নোড[19]
নোড[1-3]
নোড[1-3],অন্যথারহোস্ট/নোড2
node[1-3,5]part[a-b]/node[3-5]parta,node1partb

তারা যথাক্রমে প্রসারিত হয়:
নোড1
নোড19
node1 node2 node3
node1 node3 otherhost
node1parta node2parta node2partb node3partb node5partb

লক্ষ্য করুন যে এই মানের তালিকাগুলি রেগুলার এক্সপ্রেশন নয় ("নোড[19]" হল "নোড19" এবং
"node1, node2, ...., node9" নয়)। পার্ল ম্যাজিকাল অটো ব্যবহার করে ব্যবধান প্রয়োগ করা হয়
বৃদ্ধি বৈশিষ্ট্য, এইভাবে আপনি ব্যবধান সীমা হিসাবে বর্ণসংখ্যার মান ব্যবহার করতে পারেন (পার্ল দেখুন
ডকুমেন্টেশন, অপারেটর ++ এই স্বয়ংক্রিয় বৃদ্ধির সীমাবদ্ধতার জন্য)।

মেশিনগুলিকে বৈশিষ্ট্যসমুহ


সঙ্গে কানিফ, আপনি দূরবর্তী নোডগুলি নির্দিষ্ট করতে পারেন যার উপর আপনি ব্যবহার করে কিছু জিনিস করতে চান
কমান্ড লাইন সুইচ (-n এবং -x, pdsh/dsh শৈলী), মেশিনের স্পেসিফিকেশন ব্যবহার করে (C3
শৈলী) বা উভয়। সুতরাং, ডকুমেন্টেশনের এই অংশটি উপেক্ষা করা যেতে পারে যদি আপনি না চান
C3 শৈলী নোড ব্যবস্থাপনা ব্যবহার করতে।

মেশিনের স্পেসিফিকেশন ব্যবহার করতে আপনাকে অবশ্যই একটি কনফিগারেশন ফাইলে আপনার ক্লাস্টার বর্ণনা করতে হবে (দেখুন
-f বিকল্প এবং kanif.conf(5))। মেশিন স্পেসিফিকেশন থেকে নেওয়া নোড বিরতি হয়
এই ফাইলে সংজ্ঞায়িত ক্লাস্টার।

একটি মেশিন স্পেসিফিকেশন হল একটি ঐচ্ছিক ক্লাস্টার নাম যার পরে একটি কোলন এবং একটি ঐচ্ছিক
পরিসীমা কোনো ক্লাস্টারের নাম না দিলে ডিফল্ট ক্লাস্টার নেওয়া হয়। সব নোড
কোন পরিসীমা দেওয়া না হলে ক্লাস্টার নেওয়া হয়। লক্ষ্য করুন যে যদি কোনটি না -n/-w, -M বা যন্ত্র
কমান্ড লাইনে স্পেসিফিকেশন দেওয়া হয়, রিমোট হোস্টগুলিকে সবই বলে ধরে নেওয়া হয়
ডিফল্ট ক্লাস্টারের নোড।

কমান্ড শরীর


এটি আহ্বান করতে ব্যবহৃত নামের উপর নির্ভর করে (কাশ, চিত্তির or kaget), কানিফ সম্পাদন করে না
একই কাজ এখানে এর বিভিন্ন আচরণ রয়েছে:

কাশ [বিকল্প] [কমান্ড লাইন]
সমস্ত দূরবর্তী হোস্টে কমান্ড লাইনের শেষ অংশটি কার্যকর করে। যদি এই শেষ অংশ
খালি, ইন্টারেক্টিভ মোডে প্রবেশ করে যার মধ্যে কানিফ কমান্ডের জন্য অপেক্ষা করে (প্রতি লাইনে একটি) অন
stdin ইন্টারেক্টিভ মোডে, কাশ থেকে প্রস্থান করতে শুধু একটি EOF অক্ষর (Ctrl-D) পাঠান।

চিত্তির [বিকল্প] src1 [src2 ...] dest
সমস্ত দূরবর্তী হোস্টে এক আকরিক আরও ফাইল বা ডিরেক্টরি অনুলিপি করে। শেষ যুক্তি হল
দূরবর্তী মেশিনে গন্তব্য ফাইল বা ডিরেক্টরির পথ। অন্যটি
আর্গুমেন্ট হল স্থানীয় ফাইল বা কপি করার ডিরেক্টরি। আচরণ এবং সীমাবদ্ধতা একই রকম
আদেশে cp(1).

kaget [বিকল্প] src1 [src2 ...] dest
সমস্ত দূরবর্তী হোস্ট থেকে এক আকরিক আরো ফাইল বা ডিরেক্টরি ডাউনলোড করুন। গত
আর্গুমেন্ট হল স্থানীয় মেশিনে গন্তব্য ডিরেক্টরির পথ। অন্যটি
আর্গুমেন্ট হল দূরবর্তী হোস্টে ফাইল বা ডিরেক্টরির পথ। প্রতিটি উৎস হতে হবে
সমস্ত দূরবর্তী হোস্টে উপস্থিত। উত্সগুলি গন্তব্য ডিরেক্টরিতে অনুলিপি করা হয়৷
তাদের নামের সাথে মূল হোস্ট যুক্ত করা হয়েছে।

ব্যবহার করার সময় লক্ষ্য করুন kaget or চিত্তির প্রতিটি ফাইল বা ডিরেক্টরি সম্পূর্ণরূপে আগে অনুলিপি করা হয়
পরবর্তী এক এগিয়ে চলুন.

উদাহরণ


যখন একটি কনফিগারেশন ফাইল সিস্টেমে বিদ্যমান থাকে বা কমান্ড লাইনে দেওয়া হয় (বিকল্প দেখুন
-f), দূরবর্তী মেশিনগুলি ক্লাস্টার নামের মাধ্যমে নির্দিষ্ট করা যেতে পারে। উদাহরণস্বরূপ, সহজ
"মেগাক্লাস্টার" নামের ক্লাস্টারের সমস্ত নোডে "ls -l" কমান্ডটি কার্যকর করতে পারে
লেখা হবে:

kash megacluster: ls -l

ব্যবধানও দেওয়া যেতে পারে। নিম্নলিখিত কমান্ডটি স্থানীয় .cshrc ফাইলকে কপি করে
ডিফল্ট ক্লাস্টারের একটি উপসেটের লগইন ডিরেক্টরি এবং আরেকটি উপসেট
"মেগাক্লাস্টার":

কাপুট :3-6 মেগাক্লাস্টার:2-5 $HOME/.cshrc।

অবশেষে, নামের একটি ফাইল সংগ্রহ করতে ডিফল্ট আচরণের সুবিধা নিতে পারে
"results.txt" এর মধ্যে রাখা হয়েছে/ tmp -র পরিবর্তে" ডিফল্ট ক্লাস্টারের সমস্ত নোডের ডিরেক্টরি
স্থানীয় ডিরেক্টরি "ফলাফল":

kaget /tmp/results.txt ফলাফল

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

kash -n localhost, সুপারনোড আপটাইম

এই শেষ কমান্ডটি শুধুমাত্র "লোকালহোস্ট" এবং "সুপারনোড" এ "আপটাইম" চালাবে। দান
ব্যবধান এবং বর্জনের তালিকা কমান্ড লাইনেও সম্ভব। নিম্নলিখিত কমান্ড
"/tmp/temporary.txt" ফাইলটি রিমোটে কপি করুন "/ tmp -র পরিবর্তে"নোড 1 এবং নোড 5 এর ডিরেক্টরি:

kaput -n node[1-6] -x node[2-4],node6 /tmp/temporary.txt / tmp -র পরিবর্তে

অবশেষে, প্রতিটি বিকল্পের বিশদ বিবরণে প্রবেশ না করে, চূড়ান্ত কমান্ডটি চিত্রিত করে
দ্য -u বিকল্প এটি 5 সেকেন্ডের মধ্যে 5 নোড থেকে "গেটওয়ে" থেকে একটি "পিং" কার্যকর করে:

কাশ -এন নোড[1-2],নোড[4-6] -ইউ 5 পিং গেটওয়ে

onworks.net পরিষেবা ব্যবহার করে অনলাইনে ক্যাশ ব্যবহার করুন


বিনামূল্যে সার্ভার এবং ওয়ার্কস্টেশন

উইন্ডোজ এবং লিনাক্স অ্যাপ ডাউনলোড করুন

লিনাক্স কমান্ডগুলি

Ad