নেটখাতা

October 24, 2007

রাইজার ফাইলসিস্টেম ও বাইনারি চালানোর অধিকার

নেটখাতার এই পাতাটার নাম দেওয়াই যেত এমপ্লেয়ার কেলেঙ্কারি। এমপ্লেয়ারের সঙ্গে এত কেলেঙ্কারি জড়িত। কোনও ডিস্ট্রোর এমপ্লেয়ারের ভার্শন অমুক, কোনওটার তমুক, কিন্তু সর্বাধুনিক ভার্শনটা তো চাইই চাই। নইলে জীবনের আর অর্থ কী, অাধুনিকতম এমপ্লেয়ার ব্যতিরেকে। এবং তার সবচেয়ে প্রশস্ত পথ তো কম্পাইল করে নেওয়া। আমার যতদূর মনে পড়ছে, ৯৯ বা ২০০০-এ, ম্যানড্রেক ছয় বা সাতে, আমার কম্পাইল করার হাতেখড়ি এই এমপ্লেয়ার দিয়েই। তথাগত আমায় বুদ্ধি দিয়েছিল, সিনেমা দেখো, আর তোমার এমপ্লেয়ার নেই? আমি উইনডোজে কোনওদিন সিনেমা দেখিওনি। একটা ৪৮৬ মেশিন ছিল, তাতে উইনডোজ ৯৫ চলত, আর ওয়ার্ড ৯৭, যখন আমি লিনাক্সে এলাম। প্রথমবার ./configure && make && make install চালিয়ে সে যে কী ফূর্তি। যেন আমি রিচার্ড স্টলম্যান কি এরিক রেমন্ডস হয়েই গেলাম, আর ঠেহায় কেডা। আর কম্পাইল করেছিলাম জিটাইপিস্ট। তারপর থেকে যত যত মেশিনে আমি যখনই ইনস্টল করেছি লিনাক্স, কম মেশিনে তো করিনি, শ দুয়েক তো হবে বলেই মনে হয়, এমপ্লেয়ার আর জিটাইপিস্ট দিতামই। পারতপক্ষে কম্পাইল করে। সুজেতে অবশ্য জিটাইপিস্ট কম্পাইল করতে খুব ঝঞ্ঝাট হত সেসময়। কার্সেস লাইব্রেরিগুলো থাকত অন্য জায়গায়। যেদিন, নিজে নিজেই খুঁজে পেয়েছিলাম তার উপায়টা, জিটাইপিস্টের টারবলটা খুলে তার ভিতর .c ফাইলগুলো খুলে সেগুলোয় curses.h আর ncurses.h ফাইলদুটোর ঠিকানাটাই বদলে দেওয়া, সত্যি, কী যে আনন্দ পেয়েছিলাম। যখন লোককে দেখি কম্পিউটার রয়েছে, ইনস্টল করার মত এত এত লিনাক্স রয়েছে, অথচ এই এত সহজলভ্য আনন্দটা পায়না, বেশ খারাপ লাগে।

যাইহোক, যে কথা বলছিলাম, ফেডোরায় এমপ্লেয়ার ইনস্টল করা। এরকম ঘুরপথ কুপথ হবেই। একে মাস্টারি করি, তিন পুরুষের মাস্টার, তায় বয়স তো মেঘে মেঘে কম হলনা, এখন আর সময়ের হিসাবগুলো বছরে না, দশকে করি।

তা, ফেডোরায় এমপ্লেয়ার কম্পাইল করার আগে থেকেই আমার ব্যথাটা শুরু। আমার গোটা সিস্টেমটা যে ঘেঁটে গেছিল, নেটখাতায় আগেই যেটা লিখেছি, একইসঙ্গে লিভনা আর ফ্রেশআরপিএম থেকে প্রিকম্পাইল্ড বাইনারি ইনস্টল করে, সেটা ঘটেছিল এই এমপ্লেয়ার থেকেই। তাই, সিস্টেমকে প্রথম খোপে ফেরত আনার পর, এবার ঠিক করলাম, কম্পাইল করে নেব। আগেই দেখেছিলাম, ফেডোরা মেইলিং লিস্টে একটা আলোচনা-সূত্র চলছে এই ‘mplayer without libmp3lame support’ নিয়ে। সেখানে সমস্যাটা হল একজন জানিয়েছিল, তার মেনকোডার ‘-oac mp3lame’ এই অপশানটা নিচ্ছে না। সেখান থেকে আলোচনার শুরু।

আমি কম্পাইল করতে গিয়ে যে সমস্যাটার সামনে পড়লাম, সেটা অত্যন্ত বিদঘুটে। এরকম কোনও কিছু আমি কখনো দেখিনি। আমি একদম সাম্প্রতিক এমপ্লেয়ার মানে MPlayer-1.0rc2.tar.bz2 এবং তার সঙ্গে কোডেকের জন্যে essential-20071007.tar.bz2 নামিয়ে নিলাম। এদের আনটার করে, বিজিপটু খুলে যা যা করার সেগুলো করে, যেই আনটার করা MPlayer-1.0rc2 ডিরেক্টরিতে গিয়ে ./configure চালালাম, পেলাম একটা বিচিত্র মেসেজ, পারমিশন ডিনায়েড। এর মানে কী? আমি মেলিং লিস্টের ওই আলোনাতেও জানালাম।

প্রথম সমস্যা এই যে, ./configure চলছিল না। আমার সন্দেহ হল, এই configure স্ক্রিপ্টটায় কোন গড়বড় নেই তো? পেলাম না কিছু। আবার sh এবং bash ঠিক জায়গায় ঠিক আকারেই আছে। আমার বোধবুদ্ধিতে তাদের ঠিকঠাকই লাগছিল। তখন ’sh ./configure’ করে চালালাম, এবং চলল। লে গঙ্গা, এর মানে কী? ঠিক চলল তো? বোঝার জন্যে config.h পড়ে দেখলাম, হ্যাঁ, ঠিকই আছে। আগেই লেম কম্পাইল করে নিয়েছি, সেই ঠিক লেম, lame.h, ঠিক জায়গাতেই পেয়েছে।

এবার make চালানোর কথা। চালালাম, এবং, চলল না। এবং তার সঙ্গে একটা বিচিত্র ত্রুটিজ্ঞাপন। পুরোটাই তুলে দিই। আমি এটা রুট হয়ে চালাচ্ছিলাম। কারণ, এর আগে ইউজার হয়ে চালাতে পারিনি। কী জানি, কী থেকে আসছে সমস্যাটা এই জন্যে এই গোটা সময়টাই আমি রুট হয়ে রয়েছি।

[root@mamdo MPlayer-1.0rc2]# make
./version.sh `cc -dumpversion`
/bin/sh: ./version.sh: Permission denied
make: *** [version.h] Error 126
[root@mamdo MPlayer-1.0rc2]#

অর্থাৎ, version.h ফাইলটা চালাতে পারছে না, অনুমতি নেই বলে। ওই ডিরেক্টরিতেই version.h ফাইলটা খুলে দেখলাম, বস্তুটা কী।

#!/bin/sh
echo "#define VERSION \"1.0rc2-$1\"" > version.h
echo "#define MP_TITLE \"MPlayer 1.0rc2-$1 (C) 2000-2007 MPlayer Team\""

মানে, ভার্শনের স্ট্রিংটা তুলে নেওয়ার জন্যে। বেশ, আগের একই কায়দায়, সরাসরি version.sh যখন চলছে না, আমি আগের কায়দাতেই, ’sh ./version.sh’ করে চালালাম। তৈরী হয়ে গেল version.h নামের হেডার। এরপর আবার যেই make চালালাম, সে চলল। চলেই থেমে গেল। এবার ত্রুটিসংবাদটা এরকম:

/bin/sh: ./codec-cfg: Permission denied
make: *** [codecs.conf.h] Error 126

অর্থাৎ, আবার সেই স্ক্রিপ্ট চালানোর সমস্যা। এবার স্ক্রিপ্টটা হল codec-cfg যা কোডেকগুলো কনফিগার করার কথা। আমি মেইলিং লিস্টে এই পুরোটা জানালাম, এবার আমার কী করার এই প্রশ্ন নিয়ে।

Is this some peculiarity of this version of 'sh' in F7, or, some silly error I am doing?

এই মেলটা দুপুরে পাঠিয়ে আমি কলেজ চলে গেছিলাম। তখন সঙ্কর্ষণকেও পাঠিয়েছিলাম। ওর মাথায় এসেছিল এটা সেলিনাক্সের সমস্যা হতে পারে, কিন্তু তার আগেই আমি সেলিনাক্স অফ করে নিয়েছি, ওই একই সম্ভাবনা মাথায় আসায়। কলেজ থেকে ফিরতে আমার রাত দশটা বেজে যায়। ফিরে এসে দেখলাম, একটা মেল এসেছে ওই চিঠির উত্তরে, যাতে কার্ল লারসেন বলে একজন লিখেছে, কেন, VLC ইনস্টল করে নিলেই তো হয়, এমপ্লেয়ারে সমস্যা যখন। কী জঘণ্য। অনেকটা সেই পাউরুটি না খেয়ে কেক খাওয়ার সমাধানের মত। তার উত্তর দিলাম, রাত্তির ১০:৪৫-এ, কিন্তু VLC দিয়ে এনকোড করা যায় কি? আর তার চেয়েও বড় কথা, এটা হচ্ছে না কেন তাও তো ছাই বোঝা যাচ্ছে না।

১০:৫৮-তে মরিয়াট এম বলে একজন একটা মেল করল, আমি ঠিক ভাবে আনটার করেছি কিনা, ফাইলগুলো কোরাপ্ট ছিল কিনা, পার্টিশনটায় কোনও ভৌত গন্ডগোল আছে কিনা, আমি fsck করে দেখে নিয়েছি কিনা, ইত্যাদি। আমি নিশ্চিত ছিলাম যে, এগুলো কারণ নয়। তবু, বলার পর, আমি নতুন করে একবার এমপ্লেয়ার সাইট থেকে ফাইলদুটো নামালাম। fsck করে দেখেও নিলাম একবার পার্টিশনটা। সেটা ফের লিস্টে জানালাম।

অনেক চিঠি আসতে শুরু করল। রাত ১১:৪০-এ কেভিন জে কামিংস জানতে চাইল, configure স্ক্রিপ্টটায় একজিকিউটেবল বিট ‘x’ লাগানো আছে কিনা, অর্থাৎ চালানোর রাইট দেওয়া আছে কিনা। আমি একটু আহত হয়েই উত্তর দিলাম, ১১:৫৫-এ, আমি কি সেটা পরখ না-করেই অন্যদের জ্বালাচ্ছি। ওই চিঠির শেষের দিকে কেভিন কামিংস লিখেছিল, কিছু একটা কারণে স্ক্রিপ্ট বা বাইনারিগুলোর চালানোর অনুমতি নষ্ট হয়ে যাচ্ছে। মজার কথা, এর মধ্যেই ঠিক ইঙ্গিতটা ছিল, যেটা আমি পাইনি, কিন্তু অ্যান্ডি গ্রিন পেয়েছিল।

এরপর, এই আলোচনার চিঠি দেওয়া নেওয়া চলল রাত ০১:৩৯ অব্দি। মূলতঃ অ্যান্ডি গ্রিনের সহযোগিতায় যেটা শেষ অব্দি আবিষ্কার করা গেল সেটা বেশ মজার। এই ঘটনাটা ঘটছিল একটা রাইজার ফাইলসিস্টেম পার্টিশনে (এর মধ্যে এমন চিঠিও এসেছিল, রাইজার রাখার দরকার কী বাপু, রাইজার যার বানানো সেই রাইজার তো এখন জেলে, ইত্যাদি, ইত্যাদি)। সেই পার্টিশনের মাউন্ট যাতে ইউজার হিসাবে আমি করতে পারি, তাই আমার /etc/fstab ফাইলে আমি অপশন দিয়ে রাখি, ‘noatime,noauto,user’, noatime টা হল দ্রুত মাউন্ট করে নেওয়ার জন্যে, অ্যাকসেস টাইম দিয়ে ছাই অত কী হবে একটা একা-একলা মেশিনে, noauto যাতে সিস্টেম নিজে মাউন্ট না-করে, ও তো ডিফল্টে করবে, রুট হয়ে ছাড়া কাজ করা যাবেনা কিছু, আর user হল যাতে একজন ব্যবহারকারী পার্টিশনটা মাউন্ট করতে পারে। কিন্তু কেলেঙ্কারিটা হচ্ছে এখানেই, user মাইন্টেবল হলেই সিস্টেম তার সঙ্গে একটা লেজুড় যোগ করে দিচ্ছে: noexec, এতে কোন চালনীয় মানে একজিকিউটেবল ফাইলই আর চালানো যাচ্ছে না।

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

I learned a lot in the last two hours. Thanks to the list.

ঠিক এটাই বলার আমার, ফেডোরায় এসে, ফেডোরার বেশ সিরিয়াস এই মেলিং লিস্টে, অনেকদিন বাদে আবার বেশ গ্নু-লিনাক্সীর অনুভূতি জাগছে।

Filed under: গ্নু-লিনাক্স — dd @ 10:53 am

ফেডোরায় আসার পরপরই

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

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

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

তাই এক্স-এর গল্প তো দূর-অস্ত, এমনকি বহু ইউজার বাইনারিই আমি চালাতে পারছিলাম না। /bin বা /usr/bin এর বাইনারিগুলোরও লাইব্রেরি, পাথ, সব ঘেঁটে একাকার। এমন যাচ্ছেতাই অবস্থা যার বিবরণ দেওয়া যায় না। কাঁদো কাঁদো মুখে কলেজ চলে গেলাম। সেদিন আবার ক্লাসটেস্ট ছিল ছাত্রদের। এখন এক সার্কাস চালু হয়েছে, সাড়ে চারশো ছেলের ক্লাসটেস্ট। যাই হোক সে অন্য গল্প।

পরের দিন রবিবার ছিল। আমি সকাল থেকে পড়লাম সিস্টেম নিয়ে। নেটে ঢোকা যাচ্ছিল। রাউটার হিসাবে ওটা কনফিগার করা। এবার ifconfig দিয়ে আইপি আর নেটমাস্ক দিয়ে, তারপর route কে ডিফল্ট গেটওয়ে যোগ করে দিলেই নেটসংযোগ হয়ে যাচ্ছিল। এটাই ছিল বাঁচোয়া। ইয়াম চালানো যাবে। কিন্তু আমি তো ইয়াম কিছুই জানিনা। শেষ বছর দুয়েক উবুন্টুতে কাজ করেছি apt-get দিয়ে, তার আগে সুজেতে সরাসরি ইয়াস্ট থেকে। এমনকি সিস্টেমে ম্যানুয়াল পেজও ঠিকমত পড়া যাচ্ছে না। নেট থেকেই যতটুকু পারি ইয়াম শিখলাম। জিনোম নতুন করে ইনস্টল করতে হবে, তার আগে সব কেঁচে গণ্ডূষ করতে হবে। এইসময়ে এই পার্টিশনে ইউজার ডেটা কিছুই নেই। চাইলেই রি-ইনস্টল করতে পারতাম, কিন্তু চাইছিলাম না। আসলে একটু পরখ করে নিতেও চাইছিলাম। কেজো অবস্থায় ফেরত আসা যায় কিনা। উবুন্টুতে এই অভিজ্ঞতাটা আমার বেশ খারাপ ছিল। উবুন্টু ইউজারের জন্যে সবকিছুই খুব সহজলভ্য করে রাখে। কিন্তু সহজলভ্য করার এই প্রক্রিয়াটা একেবারেই সহজ নয়। আগেই লিখেছি, ওই অস্বচ্ছতা। গ্নু-লিনাক্সে সবকিছুই করতে পারার কথা কনফিগারেশন ফাইল পড়ে আর ম্যানুয়াল পড়ে। সেরকমটা আমি বেশ কয়েকবার উবুন্টুতে পারিনি। অবশ্য এটা ঠিক, উবুন্টুর কাঠামো মানে ডেবিয়ানের কাঠামো, লিনাক্সের সার্বিক কাঠামোর বাইরে ডেবিয়ানের কাঠামো আলাদা করে কিছু জানিনা বললেও কম বলা হয়। কিন্তু লিনাক্সের কাঠামো সম্পর্কে একটা ধারণা থাকলেই ম্যানুয়াল পড়ে পড়ে কাজ তো করতে পারার কথা। সেটাই ফেডোরায় পারি কিনা আমি দেখতে চাইছিলাম।

এবং মজার কথা, সত্যিই সেটা হল। আমি সিস্টেমে ফেরত যেতে পারলাম।

রবিবার, সকাল থেকে গুঁতিয়ে গুঁতিয়ে, রাত নটা নাগাদ আমি আবার একটা কড়াই থেকে সদ্য তোলা মুচমুচে ভাজার মত ঝরঝরে একপিস ফেডোরা পেয়ে গেলাম। তার মধ্যে কম বেদনা যায়নি। যেমন নেট থেকে পাচ্ছিলাম, yum groupinstall gnome কাজ করার কথা। কিন্তু করেনি। এইটায় যেটা করেছিল সেটা হল yum install gnome-desktop, এই রকম প্রতি পদে পদে। যাই হোক, দাঁড়াল তো শেষ অব্দি। এবং সবচেয়ে বড় কথা আলাদা করে ফেডোরার ঘাঁতঘোঁত কিছু না-জেনেই। যেটা আমি নেটখাতার আগের লেখাটাতেও বলতে চেয়েছিলাম। একটা সরল স্বচ্ছতা। এটা উবুন্টু অভিজ্ঞতায় আমি পাচ্ছিলাম না। কিন্তু ফেডোরায় আবার সেটা ফেরত এলাম।

আমার কম্পিউটারের সঙ্গে কোন নির্মাণ-সংযোগ নেই, না যন্ত্রপাতির, না সফটওয়ারের। আমি লেখাপড়া করতাম কম্পিউটারে। তারপর একসময়, প্রাথমিক ভাবে ভাইরাসভীতি থেকে মুক্তির চেষ্টাতেই লিনাক্সে আসা। আসার পর, সমাজ-রাজনীতি-অর্থনীতি সংক্রান্ত ভাবনাগুলো তো অনেক পরের, প্রথম যে উত্তেজনাটা হয়েছিল, সেটা হল বুঝতে পারার। উইনডোজ করার সময়ে, আমার মনে আছে, আমি উইনডোজ করারও আগে, ডস ৬ থেকে শুরু করেছিলাম, তার ওয়ার্ড-প্রসেসর ছিল ওয়ার্ডস্টার। মজা পেয়েছিলাম এর বেশ কিছু দিন বাদে, রোমান পোলানস্কির ‘বিটার মুন’ সিনেমায় ডসের ওয়ার্ডস্টারে লেখককে লিখতে দেখে। তারপর উইন্ডোজ এল, ৩.১ আমি খুব ব্যবহার করেছি। যখন win কমান্ড দিয়ে উইনডোজে ঢুকতাম। এই কনসোল প্রম্পট অনেকদিন অব্দি ধরে রেখেছিলাম, উইনডোজ নাইন্টিফাইভ অব্দি, msdos.sys ফাইল এডিট করে, bootgui=0 করে দিয়ে। যাইহোক, যা বলছিলাম, অনেক তখন বোঝার চেষ্টা করেছি। কী দুর্দান্ত আবিষ্কার মনে হয়েছিল তখন যেদিন দেখেছিলাম, যে কোনও ডস কমান্ডের পরে ‘/?’ লাগিয়ে এন্টার মারলে সেই কমান্ডটাকে জানা যায়। কিন্তু কিছু দূরের পরে আর কিছুতেই এগোতে পারতাম না, যে বস্তুটা নিয়ে সারাদিন কাজ করছি তার প্রায় গোটাটাই প্রহেলিকা বলে মনে হত।

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

কেন হঠাৎ /etc/inittab ফাইলটা হাওয়া করে দেওয়া হল? এবং তার চেয়েও বড় কথা তার যথাযোগ্য ডকুমেন্টেশন সিস্টেমের মধ্যে তো নেই-ই, নেটে বেশ কিছুটা খুঁজেও আমি পাইনি। আগেই যেমন বলেছি, আমার মেশিনে প্রায় সবসময়ই আমার একের বেশি লিনাক্স রাখতে হয়। বিশেষতঃ জিএলটির পর থেকে। এতে কোনওদিন কোনও সমস্যা হত না। কিন্তু উবুন্টুর সঙ্গে কোনও কিছু রাখা, উবুন্টুর গ্রাব দিয়ে, আমি কখনো পারিনি। গ্রাব কেন, গ্রাব আসার আগে, যখন লিলো ছিল, তখন যেটা করতাম, যে সিস্টেম থেকে lilo.conf ফাইলটা দেখছি, তার নিজের কারনেল ইমেজটা হুবহু তার পথের ঠিকানায়, আর অন্য লিনাক্সের কারনেল ইমেজটা দিয়ে দিতে হত এই ওএসের ভিতর ওটা যেখানে মাউন্ট হয়ে আছে সেই পথ ঠিকানায়। তারপর মাউন্ট করা অবস্থায় একবার lilo চালিয়ে দেওয়া। তারপর গ্রাব এসে তো আরও সহজ হয়ে গেল। কোনও মাউন্ট টাউন্টের বালাই নেই। শুধু কাঁচা পার্টিশনটা দিয়ে দাও।

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

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

ফেডোরায় আসার পরই অন্য অভিজ্ঞতাটা রাইজারএফএস এবং সেখানে অধিকারের সমস্যা। কিন্তু আজ আর নয়, ওটা নেটখাতার পরের কোনও পাতায় লেখা যাবে।

Filed under: গ্নু-লিনাক্স — dd @ 12:59 am

October 20, 2007

উবুন্টু থেকে ফেডোরা

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

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

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

তাই ওএস নিয়ে আমার বড় মাথাব্যথা নেই। আর সঙ্কর্ষণ যেমন বলেছিল, গেঞ্জি বদলানোর সঙ্গে বা বিকেলে মেয়েবন্ধুর সঙ্গে দেখা না-হলে, সেই বেদনায়, একবার ওএস বদলে নাও, ওসব আমার নেই। (অমন বয়েসই বা কই আর, হায়? গেঞ্জি বদলানোর কথা বলছি না, গেঞ্জি আমি এখনো বদলাই, এই বয়সেও।)

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

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

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

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

সেই ফাইলের একটা নিজের ফেডোরা সাতের ওপনঅফিস দিয়ে খুলে তার স্ক্রিনশট তুলে আমায় আর সায়মিন্দুকে সিসি করে পাঠাল সঙ্কর্ষণ। ফাইল একদম ঠিকই আছে।

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

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

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

বাংলা লেখার ব্লগ, নেটখাতা

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

আর, পুরোনো ব্লগস্পটের ব্লগে যে এন্ট্রিগুলো ছিল সেগুলোও নিয়ে এলাম এখানে। পুরোনো সেগুলো, ইংরিজিতে। তা হোক। এখানে চাইলে বাংলাতেও লিখব, ইংরিজিতেও লিখব।

কত লিখব কে জানে: সায়মিন্দুকে দিয়ে ব্লগ তো বানালাম। যাকগে, বানিয়ে রাখা ভাল।

Filed under: ব্যক্তিগত, মানুষ — dd @ 7:06 am

Powered by WordPress