لینوکس

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

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

 

این مطلب نیز ممکن است برای شما مفید باشد: نصب ابونتو در کنار ویندوز

 

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

ادامه‌ی مطلب

نحوه نصب و پیکربندی GitLab در سیستم عامل Ubuntu 18.04

 

GitLab CE یا Community Edition یک برنامه متن باز است؛ که اصولا برای مدیریت مخازن گیت مورد استفاده قرار می‌گیرد و دارای ویژگی‌های مرتبط با توسعه نرم افزار، مانند ردیابی پروژه در میان اعضای تیم توسعه است. GitLab به گونه ای طراحی شده است؛ که می تواند با استفاده از زیرساخت‌های شخصی کاربر میزبانی شود و انعطاف پذیری در استقرار را به عنوان یک مخزن داخلی برای تیم توسعه فراهم می‌کند؛ بدین معنی که به عنوان یک رابط برای کاربران یا ابزار مدیریتی برای مشارکت کنندگان پروژه عمل می‌نماید.

پروژه GitLab، به راحتی یک نمونه GitLab را بر روی سخت افزار شخصی شما با یک روند نصب آسان تنظیم می‌نماید. در این راهنما نحوه نصب و پیکربندی GitLab برروی سرور Ubuntu 18.04 شرح داده می‌شود.

ادامه‌ی مطلب

نحوه یافتن بسته های دارای یک فایل مشخص در اوبونتو

 

این مقاله به شما کمک می‌کند، بسته ای که دارای یک فایل خاص است را در سیستم اوبونتو شناسایی کنید. تمام دستورات این مقاله برروی نسخه‌های اوبونتو 18.04و اوبونتو 16.04 دسکتاپ و سرور تست شده است.

اگر در زمینه نفوذ در سرور لینوکس کار کرده باشید، حتما می‌دانید که بعضی اوقات لازم است بسته ای را که فایل‌ها را در سیستم شما اضافه کرده است، بشناسید. این امر معمولاً برای نظارت و اهداف امنیتی بسیار مهم است؛ به عنوان مثال این کار می‌تواند از rootkitها و هر نوع نفوذ دیگر به سرور لینوکس شما جلوگیری کند.

در ادامه لیستی از دستورات مفید در این زمینه وجود دارد.

ادامه‌ی مطلب

نحوه غیرفعال کردن به روز رسانی Yum برای برخی از بسته‌ها

در این مقاله به شما نشان خواهیم داد؛ که چگونه در هنگام آپدیت سیستم‌عامل با استفاده از دستور yum، از بروزرسانی بعضی بسته‌ها جلوگیری کنیم؛ به صورت دوره ای، شما ممکن است، بخواهید سیستم CentOS یا RHEL خود را به روز کنید؛ ولیکن برخی از بسته‌ها، به خصوص اگر به روزرسانی‌ها با برخی از برنامه‌های مهم اصلی در سیستم تداخل داشته باشند، نباید به روزرسانی شوند.

ادامه‌ی مطلب

چگونه می‌توان space را در نام فایل‌های لینوکس را خواند؟

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

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

ادامه‌ی مطلب

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

اگرچه روش‌های مختلفی برای اضافه کردن متن به انتهای یک فایل در لینوکس وجود دارد، اما ساده ترین روش این است که خروجی فرمان را به نام فایل مورد نظر خود هدایت کنید. با استفاده از کاراکتر “<<” می‌توانید، نتیجه هر دستور را در یک فایل متنی وارد نمایید. در این مقاله جزئیات این روش شرح داده شده است.

راه‌های دیگر برای رسیدن به این هدف، استفاده از ابزارهای لینوکس مانند tee، awk و sed است؛ که در این جا به آن ها پرداخته نمی شود.

ادامه‌ی مطلب

تغییر نسخه پیشفرض PHP CLI در لینوکس


ممکن است فکر کنید کد‌هایی که به زبان PHP نوشته می‌شوند، فقط توسط وب‌سرور قابل اجرا هستند؛ اما این تمام ماجرا نیست! زبان PHP قابلیت اجرا توسط خط فرمان را نیز دارا می‌باشد که اصطلاحا به آن PHP-cli می‌گویند؛ اما اگر شما چند نسخه PHP بر روی سیستم خود نصب داشته باشید و دستور PHP را اجرا کنید، کدام نسخه از زبان PHP فراخوانی خواهد شد؟ برای فهمیدن این موضوع، دستور زیر را اجرا کنید:

php -v

خروجی این دستور، نسخه پیشفرض PHP را نشان می‌دهد:


اما اگر شما چند نسخه PHP بر روی سیستم خود نصب داشته باشید و بخواهید نسخه دیگری از PHP به عنوان نسخه پیشفرض تنظیم کنید، راه حل چیست؟ در این آموزش راه حل این مورد را بررسی خواهیم کرد.

ادامه‌ی مطلب

رفع خطای Error found when loading /root/.profile در لینوکس

اخیرا بعد از فعال کردن کاربر root برای محیط گرافیکی و ورود با استفاده از این کاربر در سیستم‌عامل گنو/لینوکس توزیع اوبونتو، با مشکل بالا برخورد کردم که خطای زیر را نمایش می‌داد:

 Error found when loading /root/.profile
mesg: ttyname failed: Inappropriate ioctl for device
As a result the session will not be configured correctly.
You should fix the problem as soon as feasible.

در ادامه مطلب به بررسی راه‌حل این مشکل می‌پردازیم.

ادامه‌ی مطلب

غیرقابل حذف/تغییر کردن فایل ها در لینوکس با دستور chattr


Chattr (Change Attribute) یک ابزار خط فرمان لینوکس است که برای تنظیم/حذف ویژگی‌های خاص یک فایل در سیستم لینوکس استفاده می‌شود؛ با استفاده از این دستور می‌توان از حذف یا تغییر تصادفی فایل‌ها و پوشه‌های مهم، حتی برای کاربر Root را جلوگیری کرد.
هر فایل می‌توان ویژگی‌هایی منحصر به فرد را داشته باشد؛ به این ویژگی‌ها پرچم می‌گوییم؛ تمامی فایل‌سیستم‌های اصلی لینوکس، یعنی ext2، ext3، ext4، btrfs و ... از همه پرچم‌ها پشتیبانی می‌کنند؛ اما سایر فایل‌سیستم‌ها مثل NTFS مایکروسافت از همه این پرچم‌ها (ویژگی‌ها) پشتیبانی نمی‌کنند.
هنگامی‌که ویژگی‌ها با دستور chattr تنظیم می‌شوند، هیچ کاربری نمی‌تواند آن فایل/پوشه را حذف کرده و یا تغییر دهد، حتی اگر کاربر تمام مجوزها را روی آن فایل/پوشه داشته باشد؛ این دستور برای تنظیم ویژگی‌های موجود در فایل‌های سیستمی مانند فایل‌های passwd و shadow که اطلاعات کاربر در آن قرار دارد، بسیار مفید است.

ادامه‌ی مطلب

بررسی باز بودن پورت های یک آی پی با دستور nc


به بیان ساده، به راه‌های ورودی به یک کامپیوتر پورت می‌گویند؛ هر کدام از این پورت‌ها با یک عدد مشخص می‌شوند که بین 1 تا 65535 می‌باشد؛ به عنوان مثال برای ورود به سرویس MySQL در یک کامپیوتر، باید از پورت 3306 استفاده کنیم. برای بررسی باز بودن یک پورت بر روی کامپیوتر یا سرور خودمان، می‌توانیم از دستور netstat استفاده کنیم؛ اما در صورتی که بخواهیم از باز بودن یک پورت در یک کامپیوتر یا سرور دیگر مطلع شویم، راه چیست؟ دستور netcat این امکان را به ما می‌دهد! قبل از اتصال به یه پورت خاص در یک سرور، بهتر است بدانیم کدام ‌پورت‌ها باز بوده و در حال اجرای سرویس برروی آن دستگاه ‌می‌باشد.

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

ادامه‌ی مطلب