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

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

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

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

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

۲۰ مطلب در اسفند ۱۳۹۱ ثبت شده است

مخزن چیست؟

۰۹
اسفند

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

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


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


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

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

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

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

$ 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
  • سلمان محمدی

سلام دوستان
همون جور که می‌دونید تریسکل توزیعی هست بر پایه‌ی اوبونتو و دبیان که صد در صد نرم‌افزارهای اون آزاد هست.
تریسکل ۶ رو دانلود کردم و دیدم که واقعا عالی هست، اصلا انتظار نداشتم که اینقدر عالی باشه.
توی اوبونتو ۱۲٫۱۰ می‌زد که گرافیکم (ati) رو شناخته ولی عین بخاری گرم می‌شد! ولی توی تریسکل با اینکه زده unknown ولی اصلا فن کار نمی‌کنه! من باورم نمیشه، حس می‌کنم که لپ‌تاپم خاموش هست :D و همچنین توی تریسکل ۵٫۵ بلوتوث و وایرلس منو نمی‌شناخت ولی این می‌شناسه!

مشخصات تریسکل ۶
بر پایه‌: اوبونتو ۱۲٫۰۴ و دبیان
هسته:‌لینوکس-لیبره ۳٫۵
محیط رومیزی: گنوم ۳٫۴ (fallback)
فایرفاکس: ۱۹
http://trisquel.info

عکس‌ها:
اولین صحنه‌ بعد از نصب:

   

بعد از نصب یونیتی و تم Faience:

  • سلمان محمدی

امروز می‌خوام یه کتاب خوب بهتون معرفی کنم.

نام کتاب: تولید نرم‌افزار متن‌باز، چگونه یک پروژه‌ی نرم‌افزار آزاد موفق را اداره کنیم.

نویسنده: کارل فوگل

زبان: انگلیسی

محتوای آزاد؟: بلی (Creative Commons Attribution-ShareAlike 3.0)

طریقه‌ی دسترسی: http://www.producingoss.com


این کتاب یکی از بهترین منابع موجود برای کسانی است که تمایل به شروع یک پروژه‌ی نرم‌افزار آزاد دارند. در این کتاب درباره‌ی بسیاری از مواردی که ممکن است شما به عنوان یک آغازگر یک پروژه با اون روبرو بشید بحث شده، به مانند انتخاب پروانه، ارتباط با کاربران، تجهیزات لازم و غیره.



Book: Producing Open Source Software; How to Run a Successful Free Software Project

Author: Karl Fogel

Language: English

Free Content?: Yes (Creative Commons Attribution-ShareAlike 3.0)

Access: http://www.producingoss.com

  • سلمان محمدی

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

نکته‌های طلایی در یادگیری کلیدهای ترکیبی ای‌مکس:

  1. C معادل کلید Ctrl است.
  2. M معادل کلید Alt است. (M کوته‌نوشت کلمه‌ی Meta است)
  3. C-x C-s به معنای گرفتن کلید Ctrl و سپس به ترتیب فشردن کلیدهای x و s و سپس رها کردن کلید Ctrl است.
  4. C-x 2 به معنای گرفتن کلید Ctrl و سپس فشردن کلید x و سپس رها کردن تمامی کلیدها و سپس فشردن کلید 2.

خب حالا شروع می‌کنیم. من تمامی دستورها رو با صفحه‌کلید می‌گم با موشواره هم می‌شه خیلی از کارها رو کرد.
  1. ابتدا ای‌مکس رو اجرا می‌کنیم.
  2. C-x C-f رو می‌زنیم.
  3. حالا اسم پرونده‌ای که می‌خوایم ذخیره کنیم رو می‌نویسیم مثلا mycode.c (به پایین ای‌مکس نگاه کنید!) و سپس Enter رو فشار می‌دیم. ( توی این مرحله فایل مورد نظر ما ذخیره نشده و فقط جاش و اسمش رو  مشخص کردیم)
  4. حالا فرض کنید می‌خوایم که کد به زبون سی بنویسیم. کد مورد نظر رو می‌نویسیم.
  5. حالا با استفاده از C-x C-s اون رو ذخیره می‌کنیم.
  6. اکنون M-! که بدلیل موقعیت !، معادل هست با (Alt+Shift+1) را فشار می‌دهیم (به پایین ای‌مکس توجه کنید، الان ما می‌تونیم همون دستورهایی که توی ترمینال وارد می‌کردیم را این‌جا وارد کنیم)
  7. اکنون با استفاده از دستور مثلا gcc mesale1.c فایل مورد نظرمون رو کامپایل می‌کنیم.

__________________________

پست بعد در رابطه با آموزش ای‌مکس:

http://salman-m.blog.ir/1391/12/some-useful-emacs-hotkeys

    • سلمان محمدی

    بهتر بود که عنوان رو عوض کنیم و بگیم که «گنو ایمکس چه چیزی نیست»  گنو ای‌مکس (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 امتحان کنیم.
    ۴. اگر مرحله‌ی سه برامون سخت بود برای افزایش اطلاعات علمی خودمون این راهنما رو رو بخونیم.
    نکته: راهنماهایی که معرفی کردم، راهنماهای رسمی گیت هستن.

    • سلمان محمدی

    در تریسکل ۶ بعد از نصب محیط یونیتی به صورت پیش‌فرض منوهای جهانی (global menu) فعال نیستند. برای فعال کردن اون باید که بسته‌های زیر رو نصب کنید.

    $ sudo apt-get install appmenu-gtk3 appmenu-gtk appmenu-qt
    و برای فعال کردن اون در Abrowser (تغییر نام یافته‌ی فایرفاکس)،
    $ sudo apt-get install abrowser-globalmenu
    و در لیبره‌آفیس: (نسخه‌ی آزمایشی)
    $ sudo apt-get install lo-menubar
    *پانویس: منوهای جهانی، منوهایی هستند که در محیط یونیتی همیشه بالای صفحه قرار دارند و به نرم‌افزار متصل نیستند.
    منبع: +
    • سلمان محمدی

    من دما رو توی تریسکل ۶ و اوبونتو ۱۲٫۱۰ روی سیستم خودم، براتون می‌ذارم. دما بشدت کاهش پیدا کرده (در بعضی از موارد نصف شده) و فن هم دیگه عین موتور جت کار نمی‌کنه! (دو کارت گرافیکه اینتل، رادئون)

    تو تریسکل ۶:

    هسته:

    Linux 3.5.0-25-generic x86_64
    acpitz-virtual-0
    Adapter: Virtual device
    temp1:        +47.0°C  (crit = +128.0°C)
    temp2:        +58.0°C  (crit = +128.0°C)
    temp3:        +29.0°C  (crit = +128.0°C)
    temp4:        +43.0°C  (crit = +128.0°C)
    temp5:        +20.0°C  (crit = +128.0°C)
    temp6:         +0.0°C  (crit = +128.0°C)
    temp7:         +0.0°C  (crit = +128.0°C)
    temp8:         +0.0°C  (crit = +128.0°C)

    coretemp-isa-0000
    Adapter: ISA adapter
    Physical id 0:  +49.0°C  (high = +86.0°C, crit = +100.0°C)
    Core 0:         +47.0°C  (high = +86.0°C, crit = +100.0°C)
    Core 1:         +49.0°C  (high = +86.0°C, crit = +100.0°C)
    اوبونتو ۱۲٫۱۰:
    Linux 3.5.0-17-generic x86_64
    acpitz-virtual-0
    Adapter: Virtual device
    temp1:        +82.0°C  (crit = +128.0°C)
    temp2:         +70.0°C  (crit = +128.0°C)
    temp3:        +38.0°C  (crit = +128.0°C)
    temp4:        +62.0°C  (crit = +128.0°C)
    temp5:        +20.0°C  (crit = +128.0°C)
    temp6:         +0.0°C  (crit = +128.0°C)
    temp7:         +0.0°C  (crit = +128.0°C)
    temp8:         +0.0°C  (crit = +128.0°C)

    coretemp-isa-0000
    Adapter: ISA adapter
    Physical id 0:  +80.0°C  (high = +86.0°C, crit = +100.0°C)
    Core 0:         +68.0°C  (high = +86.0°C, crit = +100.0°C)
    Core 1:         +80.0°C  (high = +86.0°C, crit = +100.0°C)

    radeon-pci-0100
    Adapter: PCI adapter
    temp1:        +70.0°C

    اینم مشخصات سامانه‌ای که ازش استفاده می‌کنم.
    00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)
    00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09)
    00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
    00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)
    00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
    00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 04)
    00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b4)
    00:1c.1 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 2 (rev b4)
    00:1c.2 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 3 (rev b4)
    00:1c.3 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 4 (rev b4)
    00:1c.5 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 6 (rev b4)
    00:1c.7 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 8 (rev b4)
    00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
    00:1f.0 ISA bridge: Intel Corporation HM65 Express Chipset Family LPC Controller (rev 04)
    00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (rev 04)
    01:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI Caicos [Radeon HD 6400M/7400M Series]
    24:00.0 System peripheral: JMicron Technology Corp. SD/MMC Host Controller (rev 30)
    24:00.2 SD Host controller: JMicron Technology Corp. Standard SD Host Controller (rev 30)
    24:00.3 System peripheral: JMicron Technology Corp. MS Host Controller (rev 30)
    25:00.0 Network controller: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) (rev 01)
    26:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168 PCI Express Gigabit Ethernet controller (rev 06)
    27:00.0 USB controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 04)
    • سلمان محمدی

    دیروز داشتم با روبن (Ruben) (مدیر پروژه‌ی تریسکل) توی IRC صحبت می‌کردم که از قضا همون موقع محمدرضا حقیری بهش پیغام می‌ده و روبن هم فکر می‌کنه که من هستم! محمدرضا بهم گفت: «اون بنده‌ی خدا من رو با تو اشتباه گرفته! و بهم میگه که با یه آی‌دی دیگه اومدی» :D نمی‌دونم چی باعث شد که روبن همچین فکری بکنه، ولی در هر صورت اتفاق جالبی بود.

    ویرایش: پیغام محمدرضا این بوده: ...Hi Ruben, I'm an Iranian Linux developer

    • سلمان محمدی

    همان‌طور که خودتون بهتر از من می‌دونید در قالب پیش‌فرض تریسکل ۶ (Trisquel) دکمه‌ها در سمت راست قرار دارند،‌ برای اینکه اون‌ها رو به سمت چپ ببریم بایستی که دستور زیر رو توی ترمینال بزنیم.

    gconftool-2 --set /apps/metacity/general/button_layout --type string close,minimize,maximize:menu

    برای تغییر در ترتیب اون‌ها هم می‌تونید که جای کلمه‌های close، minimiz و maximize رو عوض کنید.

    منیع: +
    • سلمان محمدی