آشنایی با دستور kpartx

برنامه kpartx ابزاری است که اطلاعات جدول پارتیشن را از یک device خاص (هارد، فلش و …) میخواند و بر اساس آن device map میسازد. به عنوان مثال این ابزار جدول پارتیشن هاردهای متصل به سیستم (/dev/sda) را میخواند و بر اساس اطلاعات جدول پارتیشن، ابزارهای /dev/sda1 و /dev/sda2 را میسازد. یکی از کاربردهای این برنامه کمک به mount (مونت) کردن پارتیشنهای ماشینهای مجازی kvm است. در نوشتههای پیشین (مدیریت آسان ماشین مجازی با ابزار libguestfs ، mountکردن پارتیشنهای ماشین مجازی KVM و خطا در هنگام mount کردن پارتیشنهای ماشین مجازی) مونت کردن پارتیشنهای kvm را شرح داده بودیم. در این روش با استفاده از برنامه kpartx بر اساس اطلاعات جدول پارتیشن هارد مجازی، ابزارها رو روی ماشین میزبان میسازیم و سپس این ابزارها رو مونت میکنیم. راهنمای مونت کردن پارتیشنهای درایو مجازی kvm: با استفاده از دستور زیر وضعیت هارد مجازی (تعداد پارتیشن و موقیت پارتیشنها را بررسی کنید). kpartx -l /dev/Vg_name/kvmxxx سپس با دستور زیر device map را میسازیم. پس از اجرای این دستور به تعداد پارتیشنهای موجود در هارد مجازی device در مسیر /dev/mapper ساخته میشود. kpartx -a /dev/Vg_name/kvmxxx و در انتها پارتیشن را مونت میکنیم. mount /dev/mapper/vg0_kvmxxx_img1 /mnt/
افزایش سرعت پایگاهداده با حذف خصوصیت atime
در نوشتههای قبل افزایش سرعت با ممکشد را شرح دادیم. در این نوشته با یکی دیگر از راههای افزایش سرعت پایگاهداده در لینوکس آشنا میشویم. بعضی از برنامهها و سرویسها بصورت متناوب و به کرات فایلها و دایرکتوریها را میخوانند (مانند سرویس MYSQL و سایر برنامههای مدیریت پایگاه داده). با توجه به اینکه خواندن و نوشتن روی هارد زمانبرترین عمل در سرور است، خواندن، بازنویسی و ویرایش فایلها در برنامههایی مانند پایگاه داده سرعت دسترسی به سایت یا برنامه را به شکل قابل توجهی کاهش خواهد داد. فایلها و دایرکتوریها در فایل سیستم ext2 دارای خصوصیتی هستند که تاریخ خواندن فایل را نگه میدارد، و هر زمان تغییری در فایل یا دایرکتوری ایجاد شود این تاریخ به زمان جاری تغییر میکند، به این ویژگی atime میگویند. گرچه پروسه بهروزرسانی تاریخ خواندن فایل بسیار کوتاه و در کمتر از هزارم ثانیه است اما چنانچه تعداد دفعات دسترسی به فایلها بسیار بالا باشد (مانند پایگاههای داده) مجموع زمان اجرای این پروسههای کوچک باعث اتلاف منابع سختافزاری (RAM و CPU) افزایش بارِهارد و کاهش چشمگیر سرعت سایت و برنامهها در سرور میشود. راهحل: جهت رفع این مشکل باید قابلیت ثبت تاریخ خواندن فایل و دایرکتوری را غیر فعال کنیم. برای غیر فعال کردن […]
MongoDB چیست؟

mongoDB (مونگودیبی) یک Document-oriented database (پایگاه داده سند-گرا) است. و در گروه پایگاههای داده NOSQL قرار دارد. در این نوع پایگاه داده جدول و رکورد وجود ندارد و از collection (مجموعه) و سند استفاده میشود. میتوان گفت مجموعه شبیه به جدول و سند شبیه به رکورد در پایگاه داده رابطهای است. در این پایگاه داده، دادهها ساختار ثابت ندارند و هر دو سند (شبیه رکورد در پایگاه رابطهای) میتواند ساختار کاملا متفاوت داشته باشد، به این نوع ساختار BSON میگویند. به عنوان مثال ممکن است دو سند از یک موجودیت در این پایگاهداده به اشکال زیر موجود باشد: سند ۱: id_ – name – age سند ۲: id_ – family BSON چیست؟ مونگودیبی دادهها را به شکل json ذخیره میکند. به این ساختار در مونگودیبی BSON میگویند. ساختار BSON به شکل زیر است. { “_id”: ObjectId(“b7d284dad1058f5698gorjhdc”), “Name”: “mahdi”, “age”: “30”, “Date of Birth”: “21/05/79”, “address”: { “city”: “mashhad”, “PostalCode”: “9139555789” }, “phoneNumber”:[ { “type” : “Home”, “number”: “58795555” }, { “type” : “work”, “number”: “05117673600” } ] } از مزیتهای پایگاه داده مونگودیبی نسبت سایر پایگاههای داده رابطهای (مانند MySQL) امکان پردازش و جستجو در حجم بسیار بالاتری از دادهها در لحظه و همچنین امکان دخیره حجم بالاتری از دادهها […]
آزاد کردن RAM (رم) در لینوکس
سیستمعامل لینوکس درصد زیادی از رم سیستم را به عنوان cache رزرو میکند. همچنین گاهی اوقات بعد از بسته شدن برنامه رم مورد استفاده برنامه آزاد نمیشود. برای آزاد کردن رم در هر بخش، از دستورات زیر استفاده میکنیم: برای آزاد کردن رمی که بوسیله زامبیها استفاده میشود و هنوز آزاده نشده است از دستور زیر استفاده میکنیم. sync برای آزاد کردن page cache. echo 1 > /proc/sys/vm/drop_caches برای آزاد کردن dentry ها و inode ها. echo 2 > /proc/sys/vm/drop_caches و در انتها برای آزاد کردن page cache و inode ها و dentry ها. echo 3 > /proc/sys/vm/drop_caches نکته: رمی که در لینوکس به عنوان cache استفاده میشود در مواقعی که سیستم با کمبود رم مواجه است میتواند به صورت خودکار به برنامهها اختصاص یابد. در حقیقت لینوکس با اختصاص رم اضافه سیستم به عنوان کش سرعت دسترسی به هارد را افزایش میدهد و همزان در صورت کمبود رم این رم کش شده را به عنوان رم آزاد به برنامهها میدهد. نکته: برای مشاهده رم قابل استفاده و رم کش شده از دستور free به شکل زیر استفاده میکنیم. free -m total used free shared buffers cached Mem: 486 94 391 0 10 37 -/+ buffers/cache: 46 439 Swap: 99 […]
افزایش امنیت در وردپرس با فعال کردن Password Protected Directories

یکی از راههای افزایش امنیت در وبلاگهای وردپرس فعال کردن قابلیت Password Protected Directories روی دایرکتوری wp-admin است. برای انجام این کار در دایرکتادمین (DA) مراحل زیر را طی میکنیم: در دایرکتادمین وارد file manager شوید و به دایرکتوری public_html بروید. روی لینک protect در بخش wp-admin کلیک کنید. در صفحه جدید به ترتیب پیام نمایش داده شده با کاربر در هنگام درخواست کلمه عبور، کلمه عبور کاربر و پسورد کاربر را وارد کنید. پیام Directory Protection Settings have been saved. نشاندهنده ایجاد تنظیمات به صورت صحیح است. توجه: با انجام تنظیمات بالا ممکن است وردپرس در هنگام مشاهده سایت بوسیله کاربران عادی نیز درخواست کلمه عبور
بررسی پهنای باند مصرفی با دستور iftop
iftop ابزاری است برای مشاهده ترافیک ارسالی و دریافتی بین گرههای شبکه و بستر اجرای آن سیستمعامل لینوکس است. این برنامه در خط فرمان اجرا میشود و شبیه به برنامه top میباشد، با این تفاوت که دستور top مقدار منابع استفاده شده، مثل RAM و CPU را نمایش داده، و دستور iftop شبکه انتخاب شده را monitor و ترافیک مصرفی را نمایش میدهد. راهنمای نصب در سیستمعامل سنتاواس:
آخرین نسخه jQuery منتشر شد
(jQuery) نسخه دو منتشر شد. این نسخه دیگر از اینترنت اکسپلورر ۶ و ۷ و ۸ پشتیبانی نخواهد کرد، در نتیجه حجم کد خروجی کاهش پیدا کرده و سرعت اجرا نسبت به نسخه قبل تا حد قابل قبولی کم شده است. برنامه نویسانی که همچنان مایل به پشتیبانی از مرورگرهای نسخه قدیم مایکروسافت یعنی اینترنت اکسپلورر ۸ به پایین هستند میتوانند از jQuery نسخه ۱.۹ استفاده کنند. jQuery یک کتابخانه جاوااسکریپت است که با توابع خود برنامه نویسی جاوااسکریپت را برای برنامه نویسان آسان میکند. بر اساس آمار ارائه شده بوسیله سایت w3techs در حال حاظر جیکوئری پراستفادهترین کتابخانه جاوااسکریپت است و ۹۱ درصد از بازار را به خود اختصاص داده است.
حذف فایلهای یک Directory در لینوکس

برای خذف فایلهای یک پوشه (Directory) بدون تغییر خودش، میتوان از دستور زیر استفاده نمود: find . -type f -exec rm {} \; دستور فوق، در ابتدا به کمک دستور find همه فایلهای موجود در پوشه جاری را جستجو و پیدا کرده، سپس فایلهای بدست آمده را با استفاده از دستور rm حذف میکند. اگر بخواهید فایلهایی با نام خاص را حذف کنید، کافیست مانند زیر از پارامتر -nameاستفاده کنید.
اتصال چند کاربر همزمان به سیستمعامل ویندوز

اتصال به سیستمعامل ویندوز محدود شده، بصورت پیشفرض تنها یک کاربر میتواند به کمک نرمافزار remote desktop، یا desktop (بوسیله Mouse و Keyboard متصل به سیستم) به سیستم دسترسی داشته باشد. در مواردی که بخواهیم بیش از یک کاربرهمزمان بتوانند با سیستمعامل کار کنند میتوانیم از patch کمکی Universal Termsrv.dll استفاده کنیم. راهنمای نصب: ابتدا patch را از اینجا دانلود کنید.(بدلیل امنیتی مجبور شدیم فایل رو حذف کنیم) فایل را از حالت فشرده خارج، با توجه به نسخه سیستم عامل (۶۴ و یا ۳۲ بیت) فایل اجرایی مناسب را انتخاب و به شکل زیر اجرا کنید. روی فایل کلیک راست کنید و از منوی باز شده بر روی گزینه Run as administrator کلیک نمایید. بر روی دکمه patch کلیک کنید. برنامه به صورت خودکار یک نسخه پشتیبان از فایل Termsrv.dll نگه میدارد. در صورتی که بعد از نصب patch عملکرد سیستم عامل با مشکلی مواجه شد کافیست این فایل را با نسخه فعلی فایل جایگزین کنید. بعد از نصب patch فایل xp.reg را اجرا کنید. سیستم را مجددا بارگذاری (Restarts) کنید. پس از طی مراحل فوق، بیش از یک کاربران میتوانند همزمان به سیستم ویندوزی متصل شوند. لینک مرتبط: http://www.mysysadmintips.com/windows/clients/345-multiple-rdp-remote-desktop-sessions-on-windows-8
چگونه وردپرس خود را امن کنیم؟

وردپرس (WordPress) یکی از محبوبترین سیستمهای مدیریت محتوا (CMS) متن باز (Open Source) و آزاد است که بر اساس آمار ارائه شده بوسیله سایت wordpress.org بیش از ۱۴.۷ درصد از وبسایتها در اینترنت از وردپرس استفاده میکنند. محبوبیت و استفاده گسترده از وردپرس این CMS را به هدف اصلی هکرها تبدیل کرده است. چکونه هک را تشخیص دهیم؟ هکر وبسایت را با اهداف زیر هک میکند:
افزایش سرعت برنامههای php

php چگونه کار میکند: هرگاه مفسر php برنامهای را تفسیر میکند هر دستور را به opcodes تبدیل میکند و این کد را اجرا میکند. عملیاتی که در هنگام اجرای یک کد php انجام میشود به صورت خلاصه به این شکل است: آپاچی (و یا سایر برنامهها) کد php را برای اجرا به مفسر میدهند مفسر پس از خواندن کد، کد را تفسیر میکند و خروجی تولید میکند که tokens نامیده میشود سپس tokens را کامپایل میکند و خروجی opcodes را که خروجی نهایی است تولید میکند. و در نهایت این خروجی را اجرا میکند.
فارسی نویسی استاندارد در لینوکس و ویندوز
استاندارد شکل قرار گرفتن حروف و علائم زبان فارسی بروی کامپیوتر در سال ۱۳۶۷ تصویب شد و در سال ۱۳۷۳ به عنوان استاندارد رسمی ایران منتشر شد. در سیستمعامل گنو/لینوکس از همان ابتدا کیبرد استاندارد فارسی به عنوان مرجع استفاده شد در نتیجه محل حروف در این سیستمعامل کاملاً با استاندارد کیبرد فارسی مطبق است. اما سیستمعامل ویندوز استاندارد کیبرد فارسی را رعایت نکرده و در نتیجه حروف در این سیستمعامل در محل مناسب و استاندارد خود قرار ندارد. چرا باید از کیبرد استاندارد فارسی استفاده کنیم: تایپ آسان– در کیبرد استاندارد فارسی حروف پرکاربرد در دسترسند. به عنوان مثال حرف «پ» و «ژ» از پرکاربردترین حروف در زبان فارسی است و این دو حرف در این کیبرد در محلی قرار دارند که با آسانی با کمترین جابهجایی دست میتوان این دو حرف را تایپ کرد. در حالی که در کیبرد غیراستاندارد ویندوز برای تایپ این حروف باید بیشترین جابهجایی دست را داشته باشیم. امکانات بیشتر– در کیبرد استاندارد فارسی امکاناتی مانند فاصله نشکن، نیمفاصله، نشانه راست به چپ و … وجود دارد که تایپ فارسی را آسانتر میکند. یکسان سازی– در همه سیستمعاملها میتوان از کیبرد استاندارد فارسی استفاده کرد. نکته: کیبرد استاندارد فارسی در سیستم عامل گنو/لینوکس و […]
آشنایی با PHP handlers

گرداننده پیاچپی و یا PHP handlers چیست؟ وقتی درخواست بازدید یک صفحه پیاچپی را به سرور میدهید سرور کد پیاچپی را تفسیر میکند و صفحه با خروجی مناسب را برای کاربر تولید میکند. گرداننده پیاچپی روالی است که کتابخانههای پیاچپی را برای تفسیر کد فرا میخواند. چند هندلر متفاوت برای لود پیاچپی وجود دارد: CGI DSO
SVN چیست ؟

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

memcached یک سیستم کش آزاد و اپنسورس است که با کاهش لود دیتابیس سرعت دسترسی به وبسایتهای داینامیک یا برنامهها را افزایش میدهد. این برنامه رکوردهای دیتابیسی که امکان کش شدن دارند را برای استفاده در کوئری های بعد در حافظه RAM نگهداری میکنند.
آشنایی با silex (سیلِک)
Silex یک microframework کم حجم و ساده PHP بوده که بر پایه سیمفونی ۲ (symfony2) استوار است. نصب: به شاخه روت وبسایت خود بروید (به عنوان مثلا در توزیع دبیان مسیر /var/www) و یک فایل متنی با نام composer.json و با محتویات زیر بسازید.
خطا در هنگام mount کردن پارتیشنهای ماشین مجازی

یکی از راههای دسترسی به اطلاعات پارتیشن های مستقر در ماشین مجازی، mount کردن پارتیشن در ماشین میزبان (Server) است. با استفاده از دستور زیر میتوانیم یک پارتیشن را mount کنیم (توجه داشته باشید این دستور را باید در ماشین میزبان و یا سرور اصلی اجرا کنید).