لینوکس و من

لینوکس و من

لینوکس و من

حاصل تجربیات ما از سر و کله زدن ها با لینوکس

بایگانی

پارسیکس را دریابید

سلام… پارسیکس گنو/لینوکس ۳ رو نصب کردم… محشر است… (البته برای من، شاید برای کس دیگری نباشد!) والله این سیستم عامل میتونه جای اوبونتو رو توی دنیا بگیره. آخه چرا این قدر گوشه افتاده پارسیکس؟! اوبونتو دسکتاپ پیش پارسیکس باید بیاد لنگ پهن کنه بگه نوکر داداشمون هم هستیم…نصب در سه سوت. بوت شدن در سه سوت. خاموش شدن در سه سوت. سبک. راحت، سازگاری کامل با فارسی. پشتیبانی بی نقص از نیاز اولیه بشر (پخش موسیقی و اینا…)نسخه ۲ که یه سری ایراداتی داشت و خلاصه با هر جون کندنی بود حل میشدن، اما نسخه ۳ رو که ریختم میبینم که تقریبا خالی از اشکاله. احسنت. احسنت. خیلی عالیه. خسته نباشی آقای باغومیان…هنوز کاملا باهاش سر و کله نزدم. اما در ابتدای کار خواستم این چیز ها رو خطاب به توسعه دهندگانش بگم. البته باز هم موردی پیش بیاد میگم.توی انجمنشون هم گفتم اینارو…۱- gnome-scheduled-tasks یه چیز مورد نیاز بشره (!) که توی پارسیکس نیست.۲- یادمه توی نسخه های زیر ۱ پارسیکس (!) اون قدیم ها، میشد کنترل های مدیا پلیر رو آورد توی پنل. منظورم media applet نیست. یه چیز ساده و تر و تمیز و جمع و جوری بود. حیفه که الآن نیست.۳- vlc عالیه. نیاز هم نیست سیستم رو با سایر نرم افزار های مشابه شلوغ پلوغ کنید. اما بهتره که اسکین vlc رو عوض کنید تا رابط کاربر پسند تری داشته باشه.۴- minbar هم باشه نباشه فرقی نداره، مگه حجمش چه قدره؟! هر کی بخواد دانلودش می کنه خب!۵- من از اون اول با اون system monitor که توی پنل گذاشتین مشکل داشتم. یه جوری نچسبه! ظاهر کار رو خراب کرده!!۶- برای فایل های chm چیزی وجود نداره. بهتره chmsee رو قرار بدین.۷- openjdk هم فکر میکنم لازم باشه. یه سری نرم افزار های جاوا هست که میشه ازشون استفاده کرد. چیز خوبین…۸- عجیبه که tomboy notes نصب نیست! به کار من که خیلی میاد. منو از کلی کاغذ ماغذ (!) راحت کرده.۹- توی اوبونتو یه چیزی هست به نام network tools. البته لازم هم نیستا، اما باشه میشه باهاش کار کرد.۱۰- این هم عجیبه که pppoeconf توی پارسیکس نصب نیست!!!۱۱- یه font installer خوب برای پارسیکس قرار بدین.۱۲- دستور sudo رو به طور پیشفرض فعال کنین. این su میره روی اعصاب آدم.۱۳- شما که compiz رو نصب کردین خب درایورهای کارت گرافیک رو هم بذارید دیگه!! کلی nvidia من دانلود کردم!۱۴- یه نظر سنجی بذارید اگه games لازم نیست برش دارید. من به شخصه تا حالا توی این چند سال این بازیا رو انجام ندادم…۱۵- سر در نمیارم فایرفاکس چشه که رفتین سراغ iceweasel (املاش رو نمیدونم درسته یا نه). خب اینم که همونه. فرقشون چیه پس؟۱۶- این pidgin plugin pack هم اگر جا شد (!) باشه بهتره…۱۷- deluge رو به جای transmission ترجیح میدم. چون امکانات مدیریتیش خیلی بهتره.۱۸- یه چیزی هست به نام shutter حتما شنیدین. از صفحه عکس میگیره منتها هر جوری که خودمون بخوایم. یعنی امکانات بیشتری برای عکس گرفتن از صفحه میده. مثلا selection…۱۹- به نظر من gftp یه چیز غیر ضروری برای کاربران معمولیه. اگر کسی بخواد از ftp استفاده کنه به دردش میخوره. که البته یه addon برای فایرفاکس هست به نام fireftp که خیلی خیلی بهتر از gftp هست.۲۰- در این مورد یکم شک دارم….: اگه من بودم به جای کل openOffice فقط یه presentation میذاشتم و یه writer. چون بقیه آنچنان به درد کسی نمیخوره. این طوری حجم دیسک خیلی کمتر میشه و میتونید چیزای کاربردی تری مثل نرم افزار های بالا رو توش بگنجونید (!). هر کس openOffice رو خواست میتونه بره CD اونو تهیه کنه… مثل microsoft office۲۱- یک برنامه ای هست به نام mobile media convertor این فرمت های صوتی رو به هم تبدیل میکنه و بسیار کار باهاش ساده است و به نظر من که تونسته تا الآن نیاز های منو خوب مرتفع بنماید۲۲- یه DVDrip اگه بذارید خیلی میتونه مفید باشه… بالاخره آدم دلش میخواد این فیلم هایی رو که میبینه توی حجم کمتر واسه خودش داشته باشه…۲۳- به نظر من سیستم installer جناب پارسیکس یکم پیش پا افتاده و کم امکاناته. من از وقتی یادمه همین بوده و هست. یه طوری باشه که کاربر معمولی که میخواد پارسیکس رو نصب کنه قدم به قدم بره جلو و در قدم آخر دیگه همه چیز تموم شده باشه. نه اینکه برگرده دوباره توی منو و کلی گیج بزنه که حالا پارتیشن بندی رو من چه کار کنم و از این حرفا. بهتره همه ی این موارد در یک سریال پشت سر هم قرار بگیرن. البته این واسه کسایی که میدونن چیکار دارن میکنن مهم نیست. اما فکر میکنم یکی از پارامتر های مهم برای محبوبیت یه توزیع به حساب میاد. من یکی دو تا منابع انگلیسی که میخوندم از همین مسئله رنج می بردند…

سابایون را نپسندیدیم

سلام…بعد از چند روز سر و کله زدن متوجه شدم که این آقا مشکلاتی داره. مرتب هنگ میکنه. هر دفعه که torrent رو باز میکنی شروع میکنه از اول چک کردن. و مسیله بعد اینکه بسیاری از بسته های deb که واقعا لازم هستند توی سابایون معادلشون پیدا نمیشه. (سابایون برگرفته از جنتو هست و بسته ها به صورت سورس باید باشن) و من هرچی دنبال یکی دو تا بسته ضروری گشتم پیداشون نکردم. این که میگم ضروری معنیش این نیست که برای همه ضروریه، برای من این طوریه. و من نزدیک ۲۰۰۰ تا پکیج deb دارم که دلم نمیخواد دوباره این همه رو دانلود کنم…سابایون برای یه کاربر خونگی به نظر من چندان مناسب نیست… پیچیده است و من هم وقت بازکردن گره هاش رو ندارم… این است که میرویم سراغ این پارسکیس جدید. جناب kev… (تغییر مزاج رو حال میکنین به چه سرعتیه)

و اما سابایون

سابایون Sabayon در نگاه اول خیلی عمیق به نظر می رسه! (شاید هم باشه!). DVD به صورت live هست و چند تا option برای boot داره. اولیش رو که بزنید در هنگام بوت شدن یه موزیک براتون پخش می کنه. اما من سرم درد گرفت… پیش نهاد میکنم گزینه بدون موزیک رو بزنید…سابایون بالا میاد. با پوشش گنوم! فعلاچیزی غیر عادی نیست… میبینم که آره همون طور که انتظار می رفت از نیاز های اولیه بشر یعنی پخش mp3 و فیلم ها پشتی بانی می کنه.شروع میکنم به نصب کردن سابایون… محیط نصب خیلی سبک و ساده میاد. زبان و کیبرد رو انتخاب می کنید. و بعد نوع سابایون رو برای نصب انتخاب می کنید. سه تا گزینه داره: گنوم، مدیا سنتر، معمولی! با انتخاب گنوم در مرحله بعد لیست کلی بسته ها رو میتونید برای نصب شدن یا نشدن انتخاب کنید. مرحله بعدی برنامه های مربوط به شبکه مثل nfs و samba رو انتخاب می کنید… و بعد پارتیشن بندی. از این جاش خیلی خوشم اومد. توی اوبونتو و پارسیکس خیلی طول می کشید تا برنامه پارتیشن بندی ظاهر بشه و بعد از هر گونه تغییر پارتیشن ها باز یه وقفه ایجاد میشد. اما توی سابایون نه، خیلی سریع همه چیز اتفاق میفته! مرحله بعد تنظیمات گراب رو انجام میدین و بعد انتخاب زمان… در مرحله بعد میتونید user ها رو اضافه کنید. (که به جز administrator یکی دیگه اظافه کردم اما اظافه نشد!) این جا میتونید پسورد جناب root رو هم تعیین کنید. و مرحله بعد آغاز نصبه… اینجا ۱۵ دقیقه طول کشید… سرعت بوت شدن در همون حد اوبونتو هست. کم و زیادش محسوس نیست…خب… داستان از این جا شروع می شود…سابایون بوت می شود، اما رابط گرافیکی نمی آید! oh shit! در همون حالت متنی login کردم. کلی کلنجار … و سرانجام با دستور sudo killall gdm و بعد gdm start رابط گرافیکی خبر مرگش آمد…خب… اولین قدم این است که چگونه به اینترنت وصل بشویم؟! dialup رو که باید بی خیال شد تا زمانی که درایور مودم رو نصب کرد… اما ADSL… خب، دستور pppoeconf کار نمی کند… اما خوش بختانه network manager هست و میشود یک کاری کرد… و سر انجام متصل گشتیم…جناب گوگل بفرمایید چرا سابایون این بازی را در ابتدا در آورد؟ جناب گوگل راه نمایی کردند و مشکل حل شد! به این طریق:sudo gedit /etc/conf.d/splashدر فایلی که باز میشود عبارت SPLASH_VERBOSE_ON_ERRORS=”yes” را به no تغییر می دهیم. این کار مثل این که باعث میشه در صورت وجود خطا هنگام بوت شدن، سابایون نره توی حالت متنی.خب! بنا بر نیاز های من (!) که یکیشون کانکت شدن به اینترنت از طریق ترمینال هست، دنبال راه حل این کار گشتم. بسته ی rp-pppoe این کار رو باید انجام بده. نصبش کردم. اما یه مشکلی هست: بعد از ساختن کانکشن با sudo /usr/sbin/rp-pppoe-setup و شروع اون کانکشن با sudo /usr/sbin/rp-pppoe-start به اینترنت وصل میشه ها، اما سایتی رو باز نمیکنه (حتی ping هم نمی کنه) نمیدونم مشکل کجا است… کسی میدونه احیانا؟!حالا وقت جینگولک بازی های compiz میرسه! خیلی شاد و خوش حال compiz fusion icon رو اجرا کردم تا compiz فعال شه. فعال شد، اما border های پنجره ها غیب شد!!! خلاصه می کنم… گشتم و گشتم تا اینکه فهمیدم باید این پلاگین ها رو قبل از این که compiz رو فعال کنم باید تیکشون رو فعال کنم:window decoration – resize window – move window  اگر میخواید از تم های emerald که واقعا خوشگل هستن استفاده کنید، روی compiz fusion icon کلیک راست کنید و از قسمت select window decorator گزینه emerald رو انتخاب کنید. و بعد میتونید تم های emerald رو انتخاب کنید و لذت ببرید.در حال حاضر مشکل فعلی من scheduled task هست که نمیدونم چه طوری توی sabayon راش بندازم. به علاوه دستور کانکت شدن به اینترنت از طریق ترمینل…کسی میداند چگونه؟!

ایمیج فلاپی!

یه سری کارا هست که اتفاق میفته که لازم میشه شما یه ایمیج رو که مخصوص فلاپی است روش رایت کنید!!! این فایل ها img هستن و با WinImage میشه توی ویندوز این کارو کرد. اما توی لینوکس (در اینجا اوبونتو) با این دستور میشه اینگارو کرد:dd if=/home/amin/Desktop/super_grub_disk_english_floppy_0.9799.img  of=/dev/fd0 bs=1024 conv=sync ; syncفایل ایمیج رو میبینید؟ یه چیزیه که گراب رو روی فلاپی نصب میکنه. (دارم سعی میکنم برای اون نسخه ای که روی هارد اکسترنال از اوبونتوی خودم نصب کردم یه فلاپی یا cd از گراب درست کنم تا توی هر کامپیوتر دیگه ای که نمیشه به BIOS دسترسی داشت بشه ازش استفاده کرد. اگه شما راهی بلدید بگید خوش حال میشم.این هم دستور ساخت ایمیج از فلاپی:dd if=/dev/fd0 of=imageاین میدونید به درد کیا میتونه بخوره؟! به درد کسایی که نرم افزاری خریدن که قفلش روی فلاپیه و برای هر بار استفاده باید قفل رو از فلاپی به سیستم انتقال بدن. پس با تعویض سیستم عامل قفل هم هوتوتو! میشه اینجوری قفل رو هم روی فلاپی داشت. چون اینجور چیزا رو نمیشه با یه کپی پیست ساده انجام داد. نمیدونم چرا!

استخراج ایمیل از یک فایل متنی

یک فایل متنی داریم. آت و آشغال زیاد داره. اما کلی ایمیل توش هست که ما به اونها نیاز داریم. (حالا به چه دلیل بماند! نیاز داریم دیگه آقا جان! نیاز هم که مادر اختراع است!) البته ما اختراع نمیکنیم. ما کشف میکنیم!! ما یعنی من!perl -wne’while(/[\w\.]+@[\w\.]+/g){print “$&\n”}’ ‘/textfile.txt’ > /email-list.txtدستور بالا یک فایل به شما میده که در هر خط یک ایمیل وجود داره. حالا میخوایم بعد از هرایمیل، یه کاما بذاره که بشه اونارو توی compose گذاشت و ایمیل زد بهشون. با این دستور:awk -F”,” ‘{ if( NR == 3 ) { val=$2 }  if( NR /new-email-list.txtوالله بنده اصلا نمیدونم این دستورات چی هستن! من فقط search کردم پیداشون کردم و استفاده کردم دیدم کار میکنه. پس اینجا نوشتم تا شما هم اگه نیاز داشتین ببینین. فلسفه ی این دستور ها باشد برای کسانی مثل جادی که اینکاره هستن! ما سر در نمی آوریم! ما یعنی من!

یافتن یک عبارت

تا حالا خواستین یه کلمه یا یه جمله رو بدونید تو کدوم فایل شما است بعد یکی یکی فایل ها رو باز کنید و بگردید دنبالش؟! خیلی زمان میگیره. مگه نه؟ خب با این دستور، هر عبارتی رو که بخواید توی هر فایلی براتون جست و جو میکنه. اگه در مسیری باشید که این دستور رو اجرا میکنید میره همون جا رو میگرده.find -type f -exec grep -H ‘YOUR STATEMENT’ {} \;اما اگه بخواید در کل کامپیوتر بگرده، اینجوری میشه:find / -type f -exec grep -H ‘YOUR STATEMENT’ {} \;میتونید آخرش هم بنویسید > /home/resault.txt که نتایج رو براتون تو یه فایل ذخیره کنه.

اشتراک گذاری فولدر ها در دو لینوکس

سلام! قبلا گفتم که چه جوری بین دو تا اوبونتو اینترنت رو به اشتراک بذاریم. خیلی دوست داشتم تا فایل ها و فولدرها رو هم به اشتراک بذارم. اما نمیشد. بنا بر اعتقاد من که کار نشد نداره، بالاخره شد! حالا بیاید ببینیم چه طوری…اولا که این بسته ها رو توی هردو تا کامپیوتر نصب کنید: nfs-kernel-server و nfs-common.مسئله: میخواهیم فولدر /home/user1/share را در کامپیوتر  ۱۹۲.۱۶۸.۰.۱ با کامپیوتر  ۱۹۲.۱۶۸.۰.۲ به اشتراک بذاریم.راه حل: از کامپیوتر ۱ که اون فولدر توش هست، این دستور را به اجرا در آورید: sudo gedit /etc/exports و یک عدد فایل متنی برایتان باز میشود که داخلش چیز هایی نوشته است. شما این خط را (با احتساب تغییرت IP لازم) به آخر این فایل اضافه کنید:/home/user1/share 192.168.0.2(rw,sync,no_subtree_check)و بعد از اینکه save کردید، دستور زیر را در کامپیوتر اول به اجرا درآورید:sudo /etc/init.d/nfs-kernel-server restartسپس در کامپیوتر دوم، یک فولدر (که میتواند هر جای دلخواه دیگری باشد) بسازید. من اینو ساختم:sudo mkdir /mnt/shareحالا باید اون فولدرِ به اشتراک گذاشته شده رو توی کامپیوتر دوم mount کنیم. پس در کامپیوتر دوم:sudo mount 192.168.0.1:/home/user1/share /mnt/shareتموم شد! حالا اون فولدر به اشتراک گذاشته شده. خیلی زیبا است نه؟!! اگه به مشکلی در مورد nfs بر خوردید اول به این سایت یه سری بزنید.

اشتراک گذاری اینترنت در اوبونتو

سلام. مقدمه ی قضیه از این قراره که یکی از اعضای خانواده یک عدد لپتاپ خرید و ما روش لینوکس ریختیم و کلیه ی درایورهاش هم درست شد به جز درایور مودم و finger print . مدتی بود میخواستم لپتاپ و کامپیوتر دسکتاپ رو که هر دو اوبونتو دارند شبکه کنم تا همزمان بتونن از اینترنت بهره مند بشوند! خب از اون جایی که بنده چیز چندانی از مفاهیم تنظیمات شبکه ها نمی دونم و تا حالا این کارو نکردم، مشکل به نظر می رسید. اون هم توی لینوکس. باز ویندوز بود چهارجا آدمو راهنمایی می کرد، این که هی باید توی اینترنت بگردی… ماشا الله منابع فارسی هم که ریخته همین جوری…اصلا روسی هم سرچ کنی برات فارسی میاره از بس زیاده…چند بار تلاش کردیم و نشد و کار را رها کردیم. اما دیشب تصمیم گرفتم تا مشکل رو حل نکردم از جام بلند نشم… که بالاخره حل شد و من بسیار راضی و خوش حال هستم. خواستم همون دیشب توی وبلاگ هم بنویسم که باز یه نفر پاشو گذاشت روی سیم، اینترنت مملکت از عرش به مرکز هسته ی زمین سقوط نمود…و اما اصل ماجراهدف: به اشتراک گذاشتن اینترنت ADSL بین دو کامپیوتر دارای اوبونتوover view! : یک مودم ADSL داریم که یه پورت usb داره و یه پورتی که به کارت شبکه وصل میشه. یک pc داریم که با usb به این مودم وصله و به اینترنت دست رسی داره و یک کارت شبکه ی onboard هم داره. یک لپتاپ داریم که اونو بوسیله کابل شبکه ای که همراه مودم بود، به کارت شبکه ی pc وصل کردیم.خب، بسم الله الرحمن الرحیم… firestarter رو توی هر دو کامپیوتر نصب بفرمایید. و آن را اجرا بفرمایید. این تنظیماتی است که بنده در pc به ایشان وارد کرده ام:و در لپ تاپ هم تنظیماتش به گونه ایست که به جای ۱۹۲.۱۶۸.۰.۱ مقدار ۱۹۲.۱۶۸.۰.۲ داده شده و و اون بالا برای device ها هردو یکی هستند eth0 چون هم اینترنت (که قراره بیاد) و هم شبکه ی داخلی از کارت شبکه هه هستند دیگه!این network manager مال pc رو باز می کنیم و یک wired connecion با تنظیمات زیر می سازیم:اون DNS severs رو میبینید؟ از اینجا میتونید پیداش کنید که چنده: فایل /etc/resolv.confو پر واضحه که توی لپتاپ هم همین کارو بکنید و  اون توضیح درمورد IP رو هم اینجا باید اعمال بفرمایید.خب. حالا یک بار برای هر دوتا کامپیوتر این دستور رو اجرا کنید تا تنظیمات بازخوانی بشن:sudo /etc/init.d/networking restartطبق منابع حاضر در اینترنت الآن دو تا کامپیوتر باید به هم وصل باشن و باید لذت ببریم. اما در عمل برای من این جوری نبود! ping نمیشدن به هم. تا این که این تنظیمات روiface eth0 inet staticaddress 192.168.0.1netmask 255.255.255.0broadcast 192.168.0.255در فایل /etc/network/interfaces گنجاندم و دستور قبلی رو اجرا کردم و دیدم که اه چه جالب! ping شدن و اینترنت هم کار کرد!حالا متخصصان امر بیشتر در این زمینه اگر توضیحی دارند در کامنت ها بفرمایند. بنده همین یه ذره چیز میز را سر درآوردم برایتان نوشتم.آهان یه نکته، بعد از اینکه اینترنت share شد، هی این یارو firestarter میگفت از فلان IP درخواست شده حال ندارم جواب بدم و اینترنت لپتاپ رو قطع میکرد! بهش دستور دادیم از این IP ها به گرمی استقبال کن مردک! (توی قسمت policy اون IP ها رو به عنوان چیز معرفی کنید… یعنی مجاز…)حالا سوال بنده این است که اگر یک folder را share کردیم، چه جوری از اون یکی کامپیوتر بهش دسترسی پیدا کنیم؟! چون share که میشه، امانمیدونم از اون ور چه جوری پیداش کنم!

dialup در اوبونتو

میگن تا وقتی آدم به چیزی نیاز پبدا نکرده نمیره سراغش… خب ما هم تا چند وقت پیش ADSL داشتیم، این بود که دو سالی میشد سراغ dialup توی لینوکس نرفته بودم. تا اینکه به خاطر خدمات مزخرف شرکت ADSL و کیفیت واقعا بدش دیگه تمدید نکردم و فعلا هم سراغ شرکت دیگه ای نرفتم…. بنا بر این مجبور شدم برم سراغ کارت و این حرفا…! این بار میخوام بگم چه جوری توی اوبونتو از dialup استفاده کنید.اولا که بهتره chipset مودمتون conexunt باشه. بعد از سایت linuxant درایور مربوط به نسخه مودمتون رو بگیرید. و به علاوه درایور alsa که گذاشتن باید بگیرید. اول درایور alsa رو نصب کنید و بعد درایور مودم. در غیر این صورت با نصب درایور مودم تنها، صدای سیستم از کار میفته. متاسفانه این درایور مودم پولیه و تا پولشو ندید سرعت ماکزیممش رو بهتون نمیده. و با یه سرعت کمی براتون کار میکنه. البته راه های غیر قانونی برای این مساله وجود داره!یه درایور open source هم از طرف شرکت dell هست، که من اونو که امتحان کردم موقع hsfconfig اصلا config نمیشد و حرف از کرنل سورس و این چیزا میزد که الآن یادم نیست. اگه کسی میدونه، لطفا به ما هم بگه…خب، توی اوبونتو، با دستور sudo pppconfig میشه از dialup و با sudo pppoeconf از ADSL استفاده کرد. هر دو تا کار باهاشون راحته و خودشون راهنمایی میکنن.. فقط در مورد pppconfig موضوع اینه که باید نوع IP رو dynmic انتخاب کنید (چون مال ماها که static نیست.) و پورت مودم هم مال من این بود: ttySHSF0 نمیدونم مال شما چی میتونه باشه، از برنامه scanmodem میتونید کمک بگیرید. همه ی اطلاعات مربوط به مودمتون رو میده.راه دوم استفاده از wvdial میباشد، که رابط گرافیکیش برای گنوم، gnome-ppp میباشد! توجه! حتما باید gnome-ppp رو با sudo اجرا کنید. قابل توجه شهرزاد خانم که میگفت وصل میشه اما سایتی رو باز نمیکنه! اصلا وصل نمیشه، چون من دیدم پیامی که بهم داد این بود که اجازه دسترسی به فلان فایل رو نداری، بنابراین با sudo اجرا کردم وصل شد و کار هم کرد.اما یک توجه دیگر! با gnome-ppp نمیتونید از اینترنت هوشمند استفاده کنید. چون حالیش نیست نیازی به username و password نداره و خب این اصلا هم عیب نیست، چون امنیت و باقی مسائل…اما با pppconfig میتونید به جای username و password، یک عدد space بزنید و از اینترنت هوشمند(!) هم استفاده کنید.آهان یه چیزی، بعد از اینکه با pppconfig کانکشن رو ساختید و finish کردید، باید با دستور sudo pon CONNECTION-NAME وصل بشید. و با sudo poff -a هم قطع میشه…راستی کسی میدونه چه طوری قطع کنیم صدای جیر جیر بلند مودم را؟

رویای دیرین من!

یکی از خواسته های من در سیستم عامل لینوکس، بعد از اینکه فهمیدم چی به چیه، این بود که بتونم پکیج یا نرمافزاری رو که نصب کردم بتونم دوباره برش گردونم! من سر در نمیاوردم که چرا نمیشه این کارو کرد، چرا راهی براش نیست… آخه در نصب شدن یه بسته به نظرم اصلی ترین کاری که میشه کپی شدن محتویات اون بسته است. و مثل ویندوز رجیستری ای چیزی نداره که تنظیماتی غیر قابل بازگشت اعمال بشه! (این نظر منه، ممکنه درست هم نباشه)گذشت و گذشت … تا این که یه چیزی به نام dpkg-repack پیدا شد که میتونست این کارو انجام بده. و دوست خوبم یه انقلابی معرفیش کرده بود. اما من بیشتر از این میخواستم! میخواستم کل بسته هایی که توی سیستم عاملم نصب کردم برگردونم. که این خوبیش از این جهاته:۱- خب یه پشتیبان از تمام نرم افزار هاتون دارین!۲- وقتی با dpkg-repack یه بسته ای رو برگردوندید، نمیتونید بفهمید dependencies اون بسته چیه تا اونا رو هم همراهش برگردونید (تا در آینده که لازمشون داشتید حضور داشته باشن). یا اگر هم بشه dependencies یک بسته رو فهمید (که حتما میشه) ممکنه صد تا بسته ی مختلف باشه که هر کدوم ده تا واسه خودشون dependencies دارن و … پس ما یه چیزی میخوایم تمام عیار که هر چی که هست برداره بیاره!۳- میتونم از این بسته های برگردونده شده، یه local repository درست کنم، روی CD یا DVD رایتشون کنم و اونو توی کامپیوتر های دیگه استفاده کنم. یعنی یه چیزی شبیه Homa که برای اوبونتو ساخته شده!۴- میتونم از این local repository وقتی که یه fresh install انجام میدم استفاده کنم و ظرف چند دقیقه هر چیزی که لازم دارم دوباره توی نسخه ی تمیزم داشته باشم! این برای کسی که نمیخواد upgrade کنه و بیشتر دوست داره fresh install داشته باشه خوبه!خب… برای نیل به این اهداف (!) که مدت ها توی سر من بودن چه کاری باید کرد؟ طبیعتا باید یه لیست از تمامی بسته های نصب شده داشته باشیم. مگه نه؟ و بعد بدیمش به این dpkg-repack که هر چی که توی این لیست هست برگردونه! تهیه ی لیست ساده است. با این دستور:sudo dpkg --get-selections > /your-home-directory/list.txtخب. این لیستی از بسته های داخل سیستم شما رو توی فایل list.txt ذخیره میکنه. اما متاسفانه این لیست همینجوری به درد ما نمیخوره! چرا؟ چون محتویاتش طوری نوشته شده که برای dpkg-repack غیر قابل استفاده است. پس باید یه کاری کنیم قابل استفاده بشه. یعنی یه لیستی داشته باشیم که اسم تک تک بسته ها، کنار هم بیان و فقط به اندازه یه space از هم فاصله داشته باشن. که ما بتونیم اونو کپی کنیم و جلوی dpkg-repack بذاریم!خب من بلد نبودم! توی پستای قبلی این موضوع رو عنوان کردم. تا این که آقای جادی روزنه های امیدی رو در بنده بوجود آوردند… (واقعا جای بسی افتخار است که کسی مثل جادی بیاد وبلاگت کامنت بذاره و بگه بیا کمکت کنم!) خلاصه… با راهنمایی جادی عزیز و یکم کلنجار رفتن خودم، تونستم اون لیست رو به چیزی تبدیل کنم که لازم داشتم. با این دستورات:cut --f 1 /my-home-directory/list.txt | xargs sudo dpkg-repackاین یک خطی که میبینید با اون لیست کاری میکنه واسه dpkg-repack قابل استفاده میشه و xargs هم این اطلاعات جدید رو تقدیم جناب dpkg-repack میکنه و ایشون هم مثل بچه های خوب و حرف گوش کن کاریو که باید انجام بده میده! و من قریب به ۱۹۷۶ تا پکیج به حجم ۱.۲ گیگابایت در عرض تقریبا نیم ساعت، تحویل گرفتم!حالا نوبت این میرسه که یه local repository از این گنج داشته باشم.من پکیج ها رو توی فولدر packages توی home ریختم. پس:sudo dpkg-scanpackages /my-home-directopry/packages /dev/null > /my-home-directopry/packages/Packagesسپس بروید داخل این فولدر packages و فایل Packages رو باز کنید. این فایلیه که لیستی از مشخصات بسته های اونجا رو برای فهموندن به synaptic در خودش داره و توسط دستور بالا آماده شده. فایل رو با یه ادیتور متن باز کنید و به قسمت replace برید و اونجا شما میبینید که جلوی Filename یه چیزی اضافه هم نوشته که نباید باشه. یعنی آدرس محل اون پکیج رو نوشته. در صورتی که ما فقط اسمشو میخوایم نه آدرسشو. چون توی نصب کردن بعدا مشکل ایجاد میکنه. (من امتحان کردم، دارم میگم انجام بدین تا به اون مشکل بر نخورین). بله، پس /my-home-directory/packages رو کپی میکنم و در قسمت search for میذارم و دکمه ی replace رو میذارم و اونا ناپدید میشن…حالا میتونم اینارو رایت کنم روی DVD و توی هر کامپیوتری که خواستم این پکیج ها رو به لیست پکیج هاش اضافه کنم:echo “deb file:/my-DVD-ROM/packages ./” > /tmp/my-local.listو بعد:sudo mv /tmp/my-local.list /etc/apt/sources.list.d/my-local.listو بعد تر:sudo apt-get updateکه این مرحله ی آخر روش های دیگه ای هم داره که میتونید بگردید پیدا کنید و به ما هم بگید…فکر میکنم باید انگلیسی این مطلب رو هم منتشر کنم. چون خیلی از ملت ها خواستار این کار هستند!من که خیلی خوش حالم. شما چه طور؟