دسته: linux

  • swaks، چاقوی ارتش سوئیس برای تست smtp سرور

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

    در حالت عادی می‌توان هر ایمیلی را با هر فرستنده‌ای که دوست داشته باشید
    به هر فردی ارسال کنید. اما mail server که درست تنظیم شده باشد همچون gmail و یاهو ip ایمیل دریافتی را با رکورد spf که صاحب دامین آن را تعریف کرده، تطبیق می‌دهند و در صورت ناهمخوانی ایمیل مستقیم به بخش اسپم می‌رود و غیر از آن یک نوشته را به کاربر نمایش می‌دهند که احتمال فیشینگ ایمیل وجود دارد.

     

    برای تست همه این موارد نیاز به یک SMTP سرور (برای مثال smtp.novid.ir:587) و تعریف چند کاربر ([email protected] و [email protected]) و همینطور ایجاد پسورد برای آنها داریم. ایمیل‌های تست به آدرس [email protected]  ارسال می‌شود. برای تست حالت‌های مختلف از ابزار قدرتمند SWAKS استفاده خواهیم کرد.

     

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

    اگر SMTP سرور به درستی کانفیگ نشود، هر فردی بدون احراز هویت قادر به ارسال ایمیل از طریق آن خواهد بود. به اینگونه سرورها در اصطلاح open mail relay گفته می‌شود.

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

     

    • آپشن t یا همان to ایمیل فرد دریافت کننده است.
    • s یا همان server، آی‌پی یا آدرس smtp سرور مد نظر است که در اینجا از طریق پورت 587 قصد وصل شدن به آن را داریم.
      پورت ۲۵ رو بسیاری از دیتاسنترها بسته‌اند و به دلیل امن نبودن، استفاده از آن توصیه نمی‌شود.
    • با استفاده از آپشن tls، کانکشن به smtp سرور به شکل STARTTLS برقرار می‌شود.
    • با آپشن from ایمیل فرستنده را مشخص می‌کنیم.

    معمولا خط بالای QUIT مشکل اصلی در عدم ارسال ایمیل را می‌گوید.

    <~* 530 5.7.1 Authentication required

    تست باز یا بسته بودن پورت ۲۵ SMTP سرور

    برای تست پورت ۲۵، کامند زیر را اجرا می‌کنیم.
    به شکل پیشفرض swaks از پروتکل امن esmtp جهت اتصال به سرور استفاده می‌کند.

    که نشان می‌دهد دسترسی به پورت ۲۵ عملا امکانپذیر نیست.

    ارسال ایمیل با احراز هویت

    برای ارسال ایمیل با یوزر و پسورد کافیست که آپشن a یا همون auth رو به کامند اضافه کنیم.
    بعد از زدن اینتر،  یوزر و پسورد به شکل جداگانه پرسیده می‌شود.

     

    ارسال ایمیل بدون فعال‌سازی tls

    تست رو مجدد بدون tls انجام می‌دیم تا مطمئن شویم تنها راه اتصال به سرور از طریق امن امکان پذیر است.

     

    ارسال ایمیل با پسورد اشتباه

    کامند را با پسورد اشتباه اجرا و انتظار داریم که ایمیل ارسال نشود.

    ارسال ایمیل با هویت یک فرد دیگر عضو سیستم

    تست رو تغییر داده با یوزر و پسورد صحیح کاربر admin ایمیلی از طرف  info بفرستیم.
    کافیست که from رو به info تغییر داده و یوزر و پسورد admin رو وارد به ترتیب صحبح وارد نماییم.

     

    ارسال ایمیل با هویت فردی که عضو سیستم نیست

    در آخر از طرف فردی که در سیستم وجود ندارد سعی در ارسال ایمیل می‌نماییم.

     

    پی‌نوشت: خروجی swaks در این مثال‌ها بخاطر حفظ IP اصلی سرور دستکاری شده است.

  • استفاده از DNS بر بستر TLS با pfSense

    دی‌ان‌اس‌های جدید کلودفلیر به مشخصات 1.1.1.1 و 1.0.0.1 به تازگی معرفی شدند. ویژگی خوب کلودفلیر غیر از سرعت بالای اون قابلیت پشتیبانی از TLS هست و به همین دلیل درخواست کلاینت به سرور رمزنگاری شده و دیگر امکان تغییر پاسخ در بین راه وجود نخواهد داشت.

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

    ابتدا مطمئن شوید که به شکل عادی pfSense از دی‌ان‌اس‌های کلودفلیر استفاده می‌کند.

    برای اینکار در بخش System > General Settings و در بخش DNS Servers آدرس‌های کلودفلیر را وارد می‌کنیم.

     

    برای اینکه به pfSense بگیم که از قابلیت TLS استفاده کند به بخش  Services > DNS Resolver رفته در بخش Display Custom Options متن زیر رو بگذارید.

     

    در صورتیکه بخواهید از Quad9 DNS servers که متعلق به IBM استفاده نمایید یا اونها رو در کنار کلودفلیر داشته باشید کافیه این دو خط رو جایگزین خطوط بالا کنید یا زیر اون اضافه نمایید.

    منبع

  • اضافه کردن یک نود جدید به glusterfs

    وقتی سه سرور داشته باشید که هر کدام از آنها برای مثال سه ترابایت فضای ذخیره داشته باشند و بخواید همه این فضاها رو یکی کنید و به یک استوریج نه ترابایتی برسید یکی از گزینه‌های خوب  گلاستراف‌اس است. در سنت‌اواس به راحتی میشه ورژن‌های مختلف این برنامه رو نصب کرد. حالا فرض رو بگذارید که زمان گذشته و قصد کردیم سرور چهارم (s4) رو به کلاستر (s1,s2,s3) اضافه کنیم. برای اینکار باید در یکی از سرورهایی که از قبل عضو کلاستر بودند، کامند زیر رو اجرا کنید.

    اما اگر مثل من بدشانس باشید همین دستور خیلی ساده مشکل ساز میشه و عضو جدید به درستی کار نخواهد کرد.

    وقتی لاگ مربوط به گلاستر در سرور s4 رو ببینید همچین پیغامی خواهید دید.

    که با زبون سربسته داره میگه نود جدید که قصد اضافه کردن اون رو به کلاستر داشتیم نتونسته اطلاعات لازم رو از نود s2 بگیرد! نود s2 همون نودی بوده که از قبل عضو کلاستر بوده و از داخل اون قصد داشتیم نود جدید رو عضو کلاستر کنیم.

    دلیل این اتفاق این بود  که همه نودهای کلاستر ورژن 3.12.5 بودند اما در زمانیکه قصد اضافه کردن عضو جدید به کلاستر رو داشتم، گلاستر centos به نسخه 3.12.6 آپگرید شده و دقیقا همین موضوع باعث مشکل میشه. برای اضافه کردن نود جدید به کلاستر باید دقت کنید که ورژن گلاستر سرور جدید و قدیم دقیقا یکی باشد.

    پروسه‌ی دانگرید در centos برخلاف اوبونتو می‌تونه آدمیزاد رو زخم کنه و اساسا بخاطر همین موضوع شروع به نوشتن این راهنما کردم.

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

    بعد در سرور جدید (s4) به شکل زیر یک مخزن لوکال ساختم.

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

    قبل از نصب گلاستر ورژن قدیمی، بایستی اول اون رو از کلاستر حذف کنیم
    برای اینکار کافیه از یکی از سرورها که عضو کلاستر هستند (s2) کامند زیر رو بزنید.

    بعد در سرور s4 که قراره ورژن اون رو دانگرید کنیم بعد از استاپ سرویس گلاستر در مسیر زیر هر چی فایل هست رو پاک کنیم.

     

    گلاستر برای نصب نیاز به یک پکیج به اسم userspace-rcu داره که ورژن اون  باید 0.10 به بالا باشد. برای نصب این پکیج بهتره از همونی که داخل مخزن گلاستر 3.12.6 موجوده بهره ببریم.

    وقتی که میخوایم پکیج های گلاستر 3.12.6 رو پاک کنیم یادمون نمیره که userspace-rcu رو نگه داریم وگرنه به مشکل خواهیم خورد.

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

    و دوباره نود رو به کلاستر جوین میکنیم.

    و در آخر مطمئن میشیم که همه چیز خوب پیش رفته باشد.

     

     

     

  • haproxy و ردیس کلاستر

    ردیس یک محدودیت خیلی مهمی داره و اون اینکه single thread  و برای همین نمی‌تونه  بیشتر از  یک core از پردازشگر رو استفاده کنه. یکی از راه‌حل‌های روتین استفاده از کلاستر ردیس که عملا اطلاعات بین چند node ردیس پخش میشه(sharding)‌. نکته مهم اینه که در این مدل شما چند نود ردیس به شکل master  دارید که هر کدوم از اونها باید دست کم یک slave داشته باشند تا در صورتیکه یک نود به هر دلیل از دسترس خارج شد، نود slave به صورت خودکار وارد بازی بشه.

    در این پروسه  هیچ تضمینی برای اینکه اطلاعات از دست نره (در زمان از دست رفتن نود master)‌ وجود نداره! دلیلش اینه که شما اطلاعات رو روی node مستر می‌نویسید، نود مستر به کلاینت میگه اوکی دیتا رو دارم و بعد تازه میره دنبال اینکه دیتا  روی نود slave هم ذخیره بشه. :)‌

    این رو هم بگم که برای اینکه دیتا به شکل مساوی بین node های مستر پخش بشه، کلاستر ردیس از چیزی به اسم SLOT استفاده میکنه. در مجموع 16384 اسلات ردیس کلاستر داره که بسته به تعداد node هایی که داریم میاییم اسلات ها رو بین نودها تقسیم میکنیم.

    کلاینت در صورتی که به یک node (مستر) درخواست بده واطلاعات روی اون  نباشه، بجای اینکه کلید درخواستی رو بده، اطلاعات nodeی رو  که کلید داره رو میده و دوباره کلاینت باید به اون دومی درخواست بده :)  و  این میشه همون سربار یا overhead که ردیس کلاستر به ردیس معمولی داره بعلاوه اینکه یک سری محدودیت ها رو هم خواهید داشت مثل اینکه نمیشه از قابلیت Geo location ردیس استفاه کنید .

    حالا نکته اینجاس که اگر کلاینت به یک نود مستر وصل شه و اون نود به هر دلیل داون بشه، هر چند slave به شکل خودکار تبدیل به مستر میشه، اما دیگه کلاینت از اون نود اطلاعی نداره!‌ برای حل این مشکل از لودبالانس HAPROXY استفاده میکنیم.

    خودم haproxy رو به دلایل خیلی زیادی با داکر همیشه بالا میارم که کار رو خیلی ساده میکنه و برای اینکار هم لازم نیست همه چی رو از اول بسازیم، از یک داکر اماده استفاده میکنیم.

    و بعد باید اون رو build کنیم.

    قبل از اجرای تنظیمات باید یک کانفیگ haproxy ایجاد کنیم که اون رو به خورد کانتینر بدیم.

    بخش frontend باعث میشه haproxy روی پورت  6379 لیستن کنه و هر ترافیکی هم که به سمتش بیاد رو به  backend پیشفرضی که تعریف کردیم، بفرسته.

    در بخش backend که قلب اصلی سیستم، haproxy  به نودهای فقط master ترافیک رو می‌فرسته. نکته قشنگ کار اینه که در اینجا همه نود های redis چه مستر و چه slave رو میدیم و از haproxy میخوایم بره وضعیت نودها رو خوش در بیاره. haproxy هم هر یک ثانیه میره از نودهای ردیس میپرسه که شما مسترسی یا salve  و اونها هم اگر جواب بدند مستر، به رنگ سبز در میان و اگر slave باشند دیگه از دور خارج میشند و عملا ترافیکی به سمت اونها نمیره :)

    در بخش stats هم که صرفا امار haproxy رو فعال کردیم و کار مهمی انجام نمیده، بخش اول nbproc هم نمایانگر تعداد core های سرور و اینجا با فرض اینکه سرور هفت core پردازشی داره، شش تا از اونها رو بدین شکل به خورد haproxy میدیم :) haproxy هم مشابه nginx میاد به تعداد core هایی که مشخص کردیم child میسازه.

    و در نهایت داکر ha رو با کامند زیر اجرا می‌کنیم.

    یک قابلیت خوب این کانتینر اینه که میشه کانفیگ haproxy روی سرور اصلی رو ویرایش کرد، کانتینر به شکل خودکار متوجه این امر میشه و در صورتی که مشکلی در سینتکس وجود نداشته باشه، تغییر رو اعمال میکنه. برای اینکه از این قابلیت استفاده کنید باید تغییری در ادیتور vim بدیم.

     

    و در نهایت اینکه اگر سرورتون زیر بار خیلی زیادی حتما تنظیمات زیر داخل sysctl فراموش نشه.

     

  • نصب دیسترو جدید از راه دور

    موقعیتی رو تصور کنید که روی سروری که در اختیار دارید می‌خواید یک سیستم عامل از اول نصب کنید. اما دسترسی به kvm ندارید.

    اگه روی سرور دسترسی به گراب داشته باشید به راحتی می‌شه بدون داشتن kvm یک سیستم عامل جدید رو نصب کرد.

    حتی موقع خرید سرور جدید بجای اینکه پول بدید بابت فعال کردن kvm خیلی راحت با سنت‌اواس ۵.۹ میشه سرور ددیکیتد رو تهیه کرد و بعد با روشی که گفته میشه اکثر سیستم عامل‌های جدید رو از اول خودتون نصب کنید :)

    برای کسایی هم که نمی‌دونن kvm چیه بگم یه چی تو همون مایه‌های مانیتور کنار کیس و به صورت ریموت تصویر نصب دیسترو جدید رو خواهید داشت و بنابراین می‌شه سیستم رو به نحو مطلوب پارتیشن بندی و به دیسترو مطلوب آپگرید کرد.

    برای شروع کافیه برید پوشه boot و یه فولدر بسازید به اسم دیسترویی که قراره نصب کنید . حالا باید کرنل و initrd دیسترو مد نظر رو دانلود کنید. و بعد توی کرنل سه خط اضافه میکنید تا موقع بالا اومدن سیستم از فایل‌هایی که دانلود کردید استفاده شه. توی همین گراب هم آی‌پی و مشخصات شبکه سرور رو می‌دید تا از طریق ریموت بتونید پروسه نصب اواس جدید رو نگاه کنید! :)

    مثلا برای نصب سنت‌اواس ۶.۴ کافیه این مراحل رو انجام بدید.

    cd /boot

    mkdir centos6

    cd centos6

    wget http://mirror.centos.org/centos/6.4/os/x86_64/isolinux/vmlinuz

    wget http://mirror.centos.org/centos/6.4/os/x86_64/isolinux/initrd.img

    و حالا ویرایش گراب ( با فرض اینکه سنت‌اواس ۵.۹ و گراب یک دارید)‌

    vi /boot/grub/menu.lst

    این سه خط رو اضافه میکنید

    title CentOS 6.4 VNC Installation
    root (hd0,0)
    kernel /centos6/vmlinuz vnc vncpassword=yourPassword headless ip=10.0.0.10 netmask=255.255.255.0 gateway=10.0.0.1 dns=8.8.8.8 ksdevice=eth0 method=http://mirror.centos.org/centos/6.4/os/x86_64/ lang=en_US keymap=us
    initrd /centos6/initrd.img

    رنگای آبی تعداد خطا رو نشون می ده که کلا ۴ خط خواهید داشت. همه‌شون رو هم با توجه به تنظیماتی که توی گراب وجود داره کپی‌ پیست می‌کنید. فقط خطی رو که مربوط به kernel و initrd هست رو به شکل بالا دستکاری میکنید. آی‌پی و نت مسک و گیت‌وی هم که با توجه به هر سروری فرق میکنه و خیلی مهمه! با این ای‌پی می تونید ریموت از طریق vnc وارد پروسه نصب بشید :)

    پارامتر default=0 رو هم می‌تونید تغییر بدید تا به صورت خودکار بعد از ریست، سیستم با کرنل دیسترو جدید بوت بشه. اگرم چیزی ترکید و سیستم بالا نیومد می‌تونید زنگ بزنید به دیتاسنتر و بگید که سیستم رو ریست بدن و اینبار برن توی کرنل دیسترو قدیمی! :)‌ اما راه بهتری هم هست که کاری کنیم بدون ریست و تغییر گراب، کرنل و initrd بوت بشه! برای اینکار باید برنامه kexec-tools رو نصب داشته باشید.

    kexec -l /boot/centos6/vmlinuz –initrd=/boot/centos6/initrd.img

    kexec -e

    دستور اول کرنل و initrd رو در مموری بارگذاری میکنه و دستور دوم باعث بالا اومدن کرنل جدید میشه.

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

    http://cdimage.ubuntu.com/netboot/

    http://www.debian.org/distrib/netinst

    و اپن‌سوزه

     mkdir /boot/install

     cd /boot/install

     wget –output-document=oS-12.3.vmlinuz.install http://download.opensuse.org/distribution/12.3/repo/oss/boot/$(uname -i)/loader/linux

     wget –output-document=oS-12.3.initrd.install http://download.opensuse.org/distribution/12.3/repo/oss/boot/$(uname -i)/loader/initrd

    و در گراب هم تنظیمات به این شکل میشه

      title install
    root   (sdX,Y) # change this (sdX,Y)
    kernel /boot/install/oS-12.3.vmlinuz.install install=http://download.opensuse.org/distribution/openSUSE-stable/repo/oss/
    initrd /boot/install/oS-12.3.initrd.install

  • دانلود یک فایل با استفاده از پهنای باند چند کانکشن

    یه وقتایی پیش میاد آدم از چند جا اینترنت داره،‌ یه ADSL و مثلا یه وایمکس و حالا آرزو میکنه ایکاش می‌شد عملا راهی می‌بود که خیلی ساده از سرعت جفتشون استفاده می‌کرد!

    عملا دانلود یه فایل حجیم با استفاده از چند کانکشن فکر نکنم کار خیلی ساده و راحتی باشه و شایدم حتی نشدنی!

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

    تصور کنید ۷۰۰ تا گوشی دارید! به عبارتی ۷۰۰ کانکشن نت  :) و یه تورنت که ۷۰۰ تیکه و هر تیکه یه مگ! حالا میشه در عمل یه فایل ۷۰۰ تیکه ای رو خیلی سریعتر دانلود کرد:) حتی با همین اینترنت حلزونی

    حتی  می‌شه توی جشن انتشار یه دسترو یا تولد یه دسکتاب! این طرح رو عملا آزمایش کرد :)‌ کار با مزه‌ای باید بشه!

  • PhotoFilmStrip برنامه‌ای عالی برای تبدیل مجموعه‌ای عکس، به فیلم

    PhotoFilmStrip برنامه‌ای عالی برای تبدیل مجموعه‌ای عکس، به فیلم

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

    و البته حرکت روی عکس‌ها با کمک افکت “کن برنز” به صورت فوق العاده‌ زیبایی انجام میشه.

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

     

    افکت ken-burns

     

    تمام  حرکت‌های دوربین رو  میشه  با کمک دو مستطیلی که با انتخاب هر عکس ظاهر می‌شه، در داخل برنامه کنترل کرد :)

     

    ken-burn

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

    برای پرش بین دو عکس نیز میشه از دو حالت گذار Fade و Roll بهره جست.

    ودیگه اینکه میشه نوشته‌ای رو بر روی هر عکس قرار داد. این نوشته‌ها در هنگام گرفتن خروجی نهایی، متناسب با زمان پخش هر عکس در فیلم، در فایل srt از لحاظ زمانبندی مرتب میشن! در صورتی که در هنگام رندر نهایی، گزینه RenderSubtitle در حالت True قرار بگیره، زیرنویس روی خود فیلم قرار میگیره و در حالت پیشفرض نیز به صورت یک فایل srt به صورت جدا از فیلم ذخیره خواهد شد.

    از همه اینها مهمتر کیفیت  بالای کار نهایی است. در حالت HD یک فیلم ۵ دقیقه و ۳۰ ثانیه‌ای، حجمی معادل ۴۰۰ مگ خواهد داشت!

    از مشکلات برنامه میشه به کند بودن عمل رندر نهایی اشاره کرد که کمی زمانبره در حالی که با پردازشگر ۴ هسته ای زمان باید خیلی کمتر باشه :)

    خروجی رو به صورت VCD و DVD و Full HD  و با فرمت MPEG 1 و FLV وMPEG4  میشه ذخیره کرد.

    سورس برنامه هم  پایتونه که با موتور mencoder چرخش می‌چرخه.

    آخرین نسخه پایدار برنامه رو که به تازگی منتشر شده، برای سیستم عامل ویندوز و لینوکس از این صفحه دانلود کنید ;) و شاد باشید از اینکه یک برنامه اپن سورس چنین کاری رو می‌تونه انجام بده :ی

    *می‌شه انتظار داشت که برنامه تو نسخه‌های آتی پیشرفت‌های خیلی بیشتری هم داشته باشه

  • همایش روز آزادی نرم‌افزار در اصفهان

    همایش روز آزادی نرم‌افزار اصفهان

    روز آزادی نرم‌افزار هر ساله در سومین شنبه از ماه سپتامبر برگذار میشود، هدف اصلی این جشن‌ها، معرفی مفهوم آزادی نرم‌افزار به دیگران و تشویق آن‌ها به استفاده از آن است.

    روز آزادی نرم‌افزار اولین بار در ۲۸ اوت سال ۲۰۰۴ جشن گرفته شد. سال اول ۷۰ گروه در نقاط مختلف جهان جشن‌ها را برگزار کردند. این عدد در سال بعد به ۳۰۰ تیم در ۶۰ کشور رسید و تا جایی که پیش رفت که در سال ۲۰۰۸، این جشن در ۹۰ کشور جهان برگزار شد.

    «گروه کاربران لینوکس اصفهان» از سال ۲۰۰۷ تا کنون هر ساله روز آزادی نرم‌افزار را جشن گرفته است، امسال هم همانند سال های گذشته اصفهان‌لاگ برنامه های متنوعی برای این روز دارد. همایش روز آزادی نرم‌افزار در ۵ شنبه ۲۵ شهریور ۱۳۸۹، در تالار صائب دانشگاه اصفهان با همکاری و پشتیبانی «انجمن علمی گروه کامپیوتر دانشگاه اصفهان» و کاربران اصفهان‌لاگ و همچنین و« فروشگاه سی‌تو» برگذار می‌شود.کاربران علاقه‌مند برای شرکت در این همایش می توانند به رایگان ثبت‌نام کنند.