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

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

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

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

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

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

سلام. دوستان عزیز، در این پست می‌خوایم در رابطه با نصب و راه‌اندازی آخرین نسخه‌ از زبان برنامه‌نویسی گو (Go programming language)صحبت کنیم.


اگر با زبان گو آشنایی ندارید می‌تونید به این صفحه مراجعه کنید و باهاش آشنا بشید:  http://forum.ubuntu.ir/index.php/topic,50072.0.html


برای دریافت آخرین نسخه از زبان گو باید به وب‌گاه اون به نشانی http://golang.org برید. ولی دسترسی به این وب‌گاه از طریق ایران غیرممکن هست و بدلیل تحریم‌ها این امکان وجود نداره. برای همین می‌تونید از طریق این آینه (http://download.tuxfamily.org/shimool/mirror/golang) که خودم ایجادش کردم، فایل‌ مورد نظر رو دانلود کنید. در حال حاضر آخرین نسخه ۱٫۲ هست.


فرض می‌کنیم فایل مورد نظر ما go1.2.linux-amd64.tar.gz نام داره و در پوشه‌ی Downloads قرار داره.

 ابتدا با استفاده از ترمینال به پوشه‌ی Downloads می‌ریم:

$ cd Downloads

و سپس فایل مورد نظر رو با استفاده از دستور زیر در دیرکتوری /usr/local استخراج می‌کنیم:

$ sudo tar -C /usr/local -xzf go1.2.linux-amd64.tar.gz

حالا برای این‌که ترمینال بتونه دستور go و godoc و ... رو بشناسه، بایستی کد زیر رو به انتهای فایل .profile اضافه کنیم. (فرض بر این است که شما از بش استفاده می‌کنید و همچنین فایل‌های .bash_profile و .bash_login در دیرکتوری خانگی شما موجود نیست، اگر این دو فایل موجود بودند، می‌توانید کد زیر را در .bash_profile قرار دهید)

برای این‌کار ابتدا با استفاده از دستور زیر فایل مورد نظر رو باز می‌کنیم

$ nano ~/.profile

و سپس کد زیر رو به انتهای اون اضافه می‌کنیم:

export PATH=$PATH:/usr/local/go/bin

حالا با یک بار خارج شدن از سیستم و دوباره وارد شدن، می‌تونید از دستور go استفاده کنید.


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

godoc -http=:6060

و سپس آدرس زیر رو در مرورگر وب مورد علاقه‌تون (مثلاً فایرفاکس) وارد کنید:

http://localhost:6060/

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

pastebinit

۲۰
دی

سلام دوستان عزیز، در این پست می‌خوایم در رابطه با یه نرم‌افزاری صحبت کنیم که تحت ترمینال اجرا می‌شه و با استفاده از اون می‌شه متن‌ها یا خروجی کدهای ترمینال رو به صورت مستقیم روی سِروری گذاشت که از طریقه‌ی شبکه‌ی اینترنت قابل دسترس باشه. نرم‌افزار pastebinit.


فرم کلی دستور:

$ <command> | pastebinit [OPTIONS]


چه موقع به این نرم‌افزار احتیاج می‌شه؟

فرض کنید که سیستم‌عامل گنو/لینوکس یا گنو/هرد ما مشکل‌دار شده و دیگه نمی‌تونه به صورت گرافیکی بالا بیاد (نمی‌تونه محیط X رو اجرا کنه) و دسترسی ما فقط از طریق ترمینال هست. حالا برای رفع مشکل در انجمن اوبونتو ایران یک پست می‌ذاریم و از کسی می‌خوایم که مشکل ما رو حل کنه. به اولین چیزی که نیاز هست محتویات لاگ X.org هست. به طور مثال محتویات لاگ X.org من این هست:

http://paste.ubuntu.com/6726668/

خب ولی ما چجوری می‌تونیم محتویات اون رو روی وب‌گاه مثلاً paste.debian.net یا paste.ubuntu.com یا paste.kde.org بذاریم؟ با استفاده از نرم‌افزار pastebinit به‌راحتی می‌شه این کار را کرد.


طریقه‌ی نصب نرم‌افزار:

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

$ sudo apt-get install pastebinit


طریقه‌ی استفاده:

سپس با استفاده از دستورهای زیر می‌تونیم که مستقیماً محتویات یک فایل و یا خروجی یک دستور رو روی بعضی وب‌گاه‌های مشخص بذاریم. برای این‌کار ابتدا به محل فایل مورد نظر می‌ریم (فایل X.org)

$ cd /var/log/

و سپس با وارد کردن دستور زیر محتوبات فایل بر روی وب‌گاهی که به صورت پیش‌فرض مشخص شده گذاشته می‌شه.

$ cat Xorg.5.log | pastebinit

که خروجی آن لینکی است که محتویات فایل ما بر روی آن قرار دارد.

دیگر قابلیت‌ها:
وب‌گاه پیش‌فرض در سیستم‌عامل‌های متفاوت فرق می‌کنه.
  • در اوبونتو: paste.ubuntu.com
  • در تریسکل: pastebin.com (در ایران فیلتر هست)
  • در دبیان گنو/هرد:  paste.debian.net
حال فرض کنید که داریم از تریسکل استفاده می‌کنیم اگه از دستور حداقلی استفاده کنیم:
$ cat esme-file-morede-nazar | pastebinit
به ما پیغام خطا می‌ده (چون وب‌گاه pastebin.com فیلتر هست)  پس باید محتویات فایل رو روی یه وب‌گاه دیگه قرار بدیم مثلاً paste.ubuntu.com. که با استفاده از دستور  زیر امکان پذیر هست:
$ cat esme-file-morede-nazar | pastebinit -b http://paste.ubuntu.com
برای این‌که بدونیم نرم‌افزار pastebinit نصب شده روی سیستم‌ ما از چه وب‌گاه‌هایی پشتیبانی می‌کنه، بایستی دستور زیر رو در ترمینال وارد کنیم:
$ pastebinit -l
که برای من (تریسکل ۶) این است:
Supported pastebins:
- cxg.de
- fpaste.org
- p.defau.lt
- paste.debian.net
- paste.drizzle.org
- paste.kde.org
- paste.openstack.org
- paste.pocoo.org
- paste.pound-python.org
- paste.ubuntu.com
- paste.ubuntu.org.cn
- paste2.org
- pastebin.com
- pastie.org
- pb.daviey.com
- slexy.org
- sprunge.us
- yourpaste.net


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

برای اطلاعات بیشتر:
  • سلمان محمدی

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


  • قدم اول: نصب برنامه‌ی مجازی‌ساز.
  • قدم دوم: دانلود دبیان گنو/هرد.
  • قدم سوم: چک کردن md5sum
  • قدم چهارم: استخراج کردن فایل
  • قدم پنجم: اجرا کردن دبیان گنو/هرد
    • قدم پنجم - الف:  اجرا کردن دبیان گنو/هرد  با استفاده از ویرچوال‌باکس
    • قدم پنجم - ب:  اجرا کردن دبیان گنو/هرد  با استفاده از KVM
  • قدم ششم: وارد شدن به محیط دبیان گنو/هرد


توجه: مجازی‌سازهای مورد استفاده ویرچوال باکس و KVM خواهند بود و سیستم‌عامل میزبان، تریسکل ۶ (یا همون اوبونتو ۱۲٫۰۴) و معماری سیستم‌عامل میزبان x86_64 است.



قدم اول: نصب برنامه‌ی مجازی‌ساز.

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

$ sudo apt-get install virtualbox


و همچنین برای نصب KVM و پوسته‌ی گرافیکی Virtual Machine Manager می‌بایست دستور زیر را در ترمینال وارد نمود:

$ sudo apt-get install qemu-kvm virt-manager



توجه: پوسته‌ی Virtual Machine Manager توسط شرکت ردهت توسعه داده می‌شود.


قدم دوم: دانلود دبیان گنو/هرد.

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


آخرین نسخه‌ی از قبل نصب شده را می‌توان از آدرس زیر دانلود نمود:

http://ftp.debian-ports.org/debian-cd/hurd-i386/current/debian-hurd.img.tar.gz

و همچنین می‌توان در ترمینال با استفاده از دستور زیر دانلود نمود:

$ wget http://ftp.debian-ports.org/debian-cd/hurd-i386/current/debian-hurd.img.tar.gz

نکته ۱: در حال حاضر آخرین نسخه‌ی دبیان گنو/هرد نسخه‌ی May 2013 می‌باشد.

نکته ۲:  تنها معماری موجود از دبیان گنو/هرد معماری i386 می‌باشد.


قدم سوم: چک کردن md5sum.

برای اطمینال از صحت دانلود می‌بایست همیشه md5sum را چک نمود. برای این‌کار با استفاده از ترمینال به پوشه‌ی دانلود فایل دبیان گنو/هرد می‌رویم و با استفاده از دستور زیر در ترمینال یک  مجموعه عدد و حرف به ما نشان داده می‌شود: (فرض می‌کنیم فایل مورد نظر در پوشه‌ی Downloads قرار  داشته باشد).

$ cd Downloads
$ md5sum debian-hurd.img.tar.gz

که حتماً می‌بایست عدد زیر را به ما بدهد:

957bb0768c9558564f0c3e0adb9b317e

نکته: مقادیر md5sum در این آدرس قرار دارد: http://ftp.debian-ports.org/debian-cd/hurd-i386/current/MD5SUMS

در صورت یکی بودن، به مرحله‌ی بعد می‌رویم. در غیر این‌صورت می‌بایست فایل را مجدداً دانلود نمود.


قدم چهارم: استخراج کردن فایل

برای استخراج کردن فایل می‌توان روی فایل موردنظر راست کلیک نموده و گزینه‌ی extract را انتخاب نمود و همچنین می‌توان دستور زیر را در ترمینال وارد نمود:

$ tar xzf debian-hurd.img.tar.gz

بعد از استخراج نمودن فایل خروجی debian-hurd-20130504.img خواهد بود.


قدم پنجم: اجرا کردن دبیان گنو/هرد

به دلیل آشنایی بیشتر کاربران با ویرچوال باکس، ابتدا آن را معرفی می‌نماییم و سپس سراغ kvm می‌رویم.


الف:  اجرا کردن دبیان گنو/هرد  با استفاده از ویرچوال‌باکس

ابتدا می‌بایست ایمیج دانلود و استخراج شده را به فرمت VDI تبدیل نمود. برای این‌کار می‌بایست ابتدا با استفاده از ترمینال به پوشه‌ی فایل موردنظر رفت و دستور زیر را وارد نمود:

$ VBoxManage convertfromraw debian-hurd-20130504.img debian-hurd-20130504.vdi --format vdi

و سپس می‌بایست برنامه‌ی ویرچوال باکس را اجرا نمود. پس از اجرای برنامه‌ی ویرچوال باکس بر روی دکمه‌ی  New کلیک می‌نماییم:

و سپس بر روی Next کلیک نموده و در پنجره‌ی باز شده مطابق زیر عمل نمود:

Name: دلخواه
Operating System: Other
Version: Other/Unknown


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

و سپس بر روی Next کلیک نموده و در صفحه‌ی باز شده ابتدا گزینه‌ی Use Existing Hard Disk را انتخاب نموده و سپس فایل debian-hurd-20130504.vdi را معرفی می‌نماییم. (به پسوند VDI دقت فرمایید.)

و سپس بر روی Next و بعد از آن Create کلیک می‌نماییم. اکنون دبیان گنو/هرد به منوی ویرچوال باکس اضافه گردیده است.

می‌توان با انتخاب آن و کلیک بر روی Start آن را اجرا نمود.


تذکر مهم: برای خارج کردن ماوس و کی‌بورد از ماشین مجازی و اعمال دستور به سیستم‌عامل میزبان می‌بایست به صورت پیش‌فرض ctrl سمت راست را فشار دهید.


ب:  اجرا کردن دبیان گنو/هرد  با استفاده از KVM

بدین منظور ابتدا برنامه‌ی Virtual Machine Manager را اجرا می‌نماییم و بر روی create a new virtual machine کلیک می‌نماییم.

سپس Name را بصورت دلخواه پر می‌کنیم و گزینه‌ی Import existing disk image را انتخاب نمی‌نماییم.

پس از آن روی Forward کلیک نموده و در پنجره‌ی باز شده بر روی Browse کلیک نموده و سپس فایل debian-hurd-20130504.img را معرفی می‌نماییم. (به پسوند img دقت فرمایید.) و سپس OS Type و Version را هر دو Generic انتخاب می‌نماییم.

سپس بروی forward کلیک می‌نماییم. در این صفحه می‌توانیم مقادیر پیش‌فرض برای حافظه را تغییر دهیم. و سپس بر روی forward کلیک می‌نماییم و در صفحه‌ی جدید باز شده در قسمت advanced options معماری (architecture) را i686 تعیین می‌کنیم.

و نهایتاً با کلیک بر روی گزینه‌ی Finish این مرحله تمام می‌شود. حال برای اجرای دبیان گنو/هرد می‌بایست در منوی اصلی یک بار بروی ماشین مجازی راست کلیک نموده و گزینه‌ی run را انتخاب نماییم و سپس دوباره بر روی آن راست کلیک نموده و این‌بار گزینه‌ی Open را انتخاب نمود. و برای بستن آن علاوه بر بستن پنجره‌ی دبیان گنو/هرد می‌بایست بر روی نام آن در منوی اصلی راست کلیک نمایید و سپس shutdown را انتخاب نمایید


ذکر مهم: برای خارج کردن ماوس و کی‌بورد از ماشین مجازی و اعمال دستور به سیستم‌عامل میزبان می‌بایست به صورت پیش‌فرض alt و ctrl سمت چپ را به صورت همزمان فشار دهید.


قدم ششم: وارد شدن به محیط دبیان گنو/هرد
بدین منظور بعد از اجرای دیبان گنو/هرد توسط ویرچوال‌باکس یا Virtual Machine Manager به منوی «گراب» می‌رسیم. در گراب نام سیستم‌عامل و نسخه‌ی هسته‌ی آن که «ماخ» می‌باشد نوشته شده است. همان طور که در عکس زیر مشاهده می‌کنید، هسته‌ به صورت دقیق‌تر «ماخ» است و نه «هرد» ولی برای نام‌گذاری از هرد استفاده شده و سیستم‌عامل به نام «دبیان گنو/هرد» شناخته می‌شود. گراب بعد از پنج ثانیه به صورت خودکار به مرحله‌ی بعد می‌رود.


و سپس  می‌بایست نام‌کاربری را root، و بدون نیاز به پسورد، وارد کرد.


در صفحه‌ی جدید که مانند زیر است، می‌توان به صورت متنی کار کارد یا با وارد کردن دستور startx  وارد محیط گرافیکی شد.


و مثلاً از ای‌مکس  عزیز و دوست‌داشتنی که آخرین نسخه‌، یعنی ۲۴، هست لذت برد.


سخن آخر: دبیان گنو/هرد هنوز به مرحله‌ی پایداری نرسیده و نمی‌توان از آن به صورت همیشگی استفاده نمود.

منبع مورد استفاده: +

در پست بعد در رابطه با اولین تجربه‌ام با دبیان گنو/هرد می نویسم.
  • سلمان محمدی

xdg-user-dirs

۱۷
آذر

سلام،

در این پست می‌خواهیم به صورت خیلی ساده در رابطه با xdg-user-dirs صحبت کنیم و بگیم که این جزء از freedesktop.org که در GNOME ،KDE و ... پیاده‌سازی شده، چی هست و چه کاربردی داره.


بعضی پوشه‌ها در گنو/لینوکس هستند که خاص هستند به طور مثال پوشه‌های Videos و Downloads و Pictures و Desktop و ...



این پوشه‌ها همان‌طور که در عکس می‌بینید دارای آیکون متفاوتی نسبت به بقیه‌ی پوشه‌ها هستند. این پوشه‌ها توسط بعضی برنامه‌ها برای ذخیره‌سازی فایل‌ها استفاده می‌شن مثلاً اگر در محیط گنوم‌شل (GNOME Shell) دکمه‌ی print screen رو بزنید، به صورت خودکار عکس گرفته شده در پوشه‌ی Pictures ذخیره می‌شه.


حالا فرض کنید که به صورت اتفاقی مثلاً پوشه‌ی Pictures رو پاک می‌کنید. چنان‌چه مجدداً پوشه‌ای به اسم Pictures بسازید، کارایی قبل را نخواهد داشت و خواهید دید که آیکون آن مثل بقیه‌ی فولدرهای عادی خواهد بود. و چنان‌چه دکمه‌ی print screen را بزنید، دیگه عکس‌ها به صورت خودکار در Pictures ذخیره نمی‌شن و در خانه (home) ذخیره می‌شه.


مشخصات این پوشه‌ها در فایلی متنی به اسم user-dirs.dirs قرار دارند که بصورت پیش‌فرض در پوشه‌ی .config ذخیره شده‌اند و برای دسترسی به آن نیازی به دسترسی ریشه (root) نیست. با استفاده از ترمینال نیز می‌توان به آن دسترسی پیدا کرد:

$ cd ~/.config
$ nano user-dirs.dirs

که محتویات آن این چنین است:

# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
#
XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_TEMPLATES_DIR="$HOME/Templates"
XDG_PUBLICSHARE_DIR="$HOME/"
XDG_DOCUMENTS_DIR="$HOME/Documents"
XDG_MUSIC_DIR="$HOME/Music"
XDG_PICTURES_DIR="$HOME/Pictures"
XDG_VIDEOS_DIR="$HOME/Videos"

حال چنان‌چه گفته شد، به صورت اتفاقی پوشه‌ی Pictures را پاک کنید، محتویات آن به صورت زیر تغییر می‌کند (به خط یکی مانده به آخر توجه کنید)

# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
#
XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_TEMPLATES_DIR="$HOME/Templates"
XDG_PUBLICSHARE_DIR="$HOME/"
XDG_DOCUMENTS_DIR="$HOME/Documents"
XDG_MUSIC_DIR="$HOME/Music"
XDG_PICTURES_DIR="$HOME"
XDG_VIDEOS_DIR="$HOME/Videos"

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


برای اطلاعات بیشتر: http://freedesktop.org/wiki/Software/xdg-user-dirs


منابع: +

  • سلمان محمدی

با سلام،

مقدمه: در پست‌های قبل در رابطه با مدیریت محتوا در سورس‌فورج و همچنین تنظیمات اولیه‌ی فایل‌زیلا صحبت کردیم. در این پست می‌خوایم در رابطه با این صحبت کنیم که چگونه یک دامنه‌ی سطح بالا رو به فضای پروژمون وصل کنیم (مثل http://shimool.com که بر روی http://shimool.sourceforge.net سوار شده است.)


قدم اول: خرید دامنه.

اول از همه ما باید یک دامنه‌ی سطح بالا (مثل example.com یا example.org یا غیره) رو خریداری کنیم.


قدم دوم: تنظیم DNS دامنه.

در سورس‌فورج تنظیم DNS دامنه به راحتی بقیه‌ی هوست‌ها نیست و ما باید که این کار رو از طریق کنترل پنل دامنه انجام بدیم. پس در نتیجه انتظار چیزی مثل زیر رو نداشته باشید، چون وجود ندارد.

ns1.sourceforge.net
ns2.sourceforge.net
...

برای تنظیم DNS ابتدا به کنترل پنل دامنه می‌ریم (برای این‌کار می‌تونید از شرکتی که دامنه رو خریداری کردید کمک بگیرید)

و سپس موارد زیر رو باید تنظیم کنیم:

yourdomain.com should be a IN A to 216.34.181.97.
www.yourdomain.com should be a CNAME to vhost.sourceforge.net.
cvs.yourdomain.com should be a CNAME to PROJECTNAME.cvs.sourceforge.net

که در اون بجای yourdomain.com نام دامنه‌ی خود و بجای PROJECTNAME نام پروژمون رو قرار می‌دیم.

بطور مثال برای من که نام دامنه‌ام shimool.com هست و آدرس صفحه‌ی پروژم shimool.sourceforge.net هست، باید به صورت زیر تنظیم کنم:

shimool.com should be a IN A to 216.34.181.97.
www.shimool.com should be a CNAME to vhost.sourceforge.net.
cvs.shimool.com should be a CNAME to shimool.cvs.sourceforge.net

تنظیم A Records:

و تنظیم CNAME Record:

و


قدم سوم: تنظیم سورس‌فورج

حال که موارد بالا تنظیم شد به صفحه‌ی پروژمون در سورس‌فورج می‌ریم و سپس بخش admin و سپس VHost DNS میریم و موارد زیر را در در مقابل New virtual host: می‌نویسیم و create را می‌زنیم.

www.yourdomain.com
yourdomain.com
cvs.yourdomain.com

که باید بجای yourdomain.com نام دامنه‌ای که خریداری کردید رو بنویسید. بعد از این عمل باید تقریباً شش ساعت صبر کنید تا تنظیمات انجام شوند. بعد از آن با وارد کردن نام دامنه‌‌ی خود به صفحه‌ی پروژه در سورس‌فورج وصل می‌شید.


در پست بعد به انجام کارهای ساده‌ای مثل آپلود فایل و پوشه، تغییر نام آن‌ها و یا تغییر مجوز (permission) آن‌ها بوسیله‌ی فایل‌زیلا می‌پردازیم.


منیع اولیه‌ی این متن و اطلاعت بیشتر: +

  • سلمان محمدی

سلام دوستان عزیز،

توی پست قبل، به صورت خلاصه در رابطه با قابلیت‌های فضای  اختصاصی هر پروژه در سورس‌فورج صحبت کردیم. در این پست می‌خوایم در این رابطه صحبت کنیم که چجوری به این فضا با استفاده از فایل‌زیلا (filezilla) متصل بشیم.


فایل‌‌زیلا چیست؟

فایل‌زیلا نرم‌افزاری آزاد و متن‌باز هست که بوسیله‌ی اون میشه به سرورها با استفاده از پروتکل‌های FTP ویا SFTP متصل شد و انتقال فایل و پوشه و تغییر مجوز آن‌ها و بعضی کارهای ساده رو که اون پروتکل‌ها به ما اجازه‌ می‌دهند، انجام داد.


تنظیم فایل‌زیلا برای دسترسی به سورس‌فورج:

برای این‌کار ابتدا باید که فایل‌زیلا رو نصب کنیم، اگر از توزیعی بر پایه‌ی دبیان (خود دبیان، تریسکل، اوبونتو، مینت و ...) استفاده میکنیم با استفاده از دستور زیر در ترمینال می‌تونیم که اون رو نصب کنیم:

$ sudo apt-get install filezilla

و اگر از توزیعی بر پایه‌ی فدورا استفاده می‌کنیم با استفاده از دستور زیر:

$ su
# yum install filezilla

بعد از نصب، برنامه رو اجرا می‌کنیم و سپس به File > Site Manager > New Site می‌ریم و موارد زیر رو تنظیم می‌کنیم تا ذخیره بشن:

Host: web.sourceforge.net
Port: 22
Protocol: SFTP
Logon Type: Normal
User: <YOUR-USER-NAME>
Password: <YOUR-PASSWORD>

که باید به‌جای <YOUR-USER-NAME> و <YOUR-PASSWORD> به ترتیب نام‌کاربری سورس‌فورجمون و رمزمون رو وارد کنیم.

و سپس به تب Advanced می‌ریم و مورد زیر رو تنظیم می‌کنیم:

Default remote directory: /home/project-web/<YOUR-PROJECT-NAME>/htdocs

که باید بجای <YOUR-PROJECT-NAME> نام پروژه‌ای که در سورس‌فورج ساختیم رو قرار بدیم. توجه کنید که در این قسمت هیچ‌گونه space نزده باشید و تمامی حروف و علایم به هم چسبیده باشند،

و سپس بر روی connect کلیک کنیم تا به پروژمون توی سورس‌فورج متصل بشه.


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


منیع اولیه‌ی این متن و اطلاعت بیشتر: +

  • سلمان محمدی

سلام دوستان عزیز، توی این پست می‌خوایم در رابطه با بریکس‌کد (BricsCAD) صحبت کنیم و این‌که چجوری با یک کار خیلی ساده، از اون به صورت مادام‌العمر روی گنو/لینوکس به صورت رایگان استفاده کنیم :)


بریکس‌کد یک نرم‌افزار کد (CAD) هست که بر روی گنو/لینوکس (اوبونتو، فدورا، اوپن‌سوزه و غیره) و یا ویندوز خبیث :) قابل نصب هست. نرم‌افزارهای انگشت‌شماری مرتبط با معماری هستند که بر روی گنو/لینوکس می‌تونن فایل‌های پیش‌فرض اتوکد (dwg) رو با استفاده از کتابخونه‌های غیرآزاد، باز و ویرایش کنن. (برای اطلاعات بیشتر در رابطه با این‌ کتابخونه این‌جا و این‌جا رو ببینید).


درفت‌سایت (DraftSight) نرم‌افزاری هست که توسط شرکت عظیم و بسیار قدرتمند داسو سیستم تولید می‌شه و به صورت رایگان قابل دانلود هست. این نرم‌افزار بر روی سیستم‌عامل‌های گنو/لینوکس، مک و ویندوز قابل نصب هست. این نرم‌افزار، نرم‌افزار خوبی هست و می‌تونه فایل‌های dwg رو باز کنه ولی امکانات «بریکس‌کد» رو نداره. و همچنین این‌که بدلیل تحریم‌های این شرکت فرانسوی علیه شهروندان ساکن ایران دانلود این نرم‌افزار برای ما ایرانی‌ها به صورت عادی غیرممکن هست و برای دانلودش باید از آنتی‌فی*لتر، چیز‌پی‌ان، و غیره استفاده کنیم :)


بریکس‌کد (BricsCAD) بر خلاف درفت‌سایت رایگان نیست و تنها می‌شه ۳۰ روز به صورت رایگان از آن استفاده کرد ولی با یک کار بسیار بسیار ساده می‌شه این نرم‌افزار رو گول زد. (پاک کردن فایل لایسنس). از قابلیت‌هایی که این نرم‌افزار داره و درفت‌سایت نداره می‌شه به طراحی پارامتریک، BIM و ... اشاره کرد.



مراحل دریافت و نصب بریکس‌کد بر روی گنو/لینوکس:

۱. برای دانلود، ابتدا به وب‌گاه اون به آدرس (https://www.bricsys.com/common/download.jsp) برید و نسخه‌ی متناسب با توزیع گنو/لینوکس خود رو دانلود کنید (من نسخه‌ی ۶۴ بیت - اوبونتو رو دانلود کردم)


۲. برای راحتی نصب در توزیع‌های بر پایه‌ی دبیان (مثل اوبونتو) نرم‌افزار gdebi رو نصب می‌کنیم. برای نصب باید به اینترنت متصل باشیم و دستور زیر رو توی ترمینال بزنیم:

$ sudo apt-get install gdebi


۳. اگر از اوبونتو استفاده می‌کنید بر روی فایلی که دانلود کردید راست‌کلیک کنید و سپس بر روی (Open With GDebi Package Istaller) کلیک کنید و سپس دکمه‌ی Install Package رو بزنید تا نصب بشه.

اگر هم که از فدورا استفاده می‌کنید و با فرض وجود فایل مورد نظر در پوشه‌ی Downloads، با دستور زیر نصب کنید: (فرض می‌کنیم اسم فایل BricsCAD-V13.1.19-2-en_US-amd64.rpm است)

$ cd Downloads
$ su
# yum localinstall BricsCAD-V13.1.19-2-en_US-amd64.rpm

بعد از نصب شدن برنامه‌ی مورد نظر، روز اول که شما بریکس‌کد رو اجرا می‌کنید پیغام می‌ده که شما ۳۰ روز بیشتر فرصت ندارید، روز بعد پیغام می‌ده ۲۹ روز، روز بعد ۲۸ روز و ... تا این‌که به روزی می‌رسید که می‌گه شما دیگه نمی‌تونید از این نرم‌افزار استفاده کنید. حالا با یک کار ساده، کاری می‌کنیم که شمارنده‌ی نرم‌افزار بریکس‌کد از اول (یعنی ۳۰ روز) به صورت روزانه شروع به شمارش کنه.


برای این‌کار کافی هست که فایل .license رو پاک کنید :D

این فایل توی دیرکتوری Home و داخل پوشه‌ی .bricsys هست، به این پوشه برید و فایل .license رو پاک کنید. اگر هم خواستید با ترمینال کار کنید، می‌تونید با دستور زیر پاکش کنید

$ rm /home/`whoami`/.bricsys/.license


موفق باشید و از زندگی لذت ببرید.


نکته: تنها در صورتی اقدام به این کار کنید، که طبق قانون مجاز به انجام آن باشید، اگر در کشورهایی زندگی می‌کنید (مثل ایران) که از امضا کنندگان «کنوانسیون برن برای حمایت از آثار ادبی و هنری» نیستند، شما مجاز هستید که از نرم‌افزارهای تولید شده در دیگر کشورها بدون اجازه‌ی تولیدکنندگان آن استفاده کنید، همچنین آن‌ها هم می‌توانند از نرم‌افزارهای نشات گزفته شده از ایران، بدون اجازه‌ی ایرانی‌ها استفاده کنند.


نکته‌ی ۲: هیچ قانونی به صورت جهان شمول وجود ندارد، و قانون هر کشور تنها و تنها در محدوده‌ی مرزهای آن کشور نافذ است، برای ایجاد قوانین جهان‌شمول کنوانسیون‌های بین‌المللی وغیره ایجاد شده‌اند و قوانین تصویب شده توسط آن‌ها تنها در کشورهایی نافذ هستند که کشور مورد نظر آن معاهده را امضا کرده باشد و متعهد به رعایت آن شده باشد.


نکته ۳: دو نکته‌ی بالا بحث حقوقی بود ولی مباحث اخلاقی، مباحثی جداگانه هستند. بعضی مواقع باید مباحث اخلاقی را ارجح بر مباحث حقوقی دانست.

  • سلمان محمدی

سلام دوستان عزیز

در این پست می‌خواهیم در رابطه با این صحبت کنیم که چجوری می‌شه، آخرین نسخه‌ی زنجیره‌ی ابزار که توانگلیسی بهش می‌گن toolchain رو روی توزیع‌های بر پایه‌ی اوبونتو (که شامل تریسکل، خود اوبونتو، مینت و ... می‌شه)  نصب کنیم.

زنجیره‌ی ابزار مجموعه ابزارهایی هست که برای نوشتن و کامپایل‌کردن و ... به منظور تولید یک نرم‌افزار استفاده می‌شود. و شامل GCC هم می‌شه.


برای نصب آخرین نسخه‌ی GCC فقط کافیه که PAA زیر رو به سیستممون اضافه کنیم:

ppa:ubuntu-toolchain-r/test

که با استفاده از دستور زیر اضافه می‌شه:

$ sudo add-apt-repository ppa:ubuntu-toolchain-r/test

و طبق معمول باید بعدش  لیست نرم‌افزارهای موجود در سیستممون رو به‌روز کنیم:

$ sudo apt-get upadte

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

فقط باید درنظر داشته باشیم که این نرم‌افزارهای جدید با قبلی‌ها جایگزین نمی‌شن.

مثال عملی: من روی تریسکل ۶ جی‌سی‌سی (GCC)‌ دارم. برای این‌که بفهمم نسخه‌ی gcc من چند هست، دستور زیر رو توی ترمینال می‌زنم:

$ gcc --version

و به من جواب زیر رو می‌ده،

gcc (Ubuntu/Linaro 4.6.4-1ubuntu1~12.04) 4.6.4
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

حالا طبق چیزایی که بالا گفتم، اون مخزن رو اضافه می‌کنم و لیست مخازن رو بروز می‌کنم. حالا نرم‌افزار synaptic رو اجرا می‌کنم. و اگه ندارمش با دستور زیر نصبش می‌کنم:

$ sudo apt-get install synaptic

حالا نرم‌افزار synaptic رو اجرا می‌کنم و  به قسمت origin می‌رم و سپس LP-PPA-ubuntu-toolchain-r-test/precise و نگاه می‌کنم که آخرین نسخه‌ی GCC یا g++ یا gfotran یا ... چی هست، اون رو نصب می‌کنم.

الان نسخه‌ی قبلی gcc که ۴٫۶ هست و نسخه‌ی جدید که ۴٫۸ هست به صورت همزمان رو سیستم من نصب هستند، برای اطمینان بازدوباره دستورهای زیر رو می‌زنم تا ببینم که چه خروجی می‌دن:

$ gcc --version

و

$ gcc-4.8 --version

الآن هر موقع که خواستم از gcc نسخه‌ی جدید استفاده کنم به طور مثال برای کامپایل کردن یه کد ساده‌ی c، به جای دستور:

$ gcc -Wall test.c

از دستور زیر باید استفاده کنم:

$ gcc-4.8 -Wall test.c

و یا IDE مورد استفاده‌ام رو تنظیم کنم به جای gcc از gcc-4.8 استفاده کنه.


از این‌جا به بعد برای حرفه‌ای‌ترها است:

حالا این سوال پیش می‌یاد که یکی حوصله‌اش نمی‌شه هرسری توی ترمینال تایپ کنه gcc-4.8 و می‌خواید با تایپ کردن gcc خودش بره سر وقت gcc-4.8.

مراحل انجام این کار:

۱. پاک کردن رابط (لینک) gcc

۲. ایجاد یک رابط جدید برای gcc که به gcc-4.8 اشاره داشته باشه.


۱. از اول همه سر وقت جایی می‌ریم که عمده‌ی رابط‌ها (link) اون‌جا هستن یعنی:

/usr/bin

با استفاده از دستور cd به اون دیرکتوری می‌ریم:

$ cd /usr/bin

حالا می‌خوایم یه نگاه بندازین ببینیم که کلاً چه فایل‌ها یا دیرکتوری‌هایی اون‌جا هست، که برای این‌کار از دستور ls استفاده می‌کنیم:

$ ls

که یه خروجی زیادی بهمون می‌ده. حالا می‌خوایم جست‌وجو رو تنگ‌تر کنیم و به ترمینال می‌گیم، همه‌ی خروجی‌ها رو نشون نده، توی خروجی‌ها بگرد و اون‌هایی رو که حاوی کلمه‌ی gcc هستند به من نشون بده:

$ ls | grep gcc

که برای من این دستور چنین خروجی رو می‌ده:

c89-gcc
c99-gcc
gcc
gcc-4.6
gcc-4.8
gcc-ar-4.8
gcc-nm-4.8
gcc-ranlib-4.8
winegcc
x86_64-linux-gnu-gcc
x86_64-linux-gnu-gcc-4.6
x86_64-linux-gnu-gcc-4.8
x86_64-linux-gnu-gcc-ar-4.8
x86_64-linux-gnu-gcc-nm-4.8
x86_64-linux-gnu-gcc-ranlib-4.8

حالا فایل gcc رو به gcc.poshtiban تغییر نام می‌دم و از اون‌جایی که کاربر عادی نمی‌تونه فایل‌های این دیرکتوری رو تغییر بده، باید اول دستورم sudo اضافه کنم:

$ sudo mv gcc gcc.poshtiban

الآن gcc دیگه وجود خارجی نداره :). اگر دستور gcc رو توی ترمینال بزنم این پیغام رو می‌ده:

bash: /usr/bin/gcc: No such file or directory

الآن باید یه symbolic link (رابط سمبولیک) از gcc-4.8 بسازم، یعنی دقیقاً کاری که قبلاً برای gcc-4.6 شده بود، یعنی gcc یک رابط بود که به gcc-4.6 وصل می‌شد.

با استفاده از دستور ln می تونیم رابط مورد نظر رو بسازیم:

$ sudo ln --symbolic gcc-4.8 gcc

تموم شد :) الآن اگه توی ترمیینال بزنم:

$ gcc --version

خروجی زیر رو می‌ده:

gcc-4.8 (Ubuntu 4.8.1-2ubuntu1~12.04) 4.8.1
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

این کار رو می‌شه برای g++، gfortran و ... هم انجام داد. فقط یادتون باشه اگه gcc رو به نسخه‌های بالاتر ارتقا دادید، یعنی به ۴٫۹ یا بالاتر، بایستی رابط سمبولیک رو بازدوباره بسازید ولی این بار برای gcc-4.9 :)


اگر هم جایی خرابکاری کردید، فقط کافیه که gcc رو پاک کنید:

$ sudo rm gcc

و اون gcc رو که به عنوان پشتیبان نگه داشته بودیم، به اسم اصلیش یعنی gcc تغییر نام بدیم:

$ sudo mv gcc.poshtiban gcc
  • سلمان محمدی

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

یعنی چی؟ فرض کنید که شما مثل من چندتا سیستم‌عامل در کنار هم نصب کردید (اوبونتو، تریسکل و ویندوز) و موقعی که کامپیوتر رو روش می‌کنید و به منوی انتخاب سیستم‌عامل (گراب) می‌رسید، حوصله‌ی بالا پایین کردن منوها رو ندارید، می‌خواید خودش به صورت پیش‌فرض روی سیستم‌عامل مورد علاقه‌تون باشه. این‌کار خیلی ساده هست. باید مراحل زیر رو طی کنید.


۱. با استفاده از دستور زیر یه نسخه‌ی پشتیبان از گراب می‌گیریم تا اگه خراب کاری کردیم راحت بشه همه‌چیز رو به حالت اول برگردوند. دستور زیر رو توی ترمینال وارد می‌کنیم.

$ sudo cp /etc/default/grub /etc/default/grub.poshtiban

۲. حالا یکی از دستورهای زیر رو با توجه به ویرایشگر مورد علاقه توی ترمینال بزنید تا بتونید که گراب رو دستکاری کنید. (هرکدوم رو که زدید فرق نمی‌کنه).

نکته: اگر بر روی سیستمتون بیش از یک گنو/لینوکس نصب دارید، باید این دستور رو در سیستم‌عاملی بزنید که GRUB رو کنترل می‌کنه، در سیستم من، گراب موجود در اوبونتو سیستم رو کنترل می‌کنه و نه گراب موجود در تریسکل. بنابراین دستورهای زیر رو توی اوبونتو اجرا می‌کنم. به صورت کلی، باید دستور زیر رو توی سیستم‌عاملی بزنید که آخر از همه نصب کردید.

$ sudo emacs -nw /etc/default/grub

یا

$ sudo nano /etc/default/grub

یا

$ gksudo gedit /etc/default/grub

خب الآن باید یک سری متن رو ببینید، که برای من (در تریسکل) این‌ها هست:

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux-Libre (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

# Trisquel comes without kernel recovery entries to improve security.
GRUB_DISABLE_RECOVERY=true
خب الآن اگر خط ششم رو ببینیم نوشته:
GRUB_DEFAULT=0
این خط یعنی اینکه به صورت پیش‌فرض اولین گزینه موجود در گراب بوت بشه (شمارش از صفر شروع می‌شه و نه یک). اگر به طور مثال، موقع بوت گزینه‌ی مورد نظر شما از بالا به پایین گزینه‌ی پنجم است، در متن بالا 0 را به 4 تغییر می‌دیم و دخیره می‌کنیم. برای دخیره کردن در ای‌مکس از C-x C-s استفاده می‌کنیم و در nano از ctrl-o و در گدیت از Ctrl - s.

حال دستور زیر رو اجرا می‌کنیم تا گراب به روز رسانی بشه.
$ sudo update-grub
اگر سیستمتون رو ری‌استارت کنید، می‌بینید که به صورت پیش‌فرض سیستم‌عامل مورد نظرتون می‌یاد بالا :)
  • سلمان محمدی

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


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


علاقه‌مند شدم، میشه با یه مثال عملی توضیح بدی؟. چشم. سیستم کنترل نسخه‌ که انگلیسی‌زبان‌ها بهش می‌گن (version-control system) یا به اختصار vcs ، (و همچین اسپرانتو دان‌ها یهش می‌گن versitena sistemo) وسیله‌ای هست که ما از اون برای رسیدن به یعضی از مقاصد استفاده می‌کنیم! فرض کنید که سه نفر می‌خوان با کمک همدیگه نرم‌افزاری رو بنویسن (مریم، جمشید، پژمان). پس کدهای این نرم‌افزار (بدنه‌ی درخت = trunk ) باید در جایی قرار داشته باشه که هر سه نفر بهش دسترسی داشته باشن مثلا روی شبکه‌ی اینترنت. اون سه نفر بعد از فکرکردن در رابطه با نرم‌افزارهای آزاد، تصمیم می‌گیرن که کدهاشون رو روی اینترنت بذارن. حالا اون‌ها انتخاب‌های زیادی دارن که روی چه وب‌گاه‌هایی بذارن. بعد از دیدن وب‌گاه‌های متفاوت بین سه تا وب‌گاه مردد می‌مونن. وب‌گاه‌های لانچ‌پد،  گیتوریس و گیت‌هاب. می‌رن مطالعه بیشتر می‌کنن می‌بینن که وب‌گاه گیت‌هاب مورد تایید بنیاد نرم‌افزار آزاد نیست، پس همون اول بیخیالش می‌شن. لانچ‌پد از سیستم‌کنترل نسخه‌ی «گنو بازار» استفاده می‌کنه و گیتوریس از« گیت». بعد از مشورت با چند نفر به این نتیجه می‌رسن که هم گیتوریس خوب هست و هم لانچ‌پد ولی چون نیاز به مباحث مدیریت پروژه‌ای دارن از لانچ‌پد استفاده کنن بهتره. بعد یه پروژه روی لانچ‌پد می‌سازن و به خودشون (هر سه‌تاشون) دسترسی هم دیدن کدها و هم تغییر کدها می‌دن. (دسترسی خواندن نوشتن = read-write access). خب. جمشید کدهایی که از قبل نوشته بود رو می‌ذاره روی لانچ‌پد (commit می‌کنه.) و این کدها میشن نسخه‌ی ۱ (revision 1) بعد از اون مریم می‌ره کدهایی که جمشید روی لانچ‌پد گذاشته (نسخه‌ی ۱) رو می‌گیره (check out می‌کنه) و بعد تغییراتی روش اعمال می‌کنه و دوباره می‌فرسته روی لانچ‌پد (commit می‌کنه) و این میشه نسخه‌ی ۲ (revision 2). حالا جمشید می‌خواد ببینه که مریم چیکار کرده، پس میره کدها رو از لانچ‌پد میگیره (check out می‌کنه) و بعد با کدهایی که از اول داشت قاطیش می‌کنه (merge می‌کنه) و بعد تغییراتش رو commit می‌کنه و این قضیه همین‌جور ادامه پیدا می‌کنه. و بعد از مدت زیادی پژمان سر و کله‌اش پیدا میش‌شه، کدها رو می‌گیره و تغییرات چرت و پرتی می‌ده و می‌ذاره روی لانچ‌پد،  بعد مریم checkout می‌کنه و بعدش لیست تغییرها (change list) رو نگاه می‌کنه و متوجه میشه که بله آقا تشریف آوردن! تصمیم می‌گیره که تغییراتی که پژمان داده رو به حالت قبل بازگردونه (revert کنه). اون کار رو انجام می‌ده و با همفکری جمشید دیگه به پژمان فقط دسترسی دیدن کدها رو می‌دن (دسترسی فقط خواندن = read-only access) و از اون موقع به بعد هر موقع که پژمان بخواد کدها رو تغییر بده نمی‌تونه! و باید اول یک مخزن برای خودش بسازه و بعد یک کپی از کدهای روی‌لانچ‌پد رو بذاره روی مخزن خودش (منشعب کنه یا شاخه‌بندی کنه = fork کنه یا branch کنه) و بعد تقاضا بده که کدهاش با کدهای مسیر اصلی (baseline) که کدهای پروژه‌ی مریم و جمشید هست! قاطی بشه (merge request بده) و اگه اون‌ها صلاح دیدن کدها رو وارد کنن (merge کنن).


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


معنی بعضی از اصطلاح‌ها برام نا آشنا بود. بیشتر توضیحشون می‌دی؟ حتمن. اول این شکل رو که از ویکی‌پدیا گرفتم ببینید. خیلی از چیزها رو متوجه می‌شید.



منبع عکس: +

چه نرم‌افزارهای آزادی این کار رو می‌کنند؟
  • گنو بازار (GNU Bazzar) (مورد استفاده برای توسعه‌ی اوبونتو و دیگر متعلقات وابسته به شرکت کنونیکال!  و بسیاری دیگر)
  • گیت (Git) (مورد استفاده برای توسعه‌ی هسته‌ی لینوکس، سیستم‌عامل تریسکل و بسیاری دیگر از نرم‌افزارها)
  • مرکیوریال (Mercurial)
  • سی‌وی‌اس (CVS)
  • ساب‌ورژن (Subversion) (SVN)
  • گنو آرک (GNU Arch)  (گنو بازار یک فورک از گنو آرک است)
  • ...

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

  • لانچ‌پد (https://launchpad.net) (تنها میشه از گنو بازار روی آن استفاده کرد) (مورد استفاده برای توسعه‌ی اوبونتو و دیگر متعلقات وابسته به شرکت کنونیکال! و بسیاری دیگر )
  • گیتوریس (https://gitorious.org) (تنها میشه از گیت روی آن استفاده کرد)
  • سورس‌فورج (http://sourceforge.net) (گیت، بازار، سی‌وی‌اس، ساب‌ورژن و ... )
  • ...
ــــــــــــــــــــــــــــــــــــــــــــــــ
پست بعدی در رابطه با کنترل نسخه:

  • سلمان محمدی