سلام
یه مدت بود نبودم به دلیل گرفتاری ها ولی خب بی کار نبودم.
بحث امروزمون هم در مورد نصب fcron در tablet phone نوکیا N900 هست. حالا چرا من گیر دادم به گوشیم بحث مفصله اگر خیلی نگرانید یادم بندازید بعداً توضیح می دم. درمورد اینکه چرا fcron رو نصب می کنم چون لازم دارم که یه تعداد از اسکریپت هام سر یه وقت معین اجرا بشن و در پست های آینده بیشتر در موردش بحث خواهیم کرد. بله می دونم توی پست قبلی هم به پست های بعدی ارجاع داده بودم و باید بگم که اون پروژه گسترش پیدا کرده و هنوز کار داره و بعد از اتمام حتماً پست معرفی و … می زنم.
امّا چرا برای نصب یه برنامه یه پست جدا داد؟ دلیلش اصلیش این هست که این برنامه توی مخازن قرار نداره و باید از روی سورس کد کامپایل بشه و دلیل ثانویه این هست که یه خورده دنگ و فنگ داشت وقتی من نصب می کردم و این پست رو می نویسم تا نصبش برای بقیه راحتتر بشه.
۱. این هست که پیش نیاز های اون رو نصب می کنیم. بسته های که من بهشون نیاز پیدا کردم اینها بودن:
grep-gnu sendmail make
این بسته ها رو می تونیم به راحتی با یک دستور از داخل مخازن نصب کنیم:
apt-get install grep-gnu make sendmail
۲. سورس کد رو از سایت رسمی برنامه دانلود می کنیم. این کار رو از این آدرس انجام میدیم. از قسمت download بسته fcron-3.0.6.src.tar.gz رو دانلود کرده و در جایی از گوشی ذخیره کنیم.
۳. محتویات فایل رو استخراج می کنیم. چون فایل tar.gz هست به این شکل عمل می کنیم:
tar -xzf fcron-3.0.6.src.tar.gz
حالا باید پوشه این به اسم fcron-3.0.6 در همون مسیر داشته باشیم.
نکته: برای انجام مراحل بعد باید این پوشه در مسیری قرار داشته باشد که امکان اجرای برنامه روی اون وجود داشته باشه. یعنی باید مسیری غیر از /home/user/MyDocs/ باشد. چون این پارتیشن از نوع fat هست و در این نوع پارتیشن ها امکان تغییر پرمیشن و اجرای برنامه وجود نداره. من برای انجام این کار کارت حافظه ی جانبی رو به شکل ext2 قالب بندی (format) کردم و این گونه کارهام رو روی اون انجام می دم. اگر امکان همچین کاری برای شما وجود نداره می تونید از خود مسیر /home/user/ استفاده کنید.
۴. پرمیشن فایل configure و تمام فایلهای موجود در مسیر scripts رو تغییر می دیم و دسترسی اجرایی بهشون می دیم:
chmod 755 configure chmod -R 755 scripts
۵. دستور configure رو اجرا می کنیم.
۶. دستور make و در ادامه دستور make install رو با سطح کاربری root اجرا می کنیم.
۷. حالا fcron کامل نصب شده، کاربرش اضافه شده و کاری که ما باید انجام بدیم این هست که کاربر و گروه fcron رو به مسیر /var/spool/fcron/ اختصاص بدیم:
chown -R fcron:fcron /var/spool/fcron
در این لحظه کار نصب تموم شد و باید اسکریپت هامون سر ساعت اجرا بشن. امّا نه اجرا نمی شن!
[بعد از مدتی] مشکل این هست که با دستور
/etc/init.d/fcron start
خود fcron اجرا نمی شه. امّا به چه دلیل؟ [بعد از چند دقیقه] آها دلیلش این هست که داخل این فایل مسیر دستور fcron اشتباه وارد شده و باید دستی ویرایش کنیم. اگر شما هم این مشکل رو دارین به این شکل حل می کنیم. ابتدا خروجی دستور زیر رو پیدا می کنیم:
which fcron
فایل
/etc/init.d/fcron
رو ویرایش کرده و در خط ۱۵ مقدار متغیر DAEMON رو به خروجی دستور قبل تغییر می دیم، تغییرات رو ذخیره می کنیم. در این حالت وقتی دستور
/etc/init.d/fcron start
رو اجرا کردیم باید fcron اجرا بشه یعنی خروجی دستور
ps ax | grep -i fcron
باید چیزی شبیه به این باشه:
12769 root 1872 S /usr/local/sbin/fcron -b 12834 root 2088 S grep -i fcron
تبریک می گم نصب تمام شد. :)