Debian

Wednesday, July 28, 2010

Usenet

Usenet হচ্ছে একটি সমগ্র বিশ্বব্যাপী ছড়ানো একটি Internet আলোচনার পদ্ধতি।

Usenet "Bulletin board systems" এর মতো একটি পদ্ধতি এবং এটির ধারনা থেকেই পরে Internet ফোরাম এর উৎপত্তি। এটিকে "e-mail" এবং ওয়েব ফোরামের একটি সঙ্কর বলা যেতে পারে।

Usenet এবং "Bulletin board systems" অথবা Internet ফোরাম এর উল্লেখ যোগ্য ব্যবধান হচ্ছে, Usenet এ কোন কোন্দ্রীয় সার্ভার এবং পূর্ণ (dedicated) অ্যাডমিনস্ট্রেটর থাকে না।


Usenet হচ্ছে ছড়িয়ে থাকা একটি বড়, সব সময় পরিবর্তনশীল সার্ভারের সমষ্টি যা তথ্য সংরক্ষণ এবং একে অপরের সাথে তথ্য আদান প্রদান করে থাকে। এসব সার্ভার আলগাভাবে পরিবর্তনশীল mesh এ সংযুক্ত থাকে। এটি অনেকটা শহরের জটিল পরিবহণ ব্যবস্থার পরিকল্পনার মতো। শহরের যে কোন জায়গায় পৌছানো জন্য অনেক গুলো পথ রয়েছে। যদি কোন রাস্তা যেকোন কারনে বন্ধ হয়ে যায়, গন্তব্যে পৌছার জন্য সব সময় অন্য পথ খোলা আছে।

এভাবে User Network অথবা Usenet, newsgroup কে সঠিক ভাবে তাদের তথ্য  অনেকগুলো গন্তব্যে পৌছাতে সহায়তা(অনুমোদন) প্রদান করে।

সোর্স: http://en.wikipedia.org/wiki/USENET



Source:  http://commons.wikimedia.org/wiki/File:Usenet_servers_and_clients.svg
Author: Benjamin D. Esham (bdesham)

Usenet এর সার্ভারের এবং ক্লায়েন্টেদের একটি রেখাচিত্র (ডায়াগ্রাম)। সার্ভারের উপর নীল, সবুজ এবং লাল রং এর ফোটা দ্বারা তারা কোন গ্রুপের তথ্য তা বোঝানো হয়েছে। গ্রুপ থেকে তথ্য আদান প্রদান সার্ভারের মধ্যকার তীর চিহ্ন দ্বারা বোঝানো হয়েছে। সার্ভারে ব্যবহারকারী যে গ্রুপে সদস্য (চুক্তিতে আবদ্ধ) (subscribed) এবং তথ্য পাঠাতে ও নামাতে সক্ষম, এমন ব্যবহারকারী কে কম্পিউটার এবং সার্ভারের মধ্যকার তীর চিহ্ন দ্বারা বোঝানো হয়েছে।


Usenet ব্যবহার করতে চাইলে আপনাকে একটি "Usenet" newsreader এর সাহায্য নিতে হবে।
"Pan", "XPN" অথবা অন্যান্য newsreader ব্যবহার করতে পারেন:
#apt-get install pan

 


নতুন ব্যবহারকারীদের "news.announce.newusers" এবং "news.newusers.questions", newsgroup অনেক দরকারী তথ্য প্রদান করে থাকে। এছাড়া "gmane.test" newsgroup টেষ্ট করার জন্য ব্যবহার করতে পারেন।

আপনি চাইলে ডিবিয়ানের mailing lists  newsgroups এর সাহায়তার মাধ্যমে linux.debian.* hierarchy হয়ে প্রবেশ করতে পারেন।  এটিতে ওয়েব ইন্টারফেসের মাধ্যমেও করতে পারেন যেমন  Google Groups or Gmane


প্রয়োজনীয় লিংক:
http://www.dmoz.org/Computers/Usenet/
http://www.dmoz.org/Computers/Usenet/Public_News_Servers/

যেমন:
Aioe.org Public News server - A public news server which allows the users to post 25 messages per day from every IP without authentication. This is a text only server.


সোর্স:
http://en.wikipedia.org/wiki/USENET
http://www.faqs.org/faqs/usenet/what-is/part1/
http://www.how-to-usenet.com/
http://www.icewalkers.com/Linux/Howto/Usenet-News-HOWTO/index.html
http://www.debian.org/support#usenet
http://en.wikipedia.org/wiki/List_of_news_clients

Sunday, July 18, 2010

লিনাক্সের তিন বৃহৎ শক্তি

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

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

শুরুর কথা

অবশ্যই ব্যাপারটি শুরুতে এমন ছিল না। গানূহ এর যেমন একটি সূচনা রয়েছে, তেমনি রয়েছে লিনাক্সের এবং রয়েছে প্রথম ডিস্ট্রিবিউশনের ও একটি সূচনাকাল।

হ্যাঁ ঠিক, প্রথম অফিসিয়াল ডিস্ট্রিবিউশনটি ছিল এমসিসি ইনটেরিম(MCC Interim), যা ফেব্রুয়ারি ১৯৯২ তে প্রকাশিত হয়। এটিই ছিল প্রথম অফিসিয়াল ডিস্ট্রিবিউশন যা কোন কম্পিউটারে ইনস্টল করা যেত এবং লিনাক্স কার্নেল ও গানূহ ইউজারল্যান্ডসহ বের হয়। একই বছরে একটি নতুন এবং সে সময়কালের জনপ্রিয় একটি ডিস্ট্রিবিউশন তৈরী হয় যাকে আমরা সফটল্যান্ডিং লিনাক্স সিস্টেম বা সংক্ষেপে SLS হিসেবে জানি যেটি পরবর্তীকালে স্ল্যাকওয়ারের জন্ম দেয় যা প্যাট্রিক ভলকার্ডিং কর্তৃক তৈরী। বর্তমান পর্যন্ত স্ল্যাকওয়ার-ই হচ্ছে টিকে থাকা লিনাক্স ডিস্ট্রিবিউশন সমূহের মধ্যে প্রাচীনতম।
স্ল্যাকওয়ার যে সময় বিকশিত হয় সে সময়টাতে প্রায় অর্ধ ডজন ডিস্ট্রিবিউশন বিদ্যমান ছিল। তবে কয়েকমাস পর, আগস্ট ১৬, ১৯৯৩ এ, সব থেকে গুরুত্বপূর্ন ডিস্ট্রোর একটি অস্তিত্বলাভ করে, যাকে আমরা আজও স্বাধীনভাবে উন্নয়নকৃত লিনাক্সসমূহের মধ্যে প্রাচীনতম ডিস্ট্রিবিশনের মুকটধারী বলে জানি। হ্যাঁ ঠিক ধরেছেন - ডেবিয়ান। ডেবিয়ান পূর্বের করা কোন কাজের অংশবিশেষ/শাখা ছিল না, বরং আয়ান মারডক কর্তৃক তৈরীকৃত একটি স্বাধীন, নিজস্ব প্রজেক্ট ছিল। পুরোপুরি কমিউনিটি পরিচালিত ডেবিয়ান এখনো সব থেকে বৃহৎ অবানিজ্যিক লিনাক্স পরিবেশক হিসেবে বিদ্যমান।

ডেবিয়ানের জন্মের ঠিক এক বছর পর, ১৯৯৪ সালে তৃতীয় এবং চূড়ান্ত প্রভাব বিস্তারকারী সদস্য হিসেবে রেড হ্যাট লিনাক্সের দৃশ্যপটে আবির্ভাব। ডিস্ট্রিবিউশনটি মূলতঃ মার্ক ইউইং এর হাতে সৃষ্টি কিন্তু শীঘ্রই এটি বব ইয়াং এর কোম্পানি এসিসি কর্পোরেশনের সাথে একীভূত হয় যেটি রেড হ্যাটের জন্য আগে থেকেই সফটওয়্যার প্রস্তুত করে আসছিল। শুরু থেকেই রেড হ্যাট লিনাক্সকে কর্পোরেট ভুবনের কথা মাথায় রেখেই ডিজাইন করা হয়েছে। এটি লিনাক্সের একটি বানিজ্যিক বাস্তবায়ন ছিল এবং তা বর্তমানেও আছে এবং যেটি মুক্ত সফটওয়্যারকে কেন্দ্র করে নির্মিত।


জন্মলাভ করা


এ তিনটি ডিস্ট্রিবিউশন, যারা মহীরুহ স্বরূপ, একত্রে লিনাক্সের স্তম্ভ হিসেবে বিদ্যমান । ভিন্ন ভিন্ন টেকনোলজি এবং নতুন ধারা সৃষ্টির মাধ্যমে তারা প্রত্যেকেই একেকটি ধারার নেতৃত্ব প্রদান করে চলেছে যা আমাদের নিত্য সঙ্গী। লিনাক্সকে আজকের অবস্থানে নিয়ে আসার পিছনে তাদের রয়েছে এক সুদীর্ঘ পথ পাড়ি দেয়ার সুস্পষ্ট নিদর্শন।
শুধুমাত্র প্রাচীনতম হিসেবে টিকে থাকাই নয়, এর সাথে তারা প্রত্যেকেই এক একটি বৃহৎ গোষ্ঠীর অপারেটিং সিস্টেমের জন্মদাতাও বটে। অবশ্য এর পাশাপাশি কিছু গুরুত্বপূর্ন স্বাধীন ডিস্ট্রিবিউশন রয়েছে যেমনঃ আর্চ, ক্রাক্স, গেন্টু, লিনাক্স ফ্রম স্ক্রাচ, পাপ্পি, রক, টাইনি কোর, ইয়োপার এবং উল্লেখযোগ্য আরো কয়েকটি। তবে, এ লিংকের গানূহ/লিনাক্স ডিস্ট্রোর টাইমলাইন ছবি থেকে উপরোক্ত ডিস্ট্রো তিনটির প্রভাব সম্পর্কে সহজেই অনুমান করা যায়।

ডিস্ট্রোওয়াচের দেয়া তথ্য অনুযায়ী স্ল্যাকওয়ার থেকে ৬৬টি ডিস্ট্রিবিউশন তৈরী হয়েছে। রেড হ্যাট থেকে সরাসরি বিকশিত হয়েছে ৪০টির মত (অন্যদের উপর অথবা ফেডোরা থেকে হয়েছে ৮০টির কাছাকাছি), যেখানে মহিমান্বিত প্রপিতামহ ডেবিয়ান এর ক্ষেত্রে সংখ্যাটি ২৫০! চূড়ান্তভাবে ধরা যায় যে, আজকের দিনে প্রচলিত বেশীরভাগ লিনাক্স ডিস্ট্রিবিউশন কোন না কোনভাবে এ মূল তিনটির উপর ভিত্তি করে তৈরী।

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

স্ল্যাকওয়্যার - একক নেতৃত্ব

এক দিক থেকে বলা যায়, স্ল্যাকওয়ার পূর্বের মতই বর্তমানেও একক নেতৃত্বের এক সফল প্রদর্শন। প্যাট্রিক ভলকার্ডিং ডিস্ট্রিবিউশনটি তৈরী করেন এবং আজও তার নিয়ন্ত্রনে রয়েছে এটি। অবশ্য, তার পরিমন্ডলে রয়েছে একটি চমৎকার এবং নিবেদিত টীম কিন্তু তিনিই একমাত্র ব্যক্তি যিনি কোন লক্ষ্য নির্ধারন করে থাকেন।

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

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

সম্প্রতি এটি ৬৪-বিট এবং ARM আর্কিটেকচারের জন্যও সাপোর্ট দিতে শুরু করেছে, কিন্তু এর পূর্বে এটি শুধুমাত্র ৩২-বিট এর প্রতিই বেশী মনোযোগী ছিল। এটি শুধুমাত্র একটি গুরুত্বপূর্ন ডেস্কটপ এনভারোনমেন্ট সাপোর্ট করে আর তা হল, কেডিই, যদিও অন্যান্য ডেস্কটপ যেমনঃ গানোম কমিউনিটি দ্বারা সাপোর্টেড।

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


ডেবিয়ান- গর্বিত কমিউনিটি

ডেবিয়ানের রয়েছে এক সূদীর্ঘ গর্বিত ইতিহাস। এটি সারাবিশ্বের বিভিন্ন কমিউনিটির স্বেচ্ছাসেবক দ্বারা পরিচালিত, যেখানে রয়েছে এক হাজারের উপর উন্নয়নকারী যারা মুক্ত সফটওয়্যারের পক্ষ থেকে সর্বোৎকৃষ্ট অপারেটিং সিস্টেম প্রদানে সমন্বিত প্রয়াস অব্যাহত রেখেছে। ডেবিয়ান অনন্য/অদ্বিতীয় কারন এটি এর নিজস্ব গঠনতন্ত্র দ্বারা নিয়ন্ত্রিত হয়, যাকে সোশ্যাল কন্ট্রাক্ট বা সামাজিক চুক্তি বলে, যা মূলতঃ মুক্ত সফটওয়্যার এর গাইডলাইন এবং নীতির সমন্বয়। এজন্যই এর প্রাতিষ্ঠানিক কাঠামো এত মজবুত যেখানে একজন নির্বাচিত দলনেতা সহ সেক্রেটারি এবং টেকনিক্যাল টীম থাকে। নেতৃত্ব নির্বাচন প্রক্রিয়া বছরে একবার অনুষ্ঠিত হয়।

স্ল্যাকওয়ারের মত ডেবিয়ান নেতা সর্বময় ক্ষমতার অধিকারী নন। প্রকৃতপক্ষে কোন সাধারন প্রস্তাবনার মাধ্যমে, ডেভেলপার বা উন্নয়নকারীগন কোন সিদ্ধান্ত বদলে দেয়া থেকে শুরু করে নেতৃত্ব অপসারন এমনকি গঠনতন্ত্র পর্যন্ত পরিবর্তন করতে পারেন। ডেভেলপারগন কোন গুরুত্বপূর্ন ইস্যুর উপর ভোট প্রদান করতে পারেন যা প্রজেক্টকে প্রভাবিত করে থাকে (যেমন কোন বাইনারি ফার্মওয়্যার অন্তর্ভুক্ত করা হবে কিনা)।

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

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

এছাড়াও স্ল্যাকওয়ার এর মত কেবল এক/দুটি আর্কিটেকচার নয় বরং ১১টি ভিন্ন ভিন্ন আর্কিটেকচার সাপোর্ট করে ডেবিয়ান, যার সাথে আরো ৫টি নতুন আর্কিটেকচার অচিরেই যুক্ত হতে যাচ্ছে। এটি ২৫০০০ এর ও বেশী প্যাকেজসহ ছাড়া হয়েছে যা প্যাকেজ ব্যবস্থাপনা সিস্টেমের সহায়তায় সর্বদা ইনস্টলের জন্য প্রস্তুত। নির্ভরযোগ্য বৈশিষ্ট্য এবং বহু সংখ্যক আর্কিটেকচার সাপোর্টের জন্য ডেবিয়ান ব্যাপকভাবে ডেস্কটপ, সার্ভার এবং এম্বডেড সিস্টেমে ব্যবহৃত হয়ে থাকে।

যদি ডেবিয়ান প্রজেক্টের অর্জন হিসাব করেন তবে তা সত্যিই অতুলনীয়। এর দৃঢ় ভিত্তি এবং কাঠামো ডেবিয়ানের সাফল্যে গুরুত্বপূর্ন অবদান রেখেছে এবং উবুন্তুর মত অন্যান্য ডিস্ট্রিবিউশনের জন্য এক চমৎকার পছন্দের ভিত্তি তৈরী করেছে।

রেড হ্যাট- বানিজ্যিক উপস্থিতি

শুরু থেকেই রেড হ্যাট লিনাক্স লিনাক্সের একটি বানিজ্যিকীকরন হিসেবে বিবেচিত হয়ে আসছে। আজ ও পর্যন্ত সহায়তা সেবা প্রদান, প্রশিক্ষন এবং বিভিন্ন সেবা সমন্বিতকরনের মাধ্যমে এটি চমৎকার সাফল্য দেখিয়ে চলেছে। রেডহ্যাটের জনপ্রিয়তার একটি বড় কারন হচ্ছে কর্পোরেট পরিবেশে একটি সাপোর্টেড লিনাক্স ডিস্ট্রিবিউশন হিসেবে এর ব্যাপক ব্যবহার। রেডহ্যাট লিনাক্সের উপর শত শত কোর্স চালু রয়েছে এবং বহুদিন যাবত রেডহ্যাটকে লিনাক্সের সমার্থক হিসেবে ভাবা হতো।
রেড হ্যাটের অফিসিয়াল কমার্শিয়াল ডিস্ট্রিবিশন - রেড হ্যাট এন্টারপ্রাইজ লিনাক্স (আরএইচইএল) এবং অন্যরা যেমন ফেডোরা এর মধ্যে পার্থক্যটা ফুটিয়ে তোলা জরুরী। RHEL কে রেডহ্যাটের কাছ থেকে কেনার সময় শুধুমাত্র বাইনারী ফর্মে পাওয়া যায় যা অন্য দু’ডিস্ট্রিবিউশনের তুলনায় ভিন্ন। তবে পুরো অপারেটিং সিস্টেমের সোর্স কোড উম্মুক্ত এবং এটি থেকে আরো বেশ কিছু ডিস্ট্রিবিউশন বিকশিত হয়েছে (যেমনঃ সেন্ট ওএস)।

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

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

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

উপসংহারে


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

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

এ তিনটি ডিস্ট্রিবিউশনের প্রতি কৃতজ্ঞতাসহ শেষ করছি যাদের জন্য আমাদের রয়েছে বহু বছর ধরে গড়ে ওঠা এক সমৃদ্ধ সংস্কৃতি এবং ইতিহাস।

Saturday, July 17, 2010

ইন্টারনেট রিলে চ্যাট

ওপেন সোর্সে (উন্মুক্ত উৎসের) যে কোন ধরনের সমস্যা নিয়ে সরাসরি ব্যবহারকারী,ডেভলোপারদের সাথে কথা বলতে চাইলে সবচেয়ে ভালো উপায় হচ্ছে IRC chat.


আপনার সিস্টেমে কোন chat প্রোগ্রাম না ইন্সটল করা থাকলে প্রথমে তা ইন্সটল করে নিন:
#apt-get install xchat


১। XChat প্রোগ্রাম চালু করুন:




২। FreeNode অথবা আপনার পছন্দ অনুযায়ী সার্ভার বাছাই করে "Connect' করুন:


৩। "Connect" করা হয়ে গেলে এটি আপনাকে "channel" এর অপশন দিলে "Join this channel" অপশনে #debian অথবা আপনার প্রোয়োজন আনুসারে "channel" (যেমন: ubuntu, fedora ইত্যাদি) এর নাম দিন:


৪। দরকার অনুযায়ী প্রশ্ন করুন। সমস্যা বলার আগে সার্চ করে দেখুন।


বিনয়ের সাথে সমস্যার কথা বলুন এবং যথাসম্ভব সুনির্দিষ্ট ভাবে বলার চেষ্টা করুন। আপনার সিস্টেমের ভর্সন এবং কি কমান্ড দিচ্ছেন তা বলুন এবং ধর্য্য ধরুন। সবসময় চেষ্টা করুন ১ লাইনে লেখার।


কি ভাবে ভালো প্রশ্ন জিজ্ঞাসা  করতে হয় বিস্তারিত দেখুন:
http://www.catb.org/~esr/faqs/smart-questions.html


বোকা:
    HELP! Video doesn't work properly on my laptop!


বুদ্ধিমান:
    X.org 6.8.1 misshapen mouse cursor, Fooware MV1005 vid. chipset


অতিবুদ্ধিমান (ব্যাঙ্গার্থে নয়):
    X.org 6.8.1 mouse cursor on Fooware MV1005 vid. chipset - is misshapen


৫। একসাথে ২ লাইনের বেশি কোন লেখা পেষ্ট করা থেকে বিরত থাকুন। এ জন্য http://paste.debian.net/ http://pastebin.ca/ http://pastie.org/ http://pastebin.com/ অথবা http://picpaste.com/ ছবির জন্য। সর্বোচ্চ ১০০ মেগাবাইট (যেমন tar.gz) এর জন্য wikisend.com ব্যবহার করতে পারেন।
চ্যানেলে শুধু মাত্র URL টি দিন।


আপনার সমস্যার বিবরন একসাথে ৪ লাইনের বেশি হওয়া যাবে না (সয়ংক্রিয় রোবেট ৪ লাইনের বেশি যেকোন ব্যবহারকারীকে রুম থেকে বের করে দিবে)।


রিপাই করার সময় যাকে উদ্দশ্য করে লিখছেন তার নাম এর পর ":" দিয়ে উত্তর দিন।
যেমন "unix" নামের যে কোন ব্যবহারকারী কে "ok" রিপ্লাই দিতে:
unix: ok
৬। পরে অন্য কোন চ্যানেলে যেতে চাইলে
/join #fedora
৭। FAQ দেখে নিন:
http://freenode.net/faq.shtml
http://freenode.net/policy.shtml
http://freenode.net/channel_guidelines.shtml


৮। ডেবিয়ান চ্যানেল সম্বন্ধে জানতে হলে:
http://wiki.debian.org/IRC
http://wiki.debian.org/DebianIRCChannelGuidelines

Thursday, March 04, 2010

ডেবিয়ান প্যাকেজ সিস্টেম পরিচালনা/সফটওয়্যার ইনস্টলের কমান্ডসমূহ

উইন্ডোজে সফটওয়্যার ইনস্টল করার জন্য বিখ্যাত setup.exe ফাইল এর সাথে আমরা সবাই কমবেশী পরিচিত। আর এ সিস্টেমে অভ্যস্ত হওয়ার কারনে লিনাক্স এ প্যাকেজ/প্রোগ্রাম ইনস্টল করা বেশ ঝামেলাপূর্ণ মনে হয় আমাদের কাছে। তবে আজকাল লিনাক্সে কিছু গ্রাফিক্যাল ইনস্টলার থাকার কারনে এটি উইন্ডোজ এ ইনস্টল করার মতই সহজ হয়ে এসেছে। তারপরও কমান্ড লাইন ইন্টারফেস ব্যবহার করা কিছু কিছু ক্ষেত্রে সুবিধাজনক এবং কিছু অপশন শুধুমাত্র কমান্ড লাইন অপশনেই কাজ করে। তাই এটি শিখে রাখা লিনাক্স এ্যাডমিনিস্ট্রেশনের জন্য বেশ গুরুত্বপূর্ন।

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

যেমনঃ .deb এক্সটেনশনযুক্ত ফাইল দিয়ে প্যাকেজ ইনস্টলের জন্য আপনাকে dpkg কমান্ড দিতে হবে। আবার সিডি, ডিভিডি বা ডেবিয়ান এর সার্ভার থেকে ইনস্টলের জন্য apt-get এবং aptitude কমান্ড দুটি ব্যবহৃত হয়। কিন্তু এ কমান্ডগুলি কিভাবে খুজে নেয় যে প্যাকেজটি কোথায় আছে? এজন্য একটি টেক্সট ফাইল আছে যার নাম ও পাথ হচ্ছে- /etc/apt/sources.list । এ ফাইলে যে এন্ট্রিগুলি আছে তা থেকেই এ কমান্ডগুলি প্যাকেজ ইনস্টল করে থাকে। তাই প্রথমেই এ ফাইলটি কাস্টমাইজ কিভাবে করা যায় আমরা তা দেখব।
  • বেসিক কনফিগারেশন
/etc/apt/sources.list ফাইলে যে ফরম্যাটে ডাটাগুলি থাকে তা নিম্নরূপঃ

deb http://host/debian distribution section1 section2 section3
deb-src http://host/debian distribution section1 section2 section3

উপরে যে এন্ট্রিগুলি দেওয়া হয়েছে তা অবশ্যই কাল্পনিক এবং তা ব্যবহারের জন্য নয়-বোঝার জন্য। প্রত্যেকটি লাইনের প্রথম শব্দ deb অথবা deb-src দ্বারা আর্কাইভের প্রকারভেদকে বোঝায়- অর্থাৎ এটি কি বাইনারি প্যাকেজ (deb), যেটি সাধারনত আমরা প্রিকম্পাইল্ড হিসেবে ব্যবহার করে থাকি অথবা সোর্স প্যাকজ (deb-src) কি-না যেটি অরিজিনাল সোর্স ফাইল, ডেবিয়ান কন্ট্রোল ফাইল (.dsc) এবং diff.gz ফাইল থাকে যেখানে প্রোগ্রামটিকে ডেবিয়ান স্ট্যান্ডার্ড করতে কি কি করা দরকার তার লিস্ট থাকে।

আমরা সাধারনত ডেবিয়ান এর sources.list ফাইলে নিচের তথ্য অনুযায়ী পেয়ে থাকিঃ

# See sources.list(5) for more information, especially
# Remember that you can only use http, ftp or file URIs
# CDROMs are managed through the apt-cdrom tool.
deb http://http.us.debian.org/debian stable main contrib non-free
deb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
deb http://security.debian.org stable/updates main contrib non-free

# Uncomment if you want the apt-get source function to work
#deb-src http://http.us.debian.org/debian stable main contrib non-free
#deb-src http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free


এ কয়টি লাইন-ই সাধারনত একটি বেসিক ডেবিয়ান ইনস্টল করার জন্য প্রয়োজন। প্রথম লাইনটি ডেবিয়ান এর অফিসিয়াল আর্কাইভকে-ই নির্দেশ করে থাকে, দ্বিতীয় লাইনটি non-us আর্কাইভকে নির্দেশ করে এবং তৃতীয় লাইনটি ডেবিয়ান সিকিউরিটি আপডেট এর জন্য।

শেষের দুটি লাইনকে উপেক্ষা করার জন্য সামনে একটি # চিহ্ন দেয়া আছে। ফলে apt-get এটিকে কমেন্ট হিসেবে উপেক্ষা করবে। এগুলিই হচ্ছে deb-src লাইনসমূহ যা ডেবিয়ান এর প্যাকেজ সোর্স হিসেবে কাজ করে থাকে। যদি আপনি মাঝে মাঝে প্রোগ্রাম এর মূল সোর্স কোড ডাউনলোড করে থাকেন টেস্টিং এর জন্য বা রি-কম্পাইল করার জন্য তাহলে এগুলিকে আনকমেন্ট করে দিন অর্থাৎ সামনের # চিহ্নটি উঠিয়ে দিন।
যদি নতুন সিডি/ডিভিডি যোগ করতে চান তবে সিডি/ডিভিডি রমে সিডি/ডিভিডি ঢুকিয়ে নিচের কমান্ডটি দিনঃ

apt-cdrom add

এর ফলে নতুন সিডি/ডিভিডি sources.list ফাইলে যোগ হবে।


/etc/apt/sources.list ফাইলটিতে আরো কিছু লাইন থাকতে পারে। APT বিভিন্ন ধরনের আর্কাইভ যথা http, ftp, file (লোকাল ফাইলসমূহ, e.g., একটি ডিরেক্টরী বা ফোল্ডার যেটি ISO9660 টাইপের ফাইলকে মাউন্ট করেছে) এবং ssh নিয়ে কাজ করতে পারে।

/etc/apt/sources.list ফাইল এ পরিবর্তন করার পর apt-get চালাতে যেন ভুলবেন না। এটি অবশ্যই জরুরী কারন যা আপনি নতুন সোর্স হিসেবে দিলেন সেটি থেকে APT কে প্যাকেজ ডাউনলোড করতে সক্ষম করে। অন্যথায় APT আপনার দেয়া তথ্য পাবে না।

যখন আপনি কোন প্যাকেজ বা প্রোগ্রাম ইনস্টল করেন তখন APT যে সমস্ত ফাইলগুলি প্রয়োজন তা /etc/apt/sources.list এ বর্নিত হোস্টগুলি থেকে ডাউনলোড করে তারপর /var/cache/apt/archives/ এ সেভ করে থাকে এবং সবশেষে ইনস্টলেশন প্রক্রিয়া শুরু করে।
প্রধান প্যাকেজ ম্যানেজমেন্ট টুলসমূহঃ ডেবিয়ান এ বেশ কিছু প্যাকেজ ম্যানেজমেন্ট টুলস ব্যবহার করা হয়।

প্রধান প্রধান টুলসগুলি হচ্ছেঃ

dpkg – ডেবিয়ান প্যাকেজ ফাইল ইনস্টলার
apt-get – APT এর জন্য কমান্ড লাইন ইন্টারফেস
aptitude – APT এর জন্য এ্যাডভ্যান্সড টেক্সট এবং কমান্ড লাইন বেসড ইন্টারফেস
synaptic – APT এর জন্য Gtk GUI বেসড ইন্টারফেস
dselect – মেনুভিত্তিক প্যাকেজ ম্যানেজার
tasksel – টাস্ক ইনস্টলার
  • apt দ্বারা সফটওয়্যার ইনস্টলের জন্য কমান্ড
#apt-get install software

-h সাহায্য দেখার জন্য
-d শুধুমাত্র ডাউনলোড এর জন্য- ইনস্টল বা আর্কাইভ খোলার জন্য নয়
-f যদি ইনটেগ্রিটি ফেইল করে তারপর চালানোর জন্য
-s শুধুমাত্র সিমুলেশন এর জন্য। কোন প্যাকেজ ইনস্টল হবে না।
-y সব অপশনের ইয়েস সিলেক্ট করবে অটোমেটিক এবং কোন প্রম্পট দেখাবে না
-u সমস্ত আপগ্রেডেড প্যাকেজসমূহ দেখার জন্য
যদি কোন ইনস্টলকৃত প্রোগ্রাম নষ্ট হয়ে যায় অথবা যদি আপনি কোন সফটওয়্যার এর নতুন ভার্সন ইনস্টল করতে চান পুরনোটি বাদ দিয়ে তাহলে আপনি --reinstall কমান্ডটি ব্যবহার করতে পারেন নিচের মতঃ

# apt-get --reinstall install packagename

আপনার sources.list ফাইল এর প্যাকেজসমূহ এর লিস্ট নবায়ন করতে নিচের কমান্ডটি দিনঃ
#apt-get update

apt এর সাহায্যে সফটওয়্যার আপডেট করার জন্য নিচের কমান্ডঃ
#apt-get -u upgrade

apt এর মিরর লিস্ট সমূহ পরিবর্তন করার কমান্ড
#apt-setup

প্যাকেজ বা প্রোগ্রাম খুজতে হলে কমান্ড
#apt-cache search package

apt দিয়ে প্রোগ্রাম আনইনস্টল করার কমান্ড
#apt-get remove software

  • কিছু শর্টকার্ট কমান্ড
প্যাকেজ লিস্ট আপডেট করার কমান্ড
# apt-get update

বর্তমান লভ্য প্যাকেজ লিস্ট আপডেট করুন
# dselect update

ইনস্টলকৃত প্যাকেজ আপডেট করুন
# apt-get upgrade

প্যাকেজ ইনস্টল এর কমান্ড
# apt-get install pkg

প্যাকেজ আনইনস্টল করুন
# apt-get remove pkg

সমস্ত ইনস্টলকৃত এবং রিমুভকৃত প্রোগ্রাম দেখার জন্য
#dpkg -l

প্যাকেজ এর ইনস্টল স্ট্যাটাস দেখুন
#dpkg -l pkg

সমস্ত প্যাকেজ দেখুন যেগুলি প্যাটার্ন এর সাথে মিলে যায়
#dpkg -S pattern

প্যাকেজ লিস্ট দেখার জন্য যে অক্ষরগুলির সাথে মিলে
#dpkg

প্যাকেজ এ যে সমস্ত ফাইল আছে তার লিস্ট দেখার জন্য
#dpkg -L pkg

প্যাকেজ এর বর্তমান স্ট্যাটাস দেখার জন্য
#dpkg -s pkg
প্যাজেক এর বিস্তারিত দেখার জন্য
#dpkg -p pkg

প্রাসঙ্গিক প্যাকেজ লিস্ট দেখার জন্য
#apt-cache search string

ডেব ফাইল থেকে প্যাকেজ ইনস্টল করার জন্য
# dpkg -i file.deb

প্যাকেজ শুদ্ধিকরন করা
# dpkg -P pkg

একটি প্যাকেজকে পুনরায় কনফিগার করার জন্য
# dpkg-reconfigure pkg

প্যাকেজ এর সোর্স কোড পাওয়ার জন্য
# apt-get source pkg

build-deps কনফিগার করুন সোর্স এর জন্য এবং যেমন প্রয়োজন ইনস্টল করুন
# apt-get build-dep

কোন বিশেষ রিলিজড ভার্সন ইনস্টল করুন
# apt-get -t release install pkg

bootup এর সময় রান হওয়া বন্ধ করার জন্য
# update-rc.d -f name remove

ডিস্ট্রিবিউশন আপগ্রেড করুন
# apt-get –u dist-upgrade

  • কি করে জানতে হবে যে কোন কোন প্যাকেজ সমূহ আপগ্রেড করা প্রয়োজন
apt-show-versions এমন একটি প্রোগ্রাম যার সাহায্যে সিস্টেম এ কোন কোন প্রোগ্রাম আপডেট করা প্রয়োজন তা দেখা যায় এবং আরো বেশ কিছু দরকারী তথ্য ও দেখা যায়।

-u অপশনটি যে সমস্ত প্যাকেজ আপগ্রেড করা সম্ভব তার লিস্ট দেখিয়ে থাকে যার কমান্ডটি হচ্ছে নিম্নরূপঃ
# apt-show-versions -u
APT অর্থাৎ এ্যাডভান্সড প্যাকেজ টুল এর টেক্সট মোডের ক্ষেত্রে পছন্দনীয় কমান্ড হচ্ছে aptitude। এটি আপনি কোন প্যাকেজগুলি ইচ্ছানুযায়ী ইনস্টল করেছেন এবং কোন প্যাকেজগুলি ডিপেনডেন্সী হিসেবে ডাউনলোড করেছেন তা মনে রাখে। ডিপেনডেন্সী প্যাকেজগুলি স্বয়ংক্রিয়ভাবে সে আনইনস্টল করে যখন এগুলি আর কোন প্যাকেজ কর্তৃক প্রয়োজন হয় না। এটির আরো উন্নত ধরনের প্যাকেজ ফিল্টারিং সিস্টেম রয়েছে তবে সেটি কনফিগার করাটা কিছুটা কঠিন মনে হতে পারে।

aptitude update: বর্তমান এ সহজলভ্য প্যাকেজসমূহের লিস্ট আপডেট করে থাকে (পূর্বের কমান্ড apt-get update.)

aptitude upgrade: সহজলভ্য প্যাকেজসমূহকে আপগ্রেড করে থাকে (পূর্বের কমান্ড apt-get upgrade).

aptitude dist-upgrade: আপগ্রেড করার জন্য বিভিন্ন কম্পোনেন্টস মুছে ফেলার দরকার হলেও করবে (পূর্বের কমান্ড apt-get dist-upgrade).

aptitude install pkgname: প্যাকেজ ইনস্টলের কমান্ড (পূর্বের কমান্ড apt-get install).

aptitude remove pkgname: প্যাকেজ আনইনস্টলের কমান্ড (পূর্বের কমান্ড apt-get remove).

aptitude purge pkgname: প্যাকেজ এবং কনফিগ ফাইল সবকিছু রিমুভ করবে (পূর্বের কমান্ড apt-get –purge remove).

aptitude search string: প্যাকেজ সার্চের কমান্ড - “string” সম্বলিত নাম অথবা বর্ননা রয়েছে এমন প্যাকেজ খুজে বের করে (পূর্বের কমান্ড apt-cache search string).

aptitude show pkgname: একটি প্যাকেজের বিস্তারিত দেখার জন্য(পূর্বের কমান্ড apt-cache show pkgname).

aptitude clean: ডাউনলোডকৃত প্যাকেজ ফাইল মুছে ফেলার জন্য (পূর্বের কমান্ড apt-get clean).

aptitude autoclean: বর্তমান প্রচলিত ভার্সনগুলি রেখে অপ্রচলিত প্যাকেজ ফাইলগুলি মুছে ফেলবে (পূর্বের কমান্ড apt-get autoclean).

aptitude hold pkgname: একটি প্যাকেজকে তার ভার্সনেই অক্ষুন্ন রেখে সমস্যাগুলি ঠিক করবে এবং স্বয়ংক্রিয়ভাবে আপডেট করবে না (পূর্বের কমান্ড an obscure echo-to-file command). unhold ব্যবহার করুন যেটি hold আছে সেটিকে unhold করতে।

  • একটি কার্যকরী sources.list
একটি জাকালো পদক্ষেপই খুব ভালো মানের একটি sources.list ফাইল তৈরীর জন্য যথেষ্ট নয়। বরং আপনার সবচেয়ে নিকটে অবস্থিত এমন কোন সাইট পছন্দ করাই সব থেকে ভাল apt-setup ব্যবহারের মাধ্যম।

apt-spy sources.list স্বয়ংক্রিয়ভাবে তৈরী করে থাকে ব্যান্ডউইথ এবং পর্যাপ্ত সাড়া প্রদানের উপর নির্ভর করে।

netselect-apt আরো পূর্নাঙ্গ sources.list তৈরী করে থাকে, কিন্তু পিং টাইম তুলনা সিস্টেমে তা করে যা মোটেও মানসম্পন্ন কোন পদ্ধতি নয়।

# aptitude install apt-spy
# cd /etc/apt ; mv sources.list sources.list.org
# apt-spy -d testing -l sources.apt


  • dpkg-divert কমান্ড

ফাইল ডাইভারশন পদ্ধতির সাহায্যে একটি ফাইলকে তার ডিফল্ট লোকেশনে ইনস্টল না করে অন্য কোন লোকেশনে ইনস্টল করা যায়। ডেবিয়ান প্যাকেজ স্ক্রিপ্টের সাহায্যে একটি ফাইলকে সরিয়ে নেয়া যায় ডাইভারশন পদ্ধতির সাহায্যে যখন এটি কোনভাবে কনফ্লিক্ট করে থাকে। সিস্টেম অ্যাডমিনিস্ট্রেটরগন ডাইভারশন সিস্টেম ব্যবহারের মাধ্যমে একটি প্যাকেজ এর কনফিগারেশন ফাইলগুলি বদলে দিতে পারেন, অথবা কিছু ফাইলকে যদি dpkg কর্তৃক সংরক্ষিত করা দরকার হয়ে থাকে- একটি নতুন ভার্সনের প্যাকেজ ইনস্টলের সময়ে যখন ঐ প্যাকেজে এ ফাইলগুলি থাকতে পারে।

# dpkg-divert [--add] filename # add "diversion"
# dpkg-divert --remove filename # remove "diversion"


  • যদি dpkg কমান্ড এর কাজ সঠিকভাবে সম্পন্ন না হয় তখন কি করবেন?

একটি অসম্পন্ন dpkg যেকোন .deb ফাইলের ইনস্টলের ক্ষেত্রে প্রতিবন্ধকতা হয়ে দাড়াতে পারে। নিচের বর্নিত পদ্ধতির সাহায্যে আপনি এ সকল অবস্থা থেকে পরিত্রান পেতে পারেন। (প্রথম লাইনে "links" এর জায়গায় আপনার পছন্দের ব্রাউজার কমান্ড এর নাম দিতে পারেন)

$ links http://http.us.debian.org/debian/pool/main/d/dpkg/
... download the good dpkg_version_arch.deb
$ su
password: *****
# ar x dpkg_version_arch.deb
# mv data.tar.gz /data.tar.gz
# cd /
# tar xzfv data.tar.gz

i386 এর জন্য http://packages.debian.org/dpkg লিংকটি URL হিসেবে ব্যবহার করা যেতে পারে।

  • লোকাল প্যাকেজ আর্কাইভ তৈরী করা
APT এবং dselect সিস্টেম এর সাথে সংগতিপূর্ন লোকাল প্যাকেজ আর্কাইভ তৈরী করার জন্য প্রথমেই প্যাকেজগুলিকে তৈরী করতে হবে তারপর সেটি একটি নির্দিষ্ট ডিরেক্টরীতে রাখতে হবে।

নিচের পদ্ধতির সাহায্যে ডেবিয়ান এর অফিসিয়াল আর্কাইভের মত একটি লোকাল ডেব রিপজিটরী তৈরী করা যেতে পারেঃ

# aptitude install dpkg-dev
# cd /usr/local
# install -d pool # ফিজিক্যাল প্যাকেজ সমূহ এখানে অবস্থিত
# install -d dists/unstable/main/binary-i386
# ls -1 pool | sed 's/_.*$/ priority section/' | uniq > override
# editor override # adjust priority and section
# dpkg-scanpackages pool override /usr/local/ \
> dists/unstable/main/binary-i386/Packages
# cat > dists/unstable/main/Release <<>> /etc/apt/sources.list


  • দ্রুত ডেব রিপজিটরী নিচের ভিন্ন পদ্ধতিতেও করা যায়ঃ
# aptitude install dpkg-dev
# mkdir /usr/local/debian
# mv /some/where/package.deb /usr/local/debian
# dpkg-scanpackages /usr/local/debian /dev/null | \
gzip - > /usr/local/debian/Packages.gz
# echo "deb file:/usr/local/debian ./" >> /etc/apt/sources.list


এ আর্কাইভকে আপনি HTTP বা FTP এর মাধ্যমে দূর থেকে ও ব্যবহার করতে পারবেন তবে সেক্ষেত্রে /etc/apt/sources.list ফাইলে একইসাথে পাথ দেখিয়ে দিতে হবে।

  • auto-apt কমান্ড

auto-apt হচ্ছে একটি চাহিদা মাফিক প্যাকেজ ইনস্টলেশন টুলস।

$ sudo auto-apt update
... update database
$ auto-apt -x -y run
Entering auto-apt mode: /bin/bash
Exit the command to leave auto-apt mode.
$ less /usr/share/doc/med-bio/copyright # access non-existing file
... Install the package which provide this file.
... Also install dependencies

  • প্যাকেজ ম্যানেজমেন্ট এর সাধারন সমস্যাসমূহ

সমস্যা যেকোন সময়ই হতে পারে কিন্তু বেশীরভাগ ক্ষেত্রেই যথাযথ ভাবে ব্যবহারকারীর মনোনিবেশ না করার কারনেই তা হয়ে থাকে। নিচে কিছু সমস্যা যা প্রায়ই ঘটে থাকে তার রিপোর্ট এবং কিভাবে তার সমাধান করতে হবে তা দেয়া হলঃ

apt-get install package কমান্ড দেয়ার সময় যদি আপনি নিচের মত ম্যাসেজ পেয়ে থাকেন

Reading Package Lists... Done
Building Dependency Tree... Done
W: Couldn't stat source package list 'http://people.debian.org unstable/ Packages' (/var/state/apt/lists/people.debian.org_%7ekov_debian_unstable_Packages) - stat (2 No such file or directory)
W: You may want to run apt-get update to correct these missing files
E: Couldn't find package penguineyes


তাহলে আপনি apt-get update কমান্ড দিতে ভুলে গিয়েছিলেন /etc/apt/sources.list ফাইলে সর্বশেষ পরিবর্তনের পর।

যদি নিচে মত সমস্যা দেখায়ঃ

E: Could not open lock file /var/lib/dpkg/lock - open (13 Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
when trying any apt-get method other than source, you don't have root permission, that is, you're running as a normal user.


উপরের মত সমস্যা দেখা যায় যদি আপনি apt-get এর দুটো কপি একই সাথে চালাতে যান অথবা এমনকি যদি dpkg প্রসেস চালু থাকা অবস্থায় apt-get চালাতে যান । একমাত্র সোর্স মেথড ই একসাথে একের অধিক চলতে পারে অন্যগুলি নয়।

যদি কোন প্রসেস হঠাৎ করেই বন্ধ হয়ে যায় এবং যদি দেখেন যে প্যাকেজটিকে ইনস্টল বা রিমুভ কোনটিই করা যাচ্ছে না তখন নিচের দুটি কমান্ড ব্যবহার করে চেষ্টা করতে পারেনঃ

# apt-get -f install
# dpkg --configure -a


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

যদি আপনি "E: Dynamic MMap ran out of room" এ এররটি পান apt-get update কমান্ড চালানোর সময় তবে নিচের লাইনটি /etc/apt/apt.conf ফাইলে যোগ করুনঃ

APT::Cache-Limit 10000000;

লিনাক্স অপারেটিং সিস্টেম এর প্রাথমিক ধারনা-২

আজ এ সিরিজের ২য় পর্ব পোস্ট করতে যাচ্ছি। এখানে আমি শুধুমাত্র লিনাক্স অপারেটিং সিস্টেম এর বেসিক ধারনাগুলি নিয়ে আলোচনা করার চেষ্টা করছি যাতে ভবিষ্যতে এটি একটি ভিত্তি হিসেবে নতুন লিনাক্স ব্যবহারকারীদেরকে কিছুটা দিক নির্দেশনা দিতে পারে। কারন আমার অভিজ্ঞতায় দেখেছি- নতুন যারা লিনাক্স শেখা শুরু করেন প্রায়ই বলে থাকেন- কোন লিনাক্স(ডিস্ট্রো) ব্যবহার করব, কোথা থেকে শুরু করব, কি কি শিখব, সব তো দেখি কমান্ড লাইন ইত্যাদি ইত্যাদি। অনেকে আবার কিছু কমান্ড এর লিস্ট ধরিয়ে দেন এবং বলেন যে, প্র্যাকটিস করতে থাকেন। কিন্তু একটি সিস্টেম এর উপর পূর্নাঙ্গ ধারনা থাকলে সহজেই টার্গেট ঠিক করে এগিয়ে যেতে পারবেন যেমন- আমি কোন ডিস্ট্রিবিউশনটি ব্যবহার করব, কি কি শিখব, কেন শিখব- এ রকম আরো প্রশ্নের জবাব এখানে আশা করি পেয়ে যাবেন। তারপরও ভুল ত্রুটি থাকতে পারে, সীমাবদ্ধতা থাকতে পারে- তা আগে থেকেই স্বীকার করে নিচ্ছি।
:-p


লিনাক্স ব্যবহার

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

লিনাক্স দিয়ে আপনি নিচের কাজগুলি করতে পারেনঃ

  • ডেস্কটপ অপারেটিং সিস্টেম হিসেবে সাধারন কাজ যেমনঃ লেখালেখি, হিসাব নিকাশ, ব্রাউজিং, গান শোনা, মুভি দেখা ইত্যাদি
  • এক্সটারনাল(ইন্টারনেট) অথবা ইন্টারনাল (ইন্ট্রানেট) ওয়েব সার্ভার তৈরী করা
  • ইন্টারনাল এবং ইন্টারনেট ইমেইল এর জন্য মেইল সার্ভার তৈরী করা
  • অন্যান্য ইন্টারনেট নির্ভর প্রোগ্রাম সার্ভার যেমনঃ এফটিপি, নিউজ, আইআরসি(চ্যাট) ইত্যাদি স্থাপন
  • দূরবর্তী স্থান থেকে আপনার বাসা অথবা অফিসের কার্যকলাপ পর্যবেক্ষনের জন্য ওয়েব ক্যাম সার্ভার স্থাপন
  • বাসা অথবা অফিসে একটি একক ব্রডব্যান্ড ইন্টারনেট কানেকশনকে সব সিস্টেমে শেয়ারিং এর জন্য প্রক্সি/ন্যাট সার্ভার স্থাপন
  • নেটওয়ার্ক এ ইনকামিং এবং আউটগোয়িং ট্রাফিক কন্ট্রোল এর জন্য প্যাকেট ফিল্টারিং ফায়ারওয়্যাল স্থাপন
  • ফাইল এবং প্রিন্ট শেয়ারিং এর জন্য নোভেল অথবা এনটি/২০০০ এর মত ইন্টারনাল ল্যান সার্ভার তৈরী করা। সাম্বা নামে একটি প্যাকেজ আছে যেটি দিয়ে আপনার লিনাক্স সার্ভারকে নেটওয়ার্কে অবস্থিত উইন্ডোজ ক্লায়েন্টগুলির জন্য এনটি সার্ভার হিসেবে কাজ করানো যায়।
  • ইন্টারনাল ল্যান হোস্ট এবং ইন্টারনেট ডোমেইন নেম বেজড ডিএনএস সার্ভার স্থাপন
  • মাইএসকিউএল, ওরাকল অথবা পোস্টজিআরই নির্ভর ডাটাবেজ সার্ভার স্থাপন
  • ফ্যাক্স সার্ভার স্থাপন এবং নেটওয়ার্ক এ অবস্থিত সকল ব্যবহারকারীকে মেশিন থেকেই ফ্যাক্স পাঠানোর সুযোগ করে দেয়া যাতে ফ্যাক্স পাঠানোর আগে তা প্রিন্ট করতে না হয়।
  • ৫০০০ ডলার মূল্যের সিসকো রাউটার এর বদলে একটি ফ্রি ল্যান এবং ওয়ান রাউটার স্থাপন করা
  • কেন্দ্রীয়ভাবে নেটওয়ার্ক এবং সিস্টেম এর কার্যাবলী পর্যবেক্ষনের জন্য Syslog সার্ভার স্থাপন করা।
  • IDS (Intrusion Detection Systems) স্থাপনের মাধ্যমে ইন্টারনেট থেকে আগত হ্যাকিং ও বিভিন্ন ধরনের আক্রমন প্রতিহত করা।
ডস সদৃশ শেল স্ক্রিপ্টিং/কমান্ড
ডস এ যেখানে মাত্র একটি-ই ক্যারেক্টার নির্ভর ইন্টারফেস আছে সেখানে লিনাক্স(ইউনিক্স) এ আছে বেশ কয়েকটি । এদেরকে ইন্টারপ্রেটার এর বদলে শেল বলা হয়ে থাকে যদিও তারা ইন্টারপ্রেটার এর কাজই করে থাকে। ইউনিক্স এর মোট ৩টি শেল আছে যথাঃ C, Korn, এবং Bourne।

লিনাক্স এ উপরোক্ত তিনটি শেল এর নিজস্ব ভার্সন ছাড়াও আরো কয়েকটি শেল রয়েছে। "Bash", বা Bourne-Again Shell হচ্ছে বেশীরভাগ লিনাক্সের ডিফল্ট শেল কারন এটিতে Bourne এবং Korn শেলের বেশীর ভাগ ফিচারই রয়েছে।

লিনাক্স/ইউনিক্স শেলগুলির নিজস্ব প্রম্পট রয়েছে। যখন আপনি একটি শেল ওপেন করবেন তখন % অথবা $ এর যেকোন একটি দেখতে পাবেন যেটি শেল এর প্রকারভেদ কে নির্দেশ করে। যখন রুট হিসেবে লগইন করবেন তখন আরো একটি প্রম্পট পাবেন যেটিতে # চিহ্ন দেখা যায়। "root" হচ্ছে লিনাক্স/ইউনিক্স এর সবচেয়ে শক্তিশালী ব্যবহারকারী যেটি খানিকটা উইন্ডোজ এর এ্যাডমিনিস্ট্রেটর একাউন্ট অথবা নোভেল এর সুপারভাইজার এর মত।

ডসে যেভাবে dir এবং copy কমান্ড দেয়া হয় ঠিক একইভাবে লিনাক্সের শেল প্রম্পটে ls এবং cp কমান্ড দেয়া যায়।

উইন্ডোজ ৩.১ অপারেটিং সিস্টেমে যেভাবে ডস বেজড গ্রাফিক্যাল ইউজার ইন্টারফেস(GUI) ছিল একইভাবে লিনাক্সে বেশ কয়েকটি গ্রাফিক্যাল ইন্টারফেস পাওয়া যায়। সবচেয়ে বেশী ব্যবহৃত GUI হচ্ছে নোম/জিনোম (Gnome)। কেডিই(KDE) হচ্ছে আরেকটি জনপ্রিয় গ্রাফিক্যাল ইন্টারফেস। আপনি ব্যবহারের জন্য যেকোন একটি ইনস্টল করতে পারেন আপনার নিজস্ব পছন্দ অনুযায়ী। ইন্টারনেটে লিনাক্সের জন্য কোন প্রোগ্রাম খুজতে গেলে দেখবেন যে, প্রায় প্রোগ্রাম এর নামটি G অথবা K অক্ষর দিয়ে শুরু করা হয়েছে যেমন Gpad - যার অর্থ প্রোগ্রামটি জিনোম ইন্টারফেস এর জন্য তৈরী।

আবার কিছু প্রোগ্রাম দেখতে পাবেন যেগুলির নাম শুরু হয়েছে X দিয়ে যেটি মূলত X11, এক্স উইন্ডোজ অথবা এক্স প্রোগ্রামকে নির্দেশ করে। এর কারন হল লিনাক্স/ইউনিক্স এ গ্রাফিক্যাল ইন্টারফেসটি কিছুটা জটিল প্রসেস এ কাজ করে থাকে। এক্স সার্ভার নামে একটি সফটওয়্যারই মূলত গ্রাফিকস সমূহ তৈরী করে থাকে এবং আরেকটি ভিন্ন ডেস্কটপ ম্যানেজার-(কেডিই/জিনোম)- গ্রাফিক্স কে কিভাবে পর্দায় প্রদর্শন করা হবে তার ব্যবস্থা করে থাকে। এটি এমনভাবে করা হয় যাতে কেন্দ্রীয়ভাবে সার্ভার গ্রাফিক্স তৈরী করতে পারে এবং ভিন্ন ভিন্ন ওয়ার্কস্টেশন তাদের ডেস্কটপ ম্যানেজার সেটিংস কাস্টমাইজ করার মাধ্যমে গ্রাফিক্স কে প্রদর্শন করতে পারে। একটি সাধারন পিসিতে সার্ভার এবং ডেস্কটপ একই মেশিনে রান করে থাকে। যে সমস্ত প্রোগ্রাম গ্রাফিক্যাল ইন্টারফেসের বদলে ক্যারেক্টার নির্ভর শেল ইন্টারফেস এর জন্য তৈরী করা হয় তাদেরকে ‘কনসোল প্রোগ্রাম’ বলা হয়।


কেন শেল কমান্ড জানা জরুরী?

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

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

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


শেল স্ক্রিপ্টিং কি?

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

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

শেল প্রম্পটে যেসব কমান্ড দেয়া যায় সেগুলিকেই একটি শেল স্ক্রিপ্ট ফাইলে লেখা যায় এবং এছাড়া বিভিন্ন কন্ডিশন টেস্ট এবং লজিক ফ্লো কন্ট্রোল এর জন্য কিছু স্ক্রিপ্ট নির্ভর কমান্ড আছে। যখন অন্যান্য অটোমোশন টুলস এর সাথে এগুলি ব্যবহার করবেন তখন অসাধারন কিছু কাজ করা যায় এই শেল স্ক্রিপ্ট ফাইলের মাধ্যমে। আসুন এরকম কয়েকটি কাজ এর বর্ননা দেখে নেয়া যাকঃ
  • cron - একটি নির্দিষ্ট সময় অথবা দিনে কোন শেল স্ক্রিপ্ট এর কমান্ড সমূহ স্বয়ংক্রিয়ভাবে চালানোর জন্য cron শিডিউলার ব্যবহার করা হয়ে থাকে।
  • Perl scripts - একটি শেল স্ক্রিপ্ট এর সাহায্যে কোন পার্ল স্ক্রিপ্ট কে কল করা যায়। পার্ল যদি ও একটি রিপোর্টিং ল্যাঙ্গুয়েজ হিসেবে যাত্রা শুরু করে কিন্তু এটি এখন টেক্সট ফাইলের স্ট্রিং এবং নিউমেরিক্যাল ডাটা নিয়ে কাজ করার জন্য ব্যাপক ক্ষমতাসম্পন্ন।
  • Regular expressions - ব্যবহারকারীর ইনপুট, ইমেইল বার্তা অথবা অন্যান্য কমান্ড এর আউটপুট, স্ক্রিপ্ট অথবা প্রোগ্রাম সমূহের টেক্সট স্ট্রিং নিয়ে কাজ করার (মিল খোজা এবং বদল করা) জন্য রেগুলার এক্সপ্রেশন কমান্ড ব্যবহার করা হয়ে থাকে।
  • Redirection - অন্য কোন ডিভাইস অথবা প্রসেস এ কমান্ড, স্ক্রিপ্ট অথবা প্রোগ্রামের ইনপুট/আউটপুট গুলিকে পাঠানো।
  • Piping - একটি কমান্ড, স্ক্রিপ্ট অথবা প্রোগ্রামের আউটপুটকে অন্য কোন প্রোগ্রামের ইনপুট হিসেবে ব্যবহার করা।
  • Custom programs - কাস্টমাইজ করা কোন কম্পাইলড প্রোগ্রামকে শেল প্রম্পট এর সাহায্যে চালিয়ে কোন সুনির্দিষ্ট কাজ করা। উদাহরনস্বরূপঃ কোন ডাটা ফাইল অথবা হার্ডওয়্যার যেগুলির স্বত্ব সংরক্ষিত তাদের জন্য কোন কমান্ড পরিচালনা করা।

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

বেশীরভাগ প্রোগ্রামসমূহের জন্য অতিরিক্ত কিছু কনফিগারেশন ফাইল থাকে যেগুলি তৈরী করে/কাস্টমাইজ করে ঐ প্রোগ্রাম/কমান্ড এর অটোমোশন ক্ষমতা বাড়ানো যায়। উদাহরনস্বরূপ, আপনি এফটিপি শেল কমান্ড এর জন্য .netrc নামক একটি কনফিগারেশন ফাইল তৈরী করলেন যেখানে এফটিপি সার্ভার এ লগইন করা, সার্ভার এবং ফাইল লোকেশনগুলির অবস্থানের তথ্য এবং সেই সাথে কিছু এফটিপি প্রোগ্রাম এর কমান্ড (যেমন get, put, lcd ইত্যাদি) দেয়া আছে যার সাহায্যে স্বয়ংক্রিয়ভাবে ফাইল ট্রান্সফার করতে পারবেন। এই .netrc ফাইলটি ব্যবহারকারীর হোম ডিরেক্টরীতে ডিফল্টভাবে সংরক্ষিত হয় তাই ফাইলটিতে অবশ্যই রিড একসেস বন্ধ করে দিতে হবে কারন তাতে আপনার লগইন করার পাসওয়ার্ড সংরক্ষিত থাকতে পারে।

একটি শেল স্ক্রিপ্টে iptables এর কমান্ড ব্যবহার করে আপনার লিনাক্স সিস্টেমকে একটি প্রক্সি সার্ভার/ফায়ারওয়াল মেশিন এ পরিনত করতে পারেন। এখানে মাত্র কয়েকটি উদাহরন দিয়েছি - এরকম অসংখ্য কাজ স্ক্রিপ্ট এর মাধ্যমে করা সম্ভব।

লিনাক্স অপারেটিং সিস্টেম এর প্রাথমিক ধারনা-১

অনেকে লিনাক্সকে জটিল মনে করে এড়িয়ে চলেন কিন্তু এ জটিলতাই অপারেটিং সিস্টেমটিকে দারুন একটি সিস্টেমে পরিনত করেছে তারপরও কোন জটিল বিষয়কে যদি ছোট ছোট অংশে বিভক্ত করে বিশ্লেষন করা যায় তাহলে সেটি সহজ একটি বিষয়ে পরিনত হয়

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

সাধারনতা = সীমাবদ্ধতা
জটিলতা = সক্ষমতা
এটি প্রায় সকল ক্ষেত্রেই প্রযোজ্য একটি সাধারন অডিও সিস্টেম তা যতই সহজভাবে পরিচালনা করা যাক না কেন একটি ১৫-ব্যান্ড ইকুয়ালাইজার এর মত মানসম্পন্ন কোয়ালিটি আউটপুট দিতে সক্ষম হবে না উইন্ডোজ সার্ভার ওএস শেখা অনেক সহজ মনে হতে পারে তবে আপনাকে প্রতিটি কাজ নিজ হাতে ইনপুট প্রদানের মাধ্যমেই সম্পন্ন করতে হবে এবং স্বয়ংক্রিয় সিস্টেম তৈরী করার ক্ষমতা হ্রাস করেই তা করতে হবে অটোমেশন যা কম্পিউটারকে নিজে নিজেই কাজ করতে সক্ষম করে তোলে সেটিই সত্যিকারের প্রোডাক্টিভিটি আনতে সক্ষম এবং একটি প্রতিষ্ঠানের তুলনামুলক সুবিধাকে বাড়িয়ে খরচ কমাতে ভূমিকা রাখে

লিনাক্স অনেক বেশী হার্ডওয়্যার প্লাটফরম সাপোর্ট করে থাকে এবং ডেবিয়ান লিনাক্স তার মধ্যে অন্যতম যেটি বিভিন্ন প্লাটফর্ম সাপোর্ট এর জন্য ভিন্ন ভিন্ন ডিস্ক সেট অফার করে থাকে এজন্যই ডেবিয়ান এর সিডি/ডিভিডি-তে ভিন্ন ভিন্ন প্লাটফরমের জন্য ভিন্ন ভিন্ন প্রতীক ব্যবহার করে থাকে যেমন - ইন্টেল প্রসেসর এর জন্য 'i386' , পুরাতন ম্যাক কম্পিউটারের জন্য 'PPC' , সান সিস্টেমের জন্য 'Sparc' এবং এমন কি আইবিএম মেইনফ্রেম কম্পিউটারের জন্য ও রয়েছে 's390' এছাড়া পুরো অপারেটিং সিস্টেম এবং এর সাথে যত প্রোগ্রাম ও ব্যবহারিক প্রোগ্রাম রয়েছে সেগুলির সোর্স কোড সম্বলিত সোর্স ডিস্ক ও পাওয়া যায় আলাদাভাবে যদি আপনার সি প্রোগ্রামিং জানা থাকে (অথবা যদি সি তে প্রোগ্রামিং শিখতে চান) তাহলে এগুলি আপনার-ই জন্য এবং ডেবিয়ান অপারেটিং সিস্টেম ও এর সাথে যত ধরনের প্রোগ্রাম পাওয়া যায় সবকিছুর সোর্স কোড দেখতে চাইলে দেখতে পারবেন যদি ডেবিয়ানকে স্ট্যান্ডার্ড ইন্টেল/এএমডি/সাইরিক্স এর পিসিতে ইনস্টল করেন তবে 'i386' ডিস্ক সেট প্রয়োজন হবে

লিনাক্স একটি বিখ্যাত অপারেটিং সিস্টেম তবে এটি বিভিন্ন কোম্পানি কর্তৃক বের হয়ে থাকে যেটি উইন্ডোজ এর কনসেপ্ট থেকে একটু ভিন্ন প্রকৃতির এ সমস্ত কোম্পানিগুলি তাদের নিজস্ব কিছু স্ট্যান্ডার্ড এর সাথে যোগ করেই মার্কেটে ছাড়ে যেমনঃ গ্রাফিক্যাল ইনস্টলেশন টুলস, কিন্তু তারা সবাই লিনাক্স কার্নেলের যেকোন একটি ভার্সন ব্যবহার করে থাকে যেটি অপারেটিং সিস্টেমের মূল অংশ বিভিন্ন কোম্পানি কর্তৃক যে লিনাক্স বের হয় এগুলিকে ডিস্ট্রিবিউশন বলা হয়ে থাকে (অথবা সংক্ষেপে ডিস্ট্রো) রেডহ্যাট বর্তমানে সবচেয়ে জনপ্রিয় ডিস্ট্রো এবং সুসি, ম্যানড্রেক/ম্যানড্রিভা এর কথাও উল্লেখযোগ্য বানিজ্যিক ডিস্ট্রিবিউশনগুলি থেকে কোম্পানিসমূহ বিক্রয় এবং সাপোর্ট এর মাধ্যমে আয় করে থাকে ডেবিয়ান এদের থেকে কিছুটা ভিন্ন প্রকৃতির এটি একটি নেতৃত্বদানকারী অবানিজ্যিক ডিস্ট্রিবিউশন যেটি পৃথিবীর বিভিন্ন প্রান্তে ছড়িয়ে থাকা ডেভেলপারদের স্বেচ্ছাশ্রমের ভিত্তিতে পরিচালিত হয় শুধুমাত্র ফ্রি এবং ওপেন সফটওয়্যার এর ধারনাকে উৎসাহিত করার জন্য- যার উপর ভিত্তি করেই সর্বপ্রথম লিনাক্স তৈরী করা হয়েছিল

যদিও অনেকে লিনাক্স বলতে পুরো অপারেটিং সিস্টেমকেই বুঝে থাকেন কিন্তু কারিগরি দিক থেকে দেখলে লিনাক্স হচ্ছে মূল কার্নেল যার উপর ভিত্তি করে অন্যান্য ফ্রি জিএনইউ প্রোগ্রামসমূহ যেমনঃ গ্রাফিক্যাল ইন্টারফেস, কমান্ড লাইন প্রোগ্রাম ইত্যাদি কাজ করে থাকে এজন্যই ডেবিয়ান কে অফিসিয়ালি “ডেবিয়ান জিএনইউ/লিনাক্স” নামে অভিহিত করা হয়ে থাকে

যদি কোন কোম্পানি সাধারন কোন জিএনইউ প্রোগ্রামকে কাস্টমাইজ করে তার নিজস্ব কোন ভার্সনকে ব্যবহার করা শুরু করে তখন এটি আর ফ্রি থাকে না বরং স্বত্বাধিকার স্বত্ব আরোপিত হয়ে যায় এখানেই ডিস্ট্রিবিউশন নির্ভর সমস্যার উৎপত্তি যার ফলস্বরূপ আপগ্রেড/সাপোর্ট পাওয়ার জন্য অন্যের উপর নির্ভর করতে হয়

রেড হ্যাট কোম্পানি এ ধরনের বিভিন্ন স্ট্যান্ডার্ড জিএনইউ ইউনিক্স লিনাক্স কমান্ডগুলোর বদলে তাদের নিজস্ব স্বত্বাধিকার নির্ভর নন-স্ট্যান্ডার্ড টুলস/কমান্ড ব্যবহার করার জন্য প্রসিদ্ধ(!) ফলস্বরূপ ওয়েব এবং অন্যান্য জায়গায় লিনাক্স এর যে সমস্ত বই/রেফারেন্স ফ্রি পাওয়া যায় সেগুলির সাহায্য নিয়ে রেডহ্যাট লিনাক্স সিস্টেমে কাজ করা যায় না এমনকি রেডহ্যাট এর আগের ভার্সনগুলির উপরে লেখা বই ও কোন কোন ক্ষেত্রে বর্তমান ভার্সনে কাজে লাগে না কারন প্রতি নতুন ভার্সনে তাদের কমান্ড প্রায়ই পরির্বতিত হয় এ রকম চলতে থাকলে আগামী কয়েক বছর পর রেড হ্যাট কে আদৌ লিনাক্স বলে মনে হবে কিনা তা বলা সত্যিই কঠিন

ডিস্ট্রিবিউশনগুলিতে কনফিগারেশন ফাইলগুলি কিছুটা ভিন্ন জায়গায় এবং ভিন্ন নামে থাকতে পারে উদাহরনস্বরূপ, নেটওয়ার্ক ইন্টারফেস কনফিগারেশন (NIC)-

Debian - /etc/network/interfaces
Red Hat - /etc/sysconfig/network-scripts/ifcfg-eth0
(A separate file for each interface)
Suse - For versions >= 8.0
/etc/sysconfig/network/ifcfg-eth0
(A separate file for each interface)
For versions <>

লিনাক্স কি, ডেবিয়ান লিনাক্স এর ইতিকথা

লিনাক্স কি?

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

লিনাক্সের গঠন কাঠামো


লিনাক্স এর গঠনকাঠামোতে চারটি প্রধান উপাদান বিদ্যমানঃ
  • লিনাক্স কার্নেল অংশ
  • ফাইলের গঠন কাঠামো
  • একের অধিক ব্যবহারকারী ধারনা
  • এবং গ্রাফিক্যাল ইউজার ইন্টারফেস ব্যবস্থা
ডেবিয়ান লিনাক্স এর সংক্ষিপ্ত ইতিহাস
ছবি
ডেবিয়ান লিনাক্স ১৯৯৩ সনে পারদিউ বিশ্ববিদ্যালয়ের ছাত্র আয়ান মারডক কর্তৃক প্রতিষ্ঠিত হয় যিনি ডেবিয়ান মেনিফেস্টোর প্রবর্তক। এ মেনিফেস্টোর মূল ভাবধারা ছিল এটি হবে এমন একটি অপারেটিং সিস্টেম যা উম্মুক্ত পদ্ধতির ব্যবস্থাপনায় পরিচালিত হবে যেটি মূলত লিনাক্স এবং জিএনইউ এরই মূল স্পিরিট। তিনি নামটি প্রবর্তন করে তার মেয়েবন্ধু ডেবরা(পরবর্তীকালে স্ত্রী) এর নাম এবং তার নামের প্রথম অংশের সমন্বয়ে যার উচ্চারন হল ডেব-ই-এন।

ডেবিয়ান প্রকল্পটি প্রথমদিকে খুব ধীরগতিতে অগ্রসর হতে থাকে এবং সর্বপ্রথম ভার্সন ০.৯এক্স ভার্সন বের হয় ১৯৯৪ এবং ১৯৯৫ সালের দিকে। অন্য আর্কিটেকচারের জন্য রিলিজ দেয়া শুরু হয় ১৯৯৫ সালেই এবং ১৯৯৬ সালে ১.এক্স ভার্সন রিলিজ পায়। ১৯৯৬ সালে ব্রুস পেরেনস আয়ান মারডকের স্থালাভিষিক্ত হন প্রোজেক্ট লিডার হিসেবে। সহযোগী ইয়ান শুয়েজলার এর পরামর্শক্রমে তিনি ডেবিয়ান এর সামাজিক চুক্তির রূপরেখা এবং ডেবিয়ান উম্মুক্ত সফটওয়্যার নির্দেশনা প্রনয়নে বিশেষ ভূমিকা রাখেন যা ডিস্ট্রিবিউশনটির উন্নয়নে নতুন এক মৌলিক অঙ্গীকার হিসেবে স্বীকৃত হয়। তিনি এর সহযোগী সদস্য প্রতিষ্ঠান সৃষ্টির ব্যাপারে ও সচেতনতা বাড়াতে সাহায্য করেন।

ব্রুস পেরেনস ১৯৯৮ সালে glibc নির্ভর ডেবিয়ান-২.০ রিলিজের পূর্বেই এ প্রকল্প হতে অব্যাহতি নেন। এ সময়ে প্রকল্পের নতুন নেতৃত্ব নির্বাচনের জন্য উদ্যেগ নেয়া হয় এবং আরো দুটি ২.এক্স রিলিজ বের হয় যেখানে আরো বেশী প্যাকেজ এবং আরো বেশী আর্কিটেকচার সাপোর্ট অন্তর্ভুক্ত হয়। এ সময়েই APT কে প্রয়োগ করা হয় এবং ডেবিয়ান জিএনইউ/হার্ড, যেটি প্রথম নন-লিনাক্স কার্নেলে অর্ন্তভূক্ত হয়, তার ও ভালোভাবে অগ্রযাত্রা শুরু হয়। ১৯৯৯ সালে ডেবিয়ান লিনাক্স এর উপর ভিত্তি করে প্রথম ডিস্ট্রিবিউশন কোরেল লিনাক্স এবং স্টরমিক্স এর স্টর্ম লিনাক্স বের হয়। যদি ও এখন আর উন্নয়ন করা হয় না কিন্তু এ ডিস্ট্রিবিউশন দু’টিই ডেবিয়ান এর উপর ভিত্তি করে তৈরী প্রথম ডিস্ট্রিবিউশন হিসেবে স্বীকৃত।

২০০০ সালের শেষের দিকে এ প্রকল্পের আর্কাইভ এবং রিলিজ ব্যবস্থাপনায় বড়সড় পরিবর্তন নিয়ে আসা হয় যা সফটওয়্যার আর্কাইভ প্রসেসকে নতুন প্যাকেজ টুলসের আওতায় নিয়ে আসে। এরই ফলে টেস্টিং ডিস্ট্রোএর একটি ধারা গড়ে ওঠে যা পরবর্তী স্ট্যাবল রিলিজের জন্য একটি ভিত হিসেবে কাজ করতে থাকে। ২০০১ সালে ডেভেলপারগন একটি বার্ষিক কনফারেন্স এর আয়োজন শুরু করেন যা ‌‍'ডেবকনফ নামে' পরিচিত হয়। এটি ডেভেলপার এবং টেকনিক্যাল ব্যবহারকারীদের মধ্যে একটি সেতুবন্ধন রূপে কাজ করতে থাকে।

ডেবিয়ান রিলিজসমূহ


ডেবিয়ান এর রিলিজসমূহের মজার দিকটি হচ্ছে এর রিলিজের নামগুলি পিক্সার কর্তৃক তৈরীকৃত মুভি টয় স্টোরি এর চরিত্রসমূহ হতে নেয়া হয়েছে। কিছুটা ছোট বাচ্চাদের পছন্দ মত হয়ে গেছে তাই না? আসুন দেখে নেয়া যাক এর রিলিজগুলি এক নজরেঃ

রিলিজ রিলিজের তারিখ কোড নাম
Debian 5.0 (Latest Stable) 14 February 2009 Lenny
Debian 4.0 8 April 2007 Etch
Debian 3.1 6 June 2005 Sarge
Debian 3.0 19 July 2002 Woody
Debian 2.2 15 August 2000 Potato
Debian 2.1 March 9th, 1999 Slink
Debian 2.0 July 24th, 1998 Hamm
Debian 1.3 June 5th, 1997 Bo
Debian 1.2 December 12th, 1996 Rex
Debian 1.1 June 17th, 1996 Buzz
Debian 1.0 Never released -
Debian 0.93R6 November 1995 -
Debian 0.93R5 March 1995 -
Debian 0.91 January 1994 -
Debian 0.01 through 0.90 August-December 1993