لینوکس و من

۲ مطلب در آذر ۱۳۸۸ ثبت شده است

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
 
که این مرحله ی آخر روش های دیگه ای هم داره که میتونید بگردید پیدا کنید و به ما هم بگید…
 
فکر میکنم باید انگلیسی این مطلب رو هم منتشر کنم. چون خیلی از ملت ها خواستار این کار هستند!
 
من که خیلی خوش حالم. شما چه طور؟