تکه تکه کردن فایل ها برای دانلود همزمان با curl

25 05 2011

خیلی وقتا مثل الآن من ممکنه هر چی ابزار اتوماتیک برای یه کار دارین درست کار نده یا به هر دلیلی ازشون خوشتون نیاد!! مثل aria2c که الآن واسم فایل ها رو تکه تکه نمیکنه
مزیت curl هم اینه که اکثر پروتوکل های معروف تبادل اطلاعات رو پشتیبانی میکنه.
شما میتونید کاری که aria2 انجام میده رو به طور دستی انجام بدین یعنی به سرور اطلاع بدین که من این فایل رو از این بایت تا یه بایت دیگش رو میخوام!
با دستور زیر قسمتی از یک فایل رو دانلود میکنین (البته سرور باید قابلیت تکه تکه دادن فایل رو داشته باشه یا به عبارت دیگه لینک مستقیم باشه)
curl --range 0-199999999 -o file.part1 URL
دستور بالا میگه از بایت ۰ تا بایت ۱۹۹۹۹۹۹۹۹ رو واسم دانلود کن!
تصور کنید میخوایم یه یه فایل ۴۰۰ مگابایتی رو به ۲ تکه تقسیم کنیم و همچنین میخوایم تکه ی اول رو از سرور ۱ و تکه ی دوم رو از سرور دوم دانلود کنیم
مزیت این کار اینه که در صورت پایین بودن سرعت سرویس دهی سرور ها شما از ۲ سرور به طور همزمان برای دانلود یه فایل استفاده کردید!!
curl --range 0-199999999 -o file.part1 URL1 & curl --range 200000000- -o file.part2 URL2
پس از اتمام دانلود با cat میتونید فایل ها رو یکی کنید! (فقط ترتیب شماره زنی فایل ها رو رعایت کنید تا خطایی در الحاق کردن چند فایل اتفاق نافته)
cat file.part? > file
علامت & در دستور برای همزمان اجرا کردن دستور ها استفاده شده. قالب –range به صورت زیر هست:
میشه یه بازه تعیین کرد: مثلا واسه دانلود بازه بسته بایت a تا b
میشه عدد اولی رو ننوشت و بگیم مثلا -500 که در این حالت ۵۰۰ بایت آخر رو دانلود میکنه
یا میشه 500- استفاده کرد که از بایت ۵۰۰ تا آخر فایل رو میاره

Advertisements




راهنمای git – قسمت اول

27 08 2010

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

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

تا قبل از استفاده از برنامه های کنترل ورژن حتما مثل من از فولدر های درون پرژه بک آپ می گرفتید. ولی با گیت این مشکل به راحتی حل میشه! کافیه شما بعد از انجام هر کاری به گیت بگید که تغییرات انجام شده رو ذخیره کنه! مثلا هر بار که یه ماژول نوشتید یا یه قابلیت جدیدی رو اضافه کردین این کار رو انجام میدین.

قبل از ادامه دادن برای دانلود برنامه به git-scm مراجعه کنید. یه کتاب خیلی خوب هم هست که در اینجا می تونید بخونیتش.
برای نصب هم می تونید از پکیج لیست هاتون git-core رو نصب کنید.
برای تعریف پروژه با خط فرمان به پوشه ی پروژه برین و دستور زیر رو بزنین:
git init

با این دستور یه دایرکتور .git توی پروژه میسازه و اطلاعات پروژه رو توی اون نگه میداره.
توی خط فرمان دستور های زیر رو بزنید:
git config --global user.name "YOUR NAME"
git config --global user.email "YOUR EMAIL ADDRESS"
git config --global core.editor vim

خط اول و دوم که مشخصاتتون رو وارد می کنین و خط سوم هم ادیتور مورد علاقتون رو میذارین که فایل ها پیش فرض با این ادیت بشه. –global هم برای تمام پروژه های سیستم اعمال می کنه. این کار رو کردیم تا وقتی ورژنی رو ثبت می کنین به نام و ایمیل خودتون ثبت بشه.
حالا می تونین فایل های پروژه رو به مخزن با دستور زیر اضافه کنین:
git add .

وقتی فولدر یا فایلی رو در پروژه ساختین باید اون رو به مخزن اضافه کنین! نقطه ای که در آخر خط نوشتیم به این معنیه که تموم فایل های توی دایرکتوری رو به مخزن اضافه کنه. اصطلاحا اون ها رو track می کنه.
خوب حالا یه دستور در git هست به نام commit ! با commit شما تمام کار هایی رو که انجام دادین رو ثبت می کنین. به طور مثال وقتی یه قابلیت اضافه کردیم یه کامیت میزنیم و بعد کار بعدی رو انجام میدیم!‌با این کار اگه در هنگام ادامه دادن پروژه فایل ها خراب شدند به راحتی می تونیم برگردیم به حالتی که کامیت کرده بودیم.
با دستور زیر می تونین کارهایی که از کامیت قبلی تا الآن انجام دادین رو مشاهده کنین:
git status
با دستور زیر هم یه کامیت جدید میسازین:
commit -a
-a باعث میشه همه ی فایل هایی که track کرده بوده رو چک کنه ببینه چه اتفاقی براشون افتاده . دقت کنین که فایل هایی که جدید ساختین رو باید دستی با دستور add به مخزن اضافه کنین. بعد از زدن دستور بالا یه کامنت برای عمل انجام شده میذارین و از ادیتور خارج میشین.
دستور log هم تمام کامیت های ثبت شده رو لیست می کند:
git log
هر کامیتی که ثبت می کنین یه کد چند رقمی بزرگ میده که نشون دهنده ی آی دی کامیت هست! وقتی می خواهیم سیستم رو به وقتی که کامیتی رو ثبت کرده بودیم برگردونیم باید این آی دی رو در git checkout وارد کنیم:
git reset --hard COMMIT ID

درسته که آی دی کامیت خیلی بزرگ هست ولی چون اصل کار چند رقم اول هست برای راحتی کار چند رقم اول رو هم می تونید وارد کنید.

در قسمت بعدی کمی از branch و کار با remote repository خواهم نوشت





ذهنتان را با xmind بنویسید

28 11 2009

خیلی اوقات شده بخواهید اون چیزی که در ذهنتون می گذره رو به صورت یک نقشه بنویسید؟ ولی احتمالا ابزار این کار رو نداشتین و یک کاغذ بر می داشتید و با هزار تا دردسر اون ها رو مکتوب می کردین!! و وقتی می خواستین ایده تون رو عوض کنین یک برگه جدید شروع می کردین

با برنامه ی xmind می تونین به راحتی چیزی رو که فکر می کنین رو به صورت نمودار بنویسید!! این برنامه برای انجام پروژه های گروهی و فردی و زندگی شخصی بسیار کاربرد داره ! حتی برای سمینار دادن و دسته بندی موضوعاتی که می خواهید گزارش دهید بسیار مفید و سودمند هست.

بسیاری از پروژه های بزرگ یا بهتره بگم همه ی پروژه ها اکثرا با چنین طرح هایی شروع به کار  می کنن.

برای دانلود این برنامه به http://www.xmind.net بروید.

در این سایت می تونین طرح های دیگر افراد رو هم ببینین یا حتی خودتون طرح هاتون رو به اشتراک بذارید.

 

 





آپگرید کردن کوبونتو یا اوبونتو با کامند لاین

8 11 2009

خیلی از کسایی که عشق لینوکس هستن بیشتر اوقات دوست دارن به کامند لاین ور برن تا این که کارشون رو به صورت گرافیکی انجام بدن‌! این پست هم مختص همون افراده! البته این کار برای سرور ها و… هم کاربرد داره
اول باید مخازنمون رو عوض کنیم!
فایل etc/apt/sources.list را باز کنید و تمامی خط ها را کامنت کرده و سپس مخازن جدید را به آن اضافه کنید:(لیست مخازن را از خود سایت دریافت کنید)
برای آپگرید دستور زیر را بزنید
sudo apt-get update && sudo apt-get dist-upgrade && sudo apt-get dist-upgrade
حالا سیستم عامل شروع به دانلود پکیج های جدید می کند! که ممکن است چند ساعتی طول بکشد
سپس برای اطمینان از تمام شدن کار دستورات زیر رو بزنید:
sudo apt-get update && sudo apt-get dist-upgrade

sudo apt-get -f install

sudo dpkg --configure -a
سیستم را ریست کنید
خوش باشید





ساپورت رم ۴ گیگ در لینوکس ۳۲ بیتی

1 10 2009

همانطور که می دانید در سیستم عامل های ۳۲ بیتی نمی توان بیشتر از حدود ۳ گیگ از رم استفاده کرد!!‌ مثلا اگر سیستم شما دارای ۴ گیگ رم باشد سیستم عامل ۶۴ بیتی تنها قادر به استفاده از ۳ گیگ از آن می باشد .

تنها با نصب کرنل سرور بر روی لینوکستان این مشکل را حل خواهید کرد در حقیقت بعد از نصب و بازیابی مجدد سیستم  سیستم عامل از ۴ گیگ رم شما استفاده خواهد کرد
sudo sudo apt-get install linux-headers-server linux-image-server linux-server





محدود کردن برنامه ها به استفاده از cpu

25 05 2009

بسیاری از اوقات نمی خواهیم برنامه ای بیش از حد از سی پی یو استفاده کنه! مثلا تصور کنید می خواین یک DVD رو به divx تبدیل کنید . در این صورت برنامه ها از ۱۰۰٪ cpu شما استفاده می کنن بنا براین یا باید کار تبدیل رو انجام بدین یا توی اینترنت چرخ بزنین!

برای خلاص شدن از این مشکل راحت ترین کار اینه که سطح دسترسی برنامه ها رو به cpu محدود کنید ! در این صورت هست که می تونید به راحتی چندین کار حجیم رو با هم انجام بدین بدون این که کامپیوتر هنگ کنه

ابتدا برنامه ی cpulimit رو نصب می کنیم:

sudo apt-get install cpulimit

حالا با دستور زیر به فایرفاکس (یا هر برنامه دیگه ای) بیشتر از ۳۰٪ حق استفاده از cpu رو نمی دیم.

cpulimit -e firefox -l 30

یا حتی به جای استفاده از نام برنامه می تونید از PID اون پروسه استفاده کنید:

cpulimit -p 1313 -l 30





آمار ترافیک مصرفی با vnstat در لینوکس – اوبونتو

28 04 2009

نرم افزار های زیادی در لینوکس برای چنین کاری هستند !‌تنها چیزی که برای اکثر افراد مهم هست اینه که خیلی راحت و بدون دردسر از اون برنامه ها استفاده کنند.
برنامه ی vnstat در کنسول اجرا می شود و مزیت آن اینه که برای remote هم قابل استفاده می باشد.
برای شروع باید این برنامه رو نصب کنیم
برای اوبونتو:
# apt-get install vnstat
حالا باید vnstat رو فعال کنیم:
# vnstat -u -i eth0
الآن باید دستوری رو به crontab معرفی کنیم تا هر چند لحظه اطلاعات رو ذخیره کنه:
crontab -e
در صفحه ی باز شده دکمه ی Insert را بزنید و متن زیر را به صفحه اضافه کنید:
0-55/5 * * * * root /usr/bin/vnstat -u
حالا دکمه ی Esc رو بزنید و wq را تایپ کنید و enter کنید.

مراحل نصب تموم شد.
برای مشاهده ی آمار دستور
vnstat
آپشن های اختیاری :
-d : آمار روزانه
-m : آمار ماهانه
–help: راهنما
آپشن های حرفه ای هم داره برای مثال آپشن -h نمودار رسم می کنه
vnstat