بلاگ پارسی سلمان م.

گنو، تریسکل، نرم‌افزار آزاد، ای‌مکس، اوبونتو، مهندسی عمران، برنامه‌نویسی، گنو/لینوکس، ...

بلاگ پارسی سلمان م.

گنو، تریسکل، نرم‌افزار آزاد، ای‌مکس، اوبونتو، مهندسی عمران، برنامه‌نویسی، گنو/لینوکس، ...

آخرین نظرات
  • ۲۱ ارديبهشت ۰۱، ۱۸:۵۰ - فاطمه
    مرسی

۱۵ مطلب با کلمه‌ی کلیدی «آموزش» ثبت شده است

توی دو تا پست قبلی در رابطه با ای‌مکس اول از همه گفتیم که ای‌مکس چی هست و بعد از اون مقداری در رابطه با کلیدهای ترکیبی در ای‌مکس صحبت کردیم. توی این پست می‌خوام تعدادی از دستورهای ای‌مکس رو که ممکنه بکارتون بیاد بهتون بگم.

ابتدا دستور رو می‌گم و زیرش توضیح رو.

۱. اجرای ای‌مکس:

$ emacs
اگر طبق روال نصب در دو پست قبلی رفته باشید، با زدن این دستور ای‌مکس به صورت گرافیکی اجرا می‌شه. (البته اگه کسی خواست میشه کاری کرد که با زدن این دستور ای‌مکس تحت پوسته (شل) اجرا بشه) یا
$ emacs -nw
با زدن این دستور، ای‌مکس تحت پوسته (شل)  اجرا میشه و کل فضای پایانه (ترمینال) رو اشغال می‌کنه. برای یادگیری بیشتر توصیه میشه که حتما ای‌مکس رو تحت پایانه اجرا کنید تا مجبور بشید که یاد بگیرید. (-nw یعنی no window)

۲. تعیین اسم و محل ذخیره شدن فایل
خب حالا که ای‌مکس رو بازکردید، طبق چیزی که تو پست قبل گفتم، با C-x C-f اسم فایل و محل ذخیره شدن رو مشخص می‌کنیم. (این بار اسم فایل را test بگذارید و پسوندی برای آن مشخص نکنید)
 ۳. تعیین mode
چون در مرحله‌ی دو پسوندی برای فایلمون مشخص نکردیم، ای‌مکس نمی‌تونه تشخیص بده که ما به چه زبانی می‌خوایم کد نویسی کنیم، مشخص بودن زبان برنامه‌نویسی برای ای‌مکس فایده‌های زیادی برای ما داره، مثلا رنگی کردن کد، ایجاد فاصله به خودکار برای خواندن راحت‌تر کد (identation) و امکانات کامپایل کردن و غیره. خب اگه فایل ما پسوند داشت ای‌مکس fبه صورت خودکار mode رو تشخیص می‌داد، حالا ما باید به صورت دستی بهش بگیم که کد ما مثلا سی هست. برای این‌کار باید دستور زیر رو بزنیم.
M-x c-mode
یعنی ابتدا M-x رو بزنیم و سپس بنویسیم c-mode و سپس Enter را فشار دهیم.

برای بقیه‌ی زبان‌ها هم روال یکسان است، مثلا:
M-x c++-mode
M-x java-mode
۴. الآن که mode مشخص شد طبق پست قبل کدمون رو می‌نویسیم و کامپایل می‌کنیم.
  • سلمان محمدی

امروز می‌خوام یه رفیق و دوست خیلی خوب رو بهتون معرفی کنم. کسی که همیشه کنارتون هست ولی هیچ‌وقت نمی‌بینیدش. کسی که فقط تو روزای بدبختی یادتون بهش می‌افته و اون هم بی هیچ چشم‌داشتی کمک می‌کنه. معرفی می‌کنم آقای «آر فورس دیپندز» :

$ sudo dpkg -r --force-depends <package-name>
قضیه از چه قراره؟ من یه عادت خیلی زشت دارم، اون هم اینه که اگه سیستم‌عاملم درست کار کنه حس می‌کنم زندگیم یکنواخت شده و دچار پوچی شدم! حتمن باید یه انگولکیش بکنم تا به غلط کردم بی‌افتم ;)

خب بیشتر برامون توضیح بده.
امروز زد به سرم که گنوم ۳٫۶ رو با استفاده از بسته‌های اوبونتو ۱۲٫۱۰ به صورت دستی رو روی تریسکل ۶ (همون اوبونتو ۱۲٫۰۴)  نصب کنم. بعد از کلی بدبختی و بیچارگی تونستم یک سری از بسته‌ها رو به صورت دستی نصب کنم تا اینکه یک هو به ذهنم، رسید که مخازن تریسکل رو با اوبونتو عوض کنم تا عین بچه‌ی آدم خودش نصب کنه. بعد از عوض کردن مخازن، دیدم که وووی باید ۹۰ مگابایت دانلود کنم، منم پشیمون شدم و مخزن رو دوباره کردم همون تریسکل ۶.

اینا رو ول کن. اصل ماجرا رو بگو.
خلاصه دیدم که ناوتیلوس (Nautilus) مدیر فایل گنوم از کار افتاده. بعد از کلی سرو و کله زدم فهمیدم که مشکل از بسته‌ی libglib2.0-cil است و باید  پاکش کنم و اگه بخوام اون رو پاک کنم کل یونیتی و lightdm و غیره رو به فنا می‌ده و چون اون‌ها وابسته به libglib2.0-cil هستند، بعد از پاک کردنش همه‌چی رو پاک می‌کنه. این موقع بود که یادم به دوست جدیدم که خیلی وقت نیست باهاش آشنا شدم افتاد آقای «آر فورس دیپندز».

اعصاب من رو خورد نکن، بگو دیگه. ایشون هر وقت که می‌خواد بسته‌ای رو پاک کنه، تنها و تنها اون بسته رو پاک می‌کنه و کاری نداره که چه بسته‌هایی زندگیشون به اون بسته وابسته هست و  چی از کار می‌افته و چی نمی‌افته. برای بسته‌ی بالا دستور زیر کارساز هست:
$ sudo dpkg -r --force-depends libglib2.0-cli

نکته‌ی اخلاقی: به جای استفاده از دستور بالا و پیچوندن لقمه دور سرمون! میشه بسته‌های خراب رو downgrade کرد !
  • سلمان محمدی

مخزن چیست؟

۰۹
اسفند

در دنیای گنو/لینوکس ما ممکن است که به اصطلاحی برخورد کنیم به نام «مخزن»، ممکن است کسی به ما توصیه کنه: «فقط برنامه‌هایی که تو مخزن فدورا هستند رو نصب کن». یا بگه «فلان برنامه هنوز وارد مخازن اوبونتو نشده»، یا بگه «برای نصب فلان برنامه باید حتما از مخازن گنوم استفاده کنی» و ... حالا در حد مختصر می‌خوام بگم که این یعنی چی.

نکته: مخزن کاربردهای وسیعی داره و ما در اینجا منظورمون مخزن‌های مرتبط با دنیای گنو/لینوکس می‌باشد.


یک کلام خطم کلام: مخزن کارسازی (سِرور) است که یک سری پرونده‌ (فایل) روی اون قرار دارند.


توضیح بیشتر: ما در این‌جا به توضیح در مورد مخزن‌های سیستم‌عامل تریسکل (دبیان، اوبونتو، مینت و ...) می‌پردازیم.

پیش‌فرض:‌ شما تریسکل ۶ (دبیان، اوبونتو، مینت و ...) رو دانلود و نصب کردید.

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

دستور شماره یک:

$ sudo aptitude update
سپس دستور شماره دو:
$ sudo aptitude full-upgrade

نکته: شما می‌تونید هم با aptitude کار کنید و هم apt-get ولی برای سیستم‌عامل دبیان توصیه شده که از aptitude استفاده کنید.
اگر هم می‌خواید با apt-get کار کنید، دستورهای زیر رو می‌زنید:
$ sudo apt-get update
 سپس
$ sudo apt-get dist-upgrade

خب با زدن دستورهای بالا توی پایانه (ترمینال) همه‌چی حل میشه ولی چجوری این‌ها کار می‌کنند؟

تریسکل (اوبونتو، دبیان، مینت، ...)  یک سری سرور داره که روی اون‌ها، موارد زیر ذخیره شدن:
  1. اسم بسته‌های موجود در سرور و شماره نسخه‌ی اون بسته‌ها،
  2. بسته‌های با پسوند .deb
  3. کد منبع بسته‌های deb
  4. ... الی n
شما با زدن دستور شماره یک، یک سری فایل متنی که شامل اسم و مشخصات و نسخه‌های برنامه‌های موجود در سرور تریسکل (اوبونتو، دبیان، مینت، ...) هستند رو دانلود و بر روی رایانه‌ی خودتون ذخیره می‌کنید. اینکه اون فایل‌ها از کجا دانلود می‌شه توی آدرس زیر قرار داره: (شما از مخازن دیگری هم استفاده می‌کنید که شاید بعدن در موردش صحبت کنیم، مثل ترجمه‌های گنوم به زبان فارسی و ... )
/etc/apt/sources.list
که با زدن دستور زیر می‌تونید که محتویات اون رو توی ترمینال ببینید:
$ cat /etc/apt/sources.list
 و اگه زیاد با ترمینال حال نمی‌کنید (که کار اشتباهی هم می‌کنید ;) ) می‌تونید با دستور زیر اون رو توی گدیت (gedit) ببینید:
$ gedit /etc/apt/sources.list
 و اگر هم مثل من عشق ای‌مکس هستید با دستور زیر :)
$ emacs -nw /etc/apt/sources.list
محتویات اون فایل برای من (تریسکل ۶) این‌ها است:
# Trisquel repositories for supported software and updates

deb http://es.archive.trisquel.info/trisquel/ toutatis main
deb-src http://es.archive.trisquel.info/trisquel/ toutatis main
deb http://es.archive.trisquel.info/trisquel/ toutatis-security main
deb-src http://es.archive.trisquel.info/trisquel/ toutatis-security main
deb http://es.archive.trisquel.info/trisquel/ toutatis-updates main
deb-src http://es.archive.trisquel.info/trisquel/ toutatis-updates main
# deb http://es.archive.trisquel.info/trisquel/ toutatis-backports main
# deb-src http://es.archive.trisquel.info/trisquel/ toutatis-backports main

با زدن دستور شماره یک فایل‌ها دانلود شده و روی کامپیوترتون ذخیره می‌شه و اگه از قبل روی کامپیوترتون بوده (که حتمن هست) اون رو بروز رسانی می‌کنه.
خب الان aptitude یا apt-get دیگه کاری به اینترنت نداره و با خوندن اون فایل‌ها میگه مثلا الان نسخه‌ی جدید فایرفاکس اومده توی سرورهای تریسکل (که بهش می‌گیم مخزن) و باید دانلودش کنم! و سپس توسط دستور شماره دو، بهش حالی می‌کنیم که هرچی دیدی جدید اومده برام دانلود و سپس نصب کن و اگه باید بسته‌ای هم پاک بشه، اختیار داری که پاکش کنی!
حالا اگه نمی‌خواید که بسته‌ای احیانن از روی کامپیوترتون پاک بشه بجای دستور شماره دو باید دستور زیر رو بزنید:
$ sudo aptitude safe-upgrade
و یا
$ sudo apt-get upgrade

برای اطلاعات بشتر:
$ man apt-get
$ man aptitude
https://help.ubuntu.com/community/Repositories
  • سلمان محمدی

بهتر بود که عنوان رو عوض کنیم و بگیم که «گنو ایمکس چه چیزی نیست»  گنو ای‌مکس (GNU Emacs) یک ویرایشگر متن است یا به عبارت دقیق‌تر یک سیستم‌عامل است که خود را به عنوان یک ویرایشگر متن معرفی می‌کند. این موجود عجیب الخلقه، هر کاری که تصور کنید انجام می‌دهد. در این جا یعضی مسایل ساده در ای‌مکس را براتون توضیح می‌دم، چون خودمم هم وقتی پیچیده میشه نمی‌فهمم که چی به چی میشه ;)

وقتی که این جناب ای‌مکس نسخه‌ی ۲۳ رو باز می‌کنید این شکلی هستش:

ولی بعد از مدتی به این شکل در می‌یاد:



خب حالا که به اندازه‌ی کافی با قیافه‌ی ای‌مکس آشنا شدید مقداری از خودش براتون می‌گم. ای‌مکس یکی از قوی‌ترین ویرایشگرهای متنی هست که تا به حال توی عمرتون دیدید، و میشه بدون دست زدن به موشواره اون رو کنترل کرد. این ویرایشگر قابلیت اجرا شدن بر روی سیستم‌‌‌های عامل گنو، گنو/لینوکس، ویندوز، مک، سولاریس و غیره رو داره. من در عکس دوم، ای‌مکس رو به سه قسمت تقسیم کردم، توی قسمت سمت چپ کدهامو به زبون فورترن نوشتم، در قسمت سمت راست بالا پوسته‌ی بش رو برای کامپایل کردن کدهام به صورت دستی فراخونی کردم و در سمت راست پایین هم دارم بازی تتریس می‌کنم! یکی از خوبی‌های بازی تو ای‌مکس اینه که هر موقع دارم کد می‌نویسم اون بازی متوقف می‌شه! و تنها موقعی اجرا می‌شه که فعال باشه.

نصب کردن ای‌مکس:
برای نصب کردن ای‌مکس بایستی که دستور زیر رو توی ترمینال وارد کنید. (اگه ویندوزی یا مکی هستید به پیوندی که بعد از این قسمت می‌یاد توجه کنید)
  • گنو یا گنو/لینوکس بر مبنای دبیان (تریسکل، دبیان، اوبونتو، مینت و غیره) :
$ sudo apt-get install emacs
  • گنو/لینوکس بر مبنای فدورا:
$ su -c 'yum install emacs'
مقداری پیش‌نیاز:
یکی از چیزایی که باعث میشه دهن کسانی که برای اولین‌بار هست با ای‌مکس آشنا میشن، آسفالت بشه! اینه که کلیدهای ترکیبی اون رو تا به حال تجربه نکردن. این رو گفتم تا بعدن خوف نکنید :)

__________________________
پست بعد در رابطه با آموزش ای‌مکس:
http://salman-m.blog.ir/1391/12/emacs-keyboard-shortcuts-introduction
  • سلمان محمدی

در پست قبل (سیستم کنترل نسخه و بعضی از اصطلاح‌های آن) در رابطه با سیستم‌های کنترل نسخه و روال کلی کار با آن‌ها توضح دادیم. الآن بنظر من برای یادگیری گیت (git) روال کلی می‌تونه این باشه.
۰. گیت رو روی سیستم نصب کنیم.

$ sudo apt-get install git
یا
$ su -c ' yum install git'

۱. روی http://gitorious.org یک حساب بسازیم.
۲. این برگه‌ی تقلب (cheatsheet) رو بخونیم.
۳. حالا هرچی توی اون برگه نوشته رو روی حسابمون توی gitorious امتحان کنیم.
۴. اگر مرحله‌ی سه برامون سخت بود برای افزایش اطلاعات علمی خودمون این راهنما رو رو بخونیم.
نکته: راهنماهایی که معرفی کردم، راهنماهای رسمی گیت هستن.

  • سلمان محمدی