وبلاگ شخصی علی مقدس زاده

۱۸ مطلب با موضوع «لینوکس» ثبت شده است

  • ۰
  • ۰

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

بعد از یک جستجوی ساده متوجه شدم که دو دستور زیر برای این مورد وجود دارن:

# pm-suspend
# pm-hibernate

خوب حالا خیلی راحت میتونم با استفاده از دستور زیر به سیستم اعلام کنم بعد از نصب نرم افزار سیستم رو suspend کنه:

# apt-get install ... ; pm-suspend


منبع: http://www.askubuntu.com


ویرایش:

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

# systemctl suspend


  • علی مقدس زاده
  • ۰
  • ۰

هر کاربر لینوکس که از ترمینال استفاده میکنه، معمولا با توجه به نوع کاری که انجام میده از یک سری دستورات تکراری استفاده میکنه. به عنوان مثال افرادی که مدیریت سرورها رو به عهده دارن مدام با استفاده از ssh به سرورهای مختلف دسترسی دارن که یادآوری آدرس‌های IP این سرورها معمولا کمی مشکل هست و یا افرادی که مشغول توسعه نرم افزار هستن ممکن هست مدام با دستورات git سر و کار داشته باشن. در این مطلب روشی رو با هم بررسی می‌کنیم که با استفاده از اون دیگه نیازی به وارد کردن دستورات طولانی در ترمینال وجود نداره؛ در واقع تصمیم داریم تا با اضافه کردن دستورات جدید به bash کار خودمون رو از بابت وارد کردن دستورات طولانی راحت کنیم.

  • علی مقدس زاده
  • ۰
  • ۰

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

برای بررسی مشکل، دستور ssh رو با سوییچ v- اجرا کردم تا ببینم مشکل مربوط به کجا میشه:

$ ssh -v ali@192.168.1.100
OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 192.168.1.100 [192.168.1.100] port 22.
debug1: Connection established.
debug1: identity file /home/ali/.ssh/id_rsa type 1
debug1: identity file /home/ali/.ssh/id_rsa-cert type -1
debug1: identity file /home/ali/.ssh/id_dsa type -1
debug1: identity file /home/ali/.ssh/id_dsa-cert type -1
debug1: identity file /home/ali/.ssh/id_ecdsa type -1
debug1: identity file /home/ali/.ssh/id_ecdsa-cert type -1
debug1: identity file /home/ali/.ssh/id_ed25519 type -1
debug1: identity file /home/ali/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.9p1 Debian-5ubuntu1.4
debug1: match: OpenSSH_5.9p1 Debian-5ubuntu1.4 pat OpenSSH_5* compat 0x0c000000
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ECDSA c4:8e:2b:b2:95:53:0c:98:d9:29:7c:ac:c4:0a:65:37
debug1: Host '192.168.1.100' is known and matches the ECDSA host key.
debug1: Found key in /home/ali/.ssh/known_hosts:3
debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received # دقیقا در این قسمت برای چند ثانیه عملیات متوقف می‌شد
...

بعد از یک جستجوی ساده در اینترنت به این نتیجه رسیدم که اگر عبارت UseDNS no رو به فایل etc/ssh/sshd_config/ اضافه کرده و یک مرتبه سرویس ssh رو restart کنم مشکل برطرف می‌شه.

# echo 'UseDNS no' >> /etc/ssh/sshd_config
# service ssh restart

بعد از انجام مراحل بالا سرعت اتصال به سرور افزایش چشمگیری داشت :)

  • علی مقدس زاده
  • ۰
  • ۰

یکی از روش‌هایی که معولا برای افزایش سرعت بالا اومدن لینوکس (و کلا هر سیستم عاملی) مطرح هست، غیر فعال کردن و یا به تاخیر انداختن اجرای نرم افزارهایی هست که در زمان شروع کار سیستم عامل اجرا میشن. در ادامه این پست نحوه غیر فعال سازی و همچنین به تاخیر انداختن اجرای این نرم افزارها رو با هم بررسی می‌کنیم.

  • علی مقدس زاده
  • ۰
  • ۰

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

  • علی مقدس زاده
  • ۰
  • ۰

گاهی اوقات لازم داریم که از بین نرم افزارهایی که قابل upgrade شدن هستن، فقط اونایی که مد نظر داریم رو به روز کنیم. یک روش این هست که از طریق نرم افزار Software Updater نرم افزارهایی که لازم داریم رو انتخاب کنیم و اون‌ها رو به روز کنیم ولی اگر تصمیم داریم این کار رو از طریق خط فرمان انجام بدیم میتونیم از دستور زیر استفاده کنیم:

apt-get install --only-upgrade <packagename>

دستور بالا فقط در صورتیکه پکیج مورد نظر روی سیستم نصب شده باشه اون رو به روز میکنه. حالا اگر شما دوست دارید که این دستور در صورت نصب نبودن پکیج خودش اون رو نصب کنه و اگر نصب شده اون رو به روز کنه میتونید عبارت only-upgrade-- رو از دستور حذف کنید.

  • علی مقدس زاده
  • ۰
  • ۰

بعضی از اوقات (به عنوان مثال رعایت موارد امنیتی، انتقال فایل و به روز رسانی‌های مکرر یک سرور و ...) لازم هست برای اتصال ssh به یک سرور به جای استفاده از کلمه عبور از کلید استفاده شود. برای این منظور موارد زیر را به ترتیب انجام می‌دهیم:

  • علی مقدس زاده
  • ۰
  • ۰

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

nano ~/.bashrc

فایل مربوط به تنظیمات bash را باز کرده، خطی که با عبارت

# force_color_prompt=yes

شروع می‌شود را پیدا کرده و علامت # را از ابتدای آن حذف می‌کنیم. در اجرای بعدی ترمینال مشاهده می‌کنید که بخش‌هایی از ترمینال بصورت رنگی برای شما نمایش داده می‌شود.

ترمینال رنگی

  • علی مقدس زاده