Skip to Content

بلاگ

آموزش نصب Ubuntu کنار ویندوز

آموزش نصب Ubuntu کنار ویندوز

سلام وعرض ادب امروز برای شما آموزش نصب Ubuntu کنار ویندوز قرار میدم یعنی دوسیستم عامل کنار هم برای نصب Ubuntu کنار ویندوز ابتدا cd بوت Ubuntu را درون سیستم قرار می دهیم و سپس تنظیمات BIOS را برای BOOT  بر روی CD قرار می دهیم

 

دانلود Ubuntu 17.04 Final + 16.04.2 LTS

آموزش نصب Ubuntu کنار ویندوز

 

سپس تنظیمات را save می کنیم که سیستم Restart می شود و سپس وارد مرحله نصب Ubuntu می شویم

آموزش نصب Ubuntu کنار ویندوز

 

ر این قسمت می توانیم با انتخاب گزینه TryUbuntu به صورت LIVE سیستم را راه اندازی کنیم

اما برای نصب باید گزینه Install Ubuntu  را بزنیم

آموزش نصب Ubuntu کنار ویندوز

در این قسمت اگر گزینه Download Updates while installing ubuntu را بزنید همراه با نصب، آخرین اپدیت های Ubuntu  را هم نصب می کند اما زمان بر است و می توان در صورت نبود اینترنت یا کم بودن سرعت انترنت بعدا هم این کار را انجام داد.

اما اگر گزینه دو را انتخاب کنید همراه با نصب Ubuntu کدک های پخش موزیک و ویدیو نیز دانلود و نصب می شوند  .با این که کدک ها حجم بالایی ندارند ولی باز این کار سرعت نصب را کم می کند ولی اگر اینترنت پر سرعت دارید این گزینه رو تیک بزنید ,  ولی بعدا به صورت دستی نیز می توانید کدک ها  رو نصب کنید.

آموزش نصب Ubuntu کنار ویندوز

 

در این قسمت گزینه اول را انتخاب می کنیم که کنار ویندوز مان نصب شود. البته می توان با زدن گزینه Something Else می توانیم به صورت دستی میزان هر دایرکتوری را مشخص کنیم اما با انتخاب این گزینه باید دقت کنید که به پارتیشنی که ویندوز روی آن نصب است تغییر انجام ندهید چون ممکن است ویندوز شما دچار مشکل شود و دیگر بالا نیاید اگه تازه کار هستین بهتر است که گزینه اول را انتخاب کنید

آموزش نصب Ubuntu کنار ویندوز

 

در این قسمت اگر چنت هارد روی سیستم باشد می توانید یکی از انهارا انتخاب کنید

آموزش نصب Ubuntu کنار ویندوز

در قسمت یعد Location را مشخص می کنیم

آموزش نصب Ubuntu کنار ویندوز

در قسمت آخر یوزر و پسورد برای سیستم ایجاد می کنیم تا سیستم شروع به نصب کند

آموزش نصب Ubuntu کنار ویندوز

 

با دیدن این پیغام کار تمام است  و بعد از Restart می توانید وارد سیستم Linux یا ویندوزتان شوید

آموزش نصب Ubuntu کنار ویندوز

 

 

 

 

 

 

 

 

 

ادامه مطلب

اموزش نصب تلگرام در اوبونتو

اموزش نصب تلگرام در اوبونتو

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

روش اول: نصب از طریق ترمینال

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

sudo add-apt-repository ppa:atareao/telegram
sudo apt-get update
sudo apt-get install telegram

 

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

فایل نصبی تلگرام را از سایت تلگرام دانلود کنید.

سپس فایل را حالت فشرده خارج کنید و فایل telegram را اجرا کنید.

 

اموزش نصب تلگرام در اوبونتو

ادامه مطلب

آموزش ریست کردن پسورد Root در Debian

آموزش ریست کردن پسورد Root در Debian

سلام وعرض ادب خیلی وقت ها ممکنه برای همه ما این قضیه اتفاق بیفته که رمز کاربر root سیستم را فراموش کنیم، در چنین شرایطی دو راه برای ما وجود دارد. یا مجددا os را از اول نصب کنیم و یا پسورد را ریست کنیم. در این مطلب قصد داریم راه حل دوم را که راه حل ساده تری نیز می باشد یعنی نحوه ریست کردن پسورد در Debian را به شما عزیزان آموزش دهیم.

 

ابتدا وارد محیط GRUB یا همان Boot Loader لینوکس می شویم (برای وارد شدن به این محیط کافیست لحظه بوت شدن سیستم عامل دکمه Shift را نگهدارید)

آموزش ریست کردن پسورد Root در Debian

 

 

سپس برای وارد شدن به Edit Mode دکمه e را وارد کرده و با استفاده از Arrow key ها به سمت پایین حرکت کرده و در انتهای خط Kernel که همانطور که در تصویر می بینید با /boot/vmlinuz/ شروع می شود قرار گرفته و پس از زدن دکمه Space خط زیر را به آن اضافه می کنیم و Enter را می زنیم:

init=/bin/bash

 

آموزش ریست کردن پسورد Root در Debian

 

سپس دکمه  ctrl+x را وارد کرده تا سیستم reboot شود و یک خط فرمان در اختیار ما قرار می دهد.

 

آموزش ریست کردن پسورد Root در Debian

سپس دستورات زیر را به همین ترتیبی که در زیر آمده است وارد می کنیم، پس از وارد کردن دستور passwd باید پسورد جدید خود را وارد نمایید و در نهایت هم با اجرای دستور reboot سیستم را ریستارت می کنید:

# mount -o remount,rw /
# passwd
# sync
# reboot

آموزش ریست کردن پسورد Root در Debian

 

 

 

پس از بالا آمدن سیستم کافی است پسورد جدید را وارد کرده و عملیات لاگین را با موفقیت انجام دهید.

ادامه مطلب

دستورات پر کاربرد لینوکس برای کار با رزبری پای

دستورات پر کاربرد لینوکس برای کار با رزبری پای

در این مقاله سعی داریم با برخی از دستورات ساده اما پر کاربرد محیط متنی لینوکس آشنا شویم. محیط متنی لینوکس، برخلاف آنچه به نظرمی‌رسد بسیار کاربردی و انعطاف‌پذیر است. اغلب سیستم‌های کاری که سرویس‌های مهمی را به کاربران ارائه می‌دهند

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

اطلاعات سیستم

  • date – تاریخ و ساعت جاری را نمایش می‌دهد.
  • cal – تقویم ماه‌ها را نمایش می‌دهد.
  • uptime –  زمان روشن بودن سیستم و کاربران فعال را نشان می‌دهد.
  • – کاربران جاری که از سیستم استفاده می‌کنند را همراه با توضیحاتی درباره استفاده آن‌ها نشان می‌دهد. دستور شامل اطلاعات خروجی دستور ‌uptime نیز هست.
  • whoami – کاربر جاری که شما اکنون از طریق آن با سیستم کار می‌کنید را نمایش می‌دهد.
  • finger user – اطلاعاتی درباره کاربری user (به جای آن نام‌کاربری مورد نظر را بنویسید) در اختیار شما می‌گذارد.
  • uname – نام سیستم یونیکس شما که همان لینوکس است را نمایش می‌دهد.
  • uname -a – دستور uname همراه با سویچ a اطلاعات تکمیلی از سیستم‌عامل شما شامل نسخه کرنل لینوکس را نمایش می‌دهد.
  • cat /proc/cpuinfo – نمایش اطلاعات پردازنده (CPU).
  • cat /proc/meminfo – نمایش اطلاعات حافظه اصلی (RAM).
  • df – مقدار استفاده از دیسک‌های حافظه را نمایش می‌دهد.
  • du – مقدار فضای استفاده شده تمامی دایرکتوری ها
  • free – نمایش فضاهای خالی و استفاده شده حافظه رم و سواپ (swap)

 

دستورات فایل

  • ls – گرفتن لیست محتویات مسیر جاری شامل پوشه و فایل ها.
  • ls -l – دستور ‌ls همراه با سویچ l لیست محتویات مسیر جاری را با اطلاعات کامل نمایش می‌دهد.
  • ls -laC – مانند دستور ls -l است اما اطلاعات را به صورت ستونی نشان می‌دهد.
  • ls -F – سویچ f در دستور ls لیست محتویات را همراه با فرمت فایل‌ها نمایش می‌دهد.
  • ls -al – سویچ a در دستور ls لیست فایل‌ها را همراه با فایل‌های مخفی نشان می‌دهد. (فایل و پوشه مخفی در لینوکس یک نقطه قبل نام خود دارند)
  • cd dir – تغییر مسیر جاری به شاخه مورد نظر (بجای dir پوشه مورد نظر را وارد کنید)
  • cd – مسیر جاری را به مسیر اصلی (home) بر می‌گرداند. (مسیر اصلی برای هر کاربر متفاوت است که پوشه‌های شخصی و تنظیمات در آن‌جا قرار می‌گیرند).
  • mkdir dir – ساخت یک شاخه (به جای dir نام پوشه که می‌خواهید بسازید را بنویسید).
  • pwd – مسیر جاری را نشان می‌دهد.
  • rm name – حذف (پاک کردن) فایل یا دایرکتوری مورد نظر (به جای name نام فایل یا پوشه نوشته می‌شود).
  • rm -r dir – حذف یک دایرکتوری با محتویات درون آن (به جای dir نام پوشه را بنویسید).
  • rm -f file – اجبار کردن به حذف یک فایل برای مواقعی که فایل به دلایلی حذف نمی‌شود (نام فایل بجای file نوشته می‌شود).
  • rm -rf dir – اجبار کردن به حذف یک دایرکتوری برای مواقعی که آن به دلایلی حذف نمی‌شود (نام پوشه بجای dir نوشته می‌شود).
  • cp file1 file2 – کپی کردن فایل در مسیر دیگر (file1 نام و مسیر فایل مبدا و file2 نام و مسیر فایل مقصد است).
  • cp -r dir1 dir2 – کپی کردن پوشه در مسیر دیگر (dir1 نام و مسیر پوشه مبدا و dir2 نام و مسیر پوشه مقصد است).
  • cp file dir – کپی کردن فایل مورد نظر در مسیر دیگر با همان نام (file نام فایل و dir مسیر پوشه مقصد است).
  • mv file dir – جابجایی (مانند cut) کردن فایل مورد نظر در مسیر دیگر با همان نام (file نام فایل و dir مسیر پوشه مقصد است).
  • mv file1 file2 – جابجایی کردن فایل به مسیر دیگر (file1 نام و مسیر فایل و file2 نام و مسیر فایل در مقصد است).
  • ln -s file link – ساخت لینک سیمبولیک از فایل در مسیر مورد نظر (file نام و مسیر فایل یا پوشه و link نام و مسیر لینک است).
  • touch file – ساخت یک فایل.
  • cat > file – نوشتن متن در فایل.
  • cat file – نمایش محتویات یک فایل یا فراخوانی آن.
  • more file – نمایش محتویات فایل به صورت کم کم (برای فایل با محتویات زیاد).
  • command | more – نمایش خروجی دستور به صورت کم کم.
  • less file – نمایش محتویات فایل به صورت صفحه به صفحه (برای فایل با محتویات زیاد).
  • command | less – نمایش خروجی دستور به صورت صفحه به صفحه.
  • head file – نمایش ۱۰ خط اول محتویات یک فایل
  • head -20 file – نمایش ۲۰ خط اول محتویات یک فایل
  • tail file – نمایش ۱۰ خط آخر محتویات یک فایل
  • tail -20 file – نمایش ۲۰ خط آخر محتویات یک فایل

 

پروانه فایل

  • chmod octal file – تغییر مجوز یک فایل با استفاده از کد دسترسی
    • مجوز یک فایل سطح دسترسی یک فایل را مشخص می‌کند. سطح دسترسی می‌تواند خواندنی (عدد ۴)، نوشتنی (عدد ۲) و اجرا (عدد ۱) باشد که سطح دسترسی یک فایل با جمع کردن این اعداد بدست می‌آید. یعنی سطح دسترسی ۷ تمامی مواد را شامل می‌شود.
    • هر فایل دسترسی آن برای سه دسته کاربری روت، گروه و عمومی تعریف می‌شود که از روش عددی بالا استفاده می‌کند و این سه عدد کنار هم سطح دسترسی یک فایل را مشخص می‌کنند. مثال‌های زیر را مشاهده کنید.
  • chmod 777 file – مجوز خواندن، نوشتن و اجرا فایل را به سه دسته روت، گروه و عمومی می‌دهد.
  • chmod 755 file – مجوز خواندن، نوشتن و اجرا برای کاربری روت و مجوزهای خواندن و اجرا برای کاربران گروه و عمومی.

 

فشرده سازی

به صورت پیش‌فرض لینوکس از فشرده‌سازی با فرمت tar استفاده می‌کند که دستورات کار با آن را نیز پشتیبانی می‌کند. لینوکس از فشرده‌ساز Gzip برای کار با فایل‌های فشرده با فرمت tar.gz و gz فشرده‌ساز Bzip2 برای کار با فایل‌های فشرده با فرمت tar.bz2 استفاده می‌کند.

  • tar cf file.tar files – Create a tar named file.tar containing files
  • tar xf file.tar – استخراج محتویات فایل فشرده.
  • tar czf file.tar.gz files – ساخت فایل فشرده با فرمت ‌tar.gz از فایل‌ها توسط فشرده‌ساز Gzip.
  • tar xzf file.tar.gz – استخراج محتویات فایل فشرده با فرمت tar.gz توسط فشرده‌ساز Gzip.
  • tar czf file.gz files – ساخت فایل فشرده با فرمت ‌gz از فایل‌ها توسط فشرده‌ساز Gzip.
  • tar xzf file.gz – استخراج محتویات فایل فشرده با فرمت gz توسط فشرده‌ساز Gzip.
  • tar cjf file.tar.bz2 – ساخت فایل فشرده با فرمت ‌tar.bz2 از فایل‌ها توسط فشرده‌ساز.
  • tar xjf file.tar.bz2 – استخراج محتویات فایل فشرده با فرمت tar.bz2 توسط فشرده‌ساز Bzip2.

 

جستجو

  • grep pattern files – جستجوی عبارت در فایل مورد نظر.
  • grep pattern dir – جستجوی عبارت در فایل‌های موجود در شاخه مورد نظر.
  • grep -r pattern dir – جستجوی عبارت در فایل‌های موجود در شاخه مورد نظر به صورت بازگشتی.
  • command | grep pattern – جستجوی عبارت در خروجی دستور.
  • locate file – یافتن فایل مورد نظر ما در مسیر جاری.
  • find ‌dir -name filename – یافتن فایل مورد نظر ما در شاخه مورد نظر.
  • find ”*filename*” – جستجوی تمامی فایل‌هایی که نام آن‌ها شامل نام فایل مورد نظر ما است (در مسیر جاری).
  • updatedb – ساختن یا به‌روز رسانی دیتابیس فایل‌های سیستمی شاخه روت لینوکس.
  • locate filename – جستجوی فایل با ‌‌locate. فرض شده است که قبلا از دستور updatedb استفاده کرده‌اید.
  • which filename – نمایش شاخه بالایی فایل مورد نظر (پوشه‌ای که فایل ما در آن قرار دارد).

شبکه

  • ifconfig – نمایش لیست آی پی تمامی دستگاه‌های متصل (وایرلس، کارت شبکه، شبکه‌های وی‌پی‌ان  و …).
  • ping host – گرفتن پینگ از هاست مورن نظر.
  • whois domain – گرفتن اطلاعات دامنه (مالک دامنه، آی‌پی، دی‌ان‌اس سرور و …).
  • dig domain – دریافت اطلاعات DNS دامنه.
  • dig -x host – مشاهده میزبان به صورت معکوس.
  • wget file – دانلود یک فایل از اینترنت.
  • wget -c file – ادامه دانلود کردن یک دانلود متوقف شده.

دستور DiG :

دستور DiG جايگزيني براي nslookup در سيستم هاي يونيكسي ، لينوكسي و همچنين مكينتاش مي باشد. تفاوت اين دستور با nslookup در اين است فاقد interactive mode است.  درست مانندnslookup دستور dig  مي تواند فرم ساده اي از يافتن dns شبكه را نمايش دهد و همچنين توسط خروجي اين دستور قادر به رفع مشكلات مربوط به DNS خواهيم بود. در زير نمونه اي از خروجي اين دستور آمده است :

DiG 8.2 xyz.com;
 res options: init recurs defnam dnsrch
 got answer:
 ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4
 flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0
 QUERY SECTION:
 xyz.com, type = A, class = IN ANSWER SECTION:
xyz.com.        ۷h33m IN A    ۶۳٫۲۴۰٫۹۳٫۱۵۷

 

 AUTHORITY SECTION:
xyz.com.        ۷h33m IN NS    usrxdns1.ABC.com.
xyz.com.        ۷h33m IN NS    oldtxdns2.ABC.com.

Total query time: 78 msec
FROM: localhost.localdomain to SERVER: default — 209.53.4.130
 WHEN: Sat Oct 16 20:21:24 2004
 MSG SIZE  sent: 30  rcvd: 103

همانطور كه مشاهده مي كنيد خروجي اين دستور به سه قسمت Answer Section,Authority Section, و چهار خط پاياني تقسيم شده است. قسمت پاسخ يا answer section نام دامنه و آدرس شبكه آن را نمايش مي دهد. A در اين قسمت نشاندهنده نوع ركوردي است كه نمايش داده شده است. قسمت اعتبار يا authority section نشاندهند سرورهاي DNSاي است كه در عمل resolution بر پايه آن ها انجام شده است و اين اطلاعات به ما نشان مي دهد آيا DNS هاي مجاز نشانگر دامنه ما هستند يا خير. چهارخط پاياني اين خروجي نشان مي دهد كه چقدر طول كشيده تا عمل resolve شدن دامنه انجام گيرد همچنين آدرس DNSپايه را كه در عمل resolution مورد استفاده قرار گرفته است را نشان مي دهد. ساعت و تاريخ و همچنين اندازه پاكت هاي دريافتي و ارسالي نيز در اين قسمت نمايش داده شده اند.

 

دستور Ifconfig

در سيستم هاي يونيكس ، لينوكس و مكينتاش از دستور ifconfig به جاي ipconfig بايد استفاده كنيد. براي اينكه صفحه help مربوط به اين دستور را نگاه كنيد بايد از دستور ifconfig –helpاستفاده كنيد. خروجي زير پس از استفاده تنها از دستور ifconfig حاصل شده است.

eth0      Link encap:Ethernet  HWaddr 00:60:08:17:63:A0
inet addr:192.168.1.101  Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING  MTU:1500  Metric:1
RX packets:911 errors:0 dropped:0 overruns:0 frame:0
TX packets:804 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:5 Base address:0xe400

lo        Link encap:Local Loopback
inet addr:127.0.0.1  Mask:255.0.0.0
UP LOOPBACK RUNNING  MTU:3924  Metric:1
RX packets:18 errors:0 dropped:0 overruns:0 frame:0
TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0

دستور ifconfig آدرس IP  ، subnet mask و default gateway را براي كارت شبكه هاي محلي و loopback نشان مي دهد اما اطلاعات مربوط به وضعيت dhcp را نمايش نمي دهد. براي اين منظور بايد از دستور ديگري به شكل “pump s” استفاده كنيد. Pump همچنين قادر است IP آدرس شبكه اي را كه با DHCP و DNS  تنظيم شده است release و renew نمايد.

 

SSH

پروتکل SSH برای ارتباط و کنترل با سیستم از راه دور استفاده می‌شود که پیش‌فرض از پورت SSH با شماره ۲۱ استفاده می‌کند. بیشتر برای کنترل سرور توسط کاربری از راه دور استفاده می‌شود.

  • ssh user@host – اتصال به میزبان مورد نظر با نام کاربری مورد نظر (بعد از آن پسورد آن نام کاربری از شما پرسیده می‌شود).
  • ssh -p port user@host – اتصال به میزبان با نام کاربری توسط شماره پورت مشخص
  • ssh-copy-id user@host – اضافه کردن کلید برای اتصال کاربر از این سیستم راه دور. (برای مواقعی که نمی‌خواهیم پسورد را در هر اتصال وارد کنیم. ارسال پسورد اصلی امنیت میزبان را به خطر می‌اندازد اما کلید ساخته شده فقط برای سیستم جاری و نام کاربری مورد نظر اعتبار دارد).

 

مدیریت کاربران

  • adduser accountname – ساخت یک کاربر جدید در سیستم لینوکس خود.
  • passwd accountname – تغییر گذرواژه (password) کاربر مورد نظر.
  • su – ورود به خط فرمان با کاربری روت (کاربر روت مجوز دسترسی به تمامی فایل‌ها و تنظیمات سیستم را دارد).
  • exit – خروج از خط فرمان با کاربر جاری.

 

شروع و پایان

  • shutdown -h now – خاموش کردن سیستم.
  • halt – توقف تمام پردازش‌ها (مانند خاموش کردن سیستم است).
  • shutdown -r 5 – راه‌اندازی مجدد (ریست کردن) سیستم در مدت ۵ دقیقه بعد.
  • shutdown -r now – ریست کردن سیستم لینوکس.
  • reboot – راه‌اندازی مجدد سیستم لینوکس (مانند دستور بالا است).

 

نصب برنامه ها

  • به صورت عادی اگر سورس برنامه در اختیار ما باشد به شاخه سورس رفته و دستورات زیر را برای نصب اعمال می‌کنیم.
    • ./configure
    • make
    • make install
  • اگر از توزیع‌های خاص لینوکس استفاده می‌کنید از دستورات زیر (یا دستورات خاص آن توزیع) برای نصب بسته نرم‌افزاری تهیه شده برای آن توزیع استفاده کنید.
    • dpkg -i pkg.deb – نصب بسته نرم افزاری دبیان – برای توزیع‌های دبیان، ابونتو، مینت و … .
    • rpm -Uvh pkg.rpm – نصب بسته نرم افزاری RPM – برای توزیع‌های ردهت، فدورا و … .

 

چاپ

  • /etc/rc.d/init.d/lpd start – شروع به کار سیستم چاپ.
  • /etc/rc.d/init.d/lpd stop – پایان دادن به سیستم چاپ.
  • /etc/rc.d/init.d/lpd status – نمایش وضعیت سیستم چاپ.
  • lpq – نمایش کارهای موجود در صف چاپ.
  • lprm – حذف کارهای موجود در صف چاپ.
  • lpr – چاپ یک فایل.
  • lpc – تنظیمات کنترلی چاپ.
  • man subject | lpr – چاپ کتاب راهنمای یک دستور به صورت متنی.
  • man -t subject | lpr – چاپ کتاب راهنمای یک دستور به صورت اسکریپتی.
  • printtool – شروع رابط نصب پرینتر مورد نظر.

 

مدیریت پردازش ها

  • ps – نمایش پردازش های فعال جاری.
  • top – نمایش تمام پردازش های در حال اجرا.
  • kill pid – از بین بردن پردازش مورد نظر با شناسه pid.
  • killall proc – از بین بردن تمام پردازش هایی با نام ‌proc. در اجرای آن احتیاط کنید.
  • bg – نمایش پردازش های متوقف شده (stop) یا مکث کرده (puse) در بخش کارهای پس‌زمینه و ادامه اجرا پردارش های مکث کرده.
  • fg – آوردن کارهای به تازگی انجام شده در بخش کارهای پیش‌زمینه.
  • <strong”>fg n – آوردن کار n در بخش کارهای پیش‌زمینه.

 

آموزش نحوه عملکرد دستورات

  • apropos subject – لیست صفحات کتابچه راهنما برای موضوع مورد نظر.
  • man -k keyword – نمایش صفحات شامل کلمه کلیدی مورد نظر.
  • man command – نمایش کتابچه راهنما برای دستور مورد نظر.
  • man -t man | ps2pdf – > man.pdf  – ساخت فایل pdf از صفحه کتابچه راهنما.
  • which command – نمایش مسیر کامل دستور مورد نظر.
  • time command – نمایش زمان طول کشیدن دستور مورد نظر.
  • whereis app – نمایش مسیر بالقوه برنامه مورد نظر.
  • which app – نمایش میسر برنامه app که به صورت پیش‌فرض اجرا می‌شود.

 

دستور Shell در لینوکس:

Shell در واقع یک مفسر دستور العمل است ، شما می توانید با وارد کردن دستورات در shell با سیستم عامل ارتباط برقرار کنید.
Shell دستورات شما را پردازش کرده و به عنوان یک دستور العمل به سیستم عامل می فرستد .
چندین نوع  shell برای سیستم عامل لینوکس نوشته شده است که می توان از Bourn Again Shell (BASH) ، Korn Shell ،TCSH Shell و Z Shell را نام برد که بصورت پیش فرض در لینوکس BASH نصب می باشد .

این شل قابلیتهای زیادی را درون خود دارد و کلیدهای میانبر زیادی پشتیبانی می کند که در زیر به آنها اشاره می کنم .

  • Tab ⇆ : تکمیل خودکار از جایی که مکان‌نما وجود دارد.
  • Ctrl+a : انتقال مکان‌نما به ابتدای خط (معادل کلید Home)
  • Ctrl+e : انتقال مکان‌نما به انتهای خط (معادل کلید End)
  • Ctrl+p : فراخوانی فرمان قبلی (معادل کلید ↑)
  • Ctrl+n : فراخوانی فرمان بعدی (معادل کلید ↓)
  • Ctrl+r : جستجوی آخرین فرمانی که دارای کارکتر(های) مشخصی باشد. زدن دوباره‌ی این کلید در هنگام جستجو، به فرمان قبلی‌تر رجوع می‌کند.
  • Ctrl+o : اجرای فرمانی که در جستجو یافته شد.
  • Ctrl+l : پاک کردن محتویات صفحه‌نمایش (معادل فرمان clear).
  • Ctrl+u : پاک کردن محتویاتی از خط که قبل از مکان‌نما وجود دارند و کپی کردن آنها درون حافظه.
  • Ctrl+k : پاک کردن محتویاتی از خط که بعد از مکان‌نما وجود دارند و کپی کردن آنها درون حافظه.
  • Ctrl+w : پاک کردن کلمه‌ی قبل از مکان‌نما و کپی کردن آن درون بریده‌دان.
  • Ctrl+y : چسباندن محتویات حافظه از جایی که مکان‌نما وجود دارد.
  • Ctrl+d : ارسال یک نشانگر EOF که باعث بسته شدن خط فرمان فعلی می‌شود (معادل دستور exit). (تنها در زمانی این اتفاق می‌افتد که متنی در خط فعلی موجود نباشد)
  • Ctrl+c : ارسال یک سیگنال از نوع SIGINT به پروسه‌ی فعلی، که باعث پایان اجرا و بسته شدن آن می‌شود.
  • Ctrl+z : ارسال یک سیگنال از نوع SIGTSTP به پروسه‌ی فعلی، به باعث به تعلیق در آمدن آن می‌شود. که برای برگشت دادن آن می‌توان از دستور fg process-name-or-job-id استفاده کرد.
  • Ctrl+x Ctrl+e : ویرایش خط فعلی در ادیتوری که توسط متغیر EDITOR$ تعریف شده است.
  • Alt+f : حرکت به جلو به اندازه‌ی یک واژه.
  • Alt+b : حرکت به عقب به اندازه‌ی یک واژه.
  • Alt+Del : برش کلمه‌ی واقع در قبل از مکان‌نما
  • Alt+d : برش کلمه‌ی واقع در بعد از مکان‌نما
  • Alt+u : تبدیل تمام حروف کوچک به بزرگ، واقع در بعد از مکان‌نما تا انتهای کلمه‌ی فعلی
  • Alt+l : تبدیل تمام حروف بزرگ به کوچک، واقع در بعد از مکان‌نما تا انتهای کلمه‌ی فعلی
  • Alt+c : تبدیل حرف واقع در زیر مکان‌نما از کوچک به بزرگ و رفتن به انتهای کلمه‌ی فعلی
  • Alt+r : انصراف تغییرات و برگرداندن محتویات خط فعلی به همان شکلی که در تاریخچه‌ی خط فرمان موجود بود.

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

شاید برای شما نیز این موضوع پیش آمده باشد که بخواهید تمام فایلها با یک پسوند خاص را در سرور  حذف کنید . با توجه به این که دستور rm قابلیت search ندارد نمی توان از این دستور استفاده نمود.

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

 find . -name “FILE-TO-FIND”-exec rm -rf {} \;

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

 find . -type f -name “FILE-TO-FIND” -exec rm -f {} \;

 تفاوت ۲ دستور بالا در این است که در دستور اول علاوه بر فایلها ،  فولدرهایی را هم  ویژگی ذکر شده در دستور را دارند حذف خواهد کرد.ولی در دستور دوم فقط فایلها حذف خواهند شد.

 مثال اول : در این دستور تمام فایل ها را در شاخه کنونی و زیر شاخه های مربوطه که با پسوند .bak هستند را حذف خواهد کرد.

 find . -type f -name “*.bak” -exec rm -f {} \;

 مثال دوم : در این دستور تمام فایل ها و فولدرهایی را که در شاخه کنونی و زیر شاخه های مربوطه با پسوند .bak هستند را حذف خواهد کرد.

 find . -name “*.bak”-exec rm -rf {} \;

 مثال سوم : در این دستور تمام فایل ها را در شاخه کنونی و زیر شاخه های مربوطه که با پسوند .bak هستند را حذف خواهد کرد. با این تفاوت که قبل از حذف از شما تاییده خواهد گرفت .

  find . -type f -name “*.bak” -exec rm -i {} \;

حذف پوشه‌های خالی در لینوکس

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

 rmdir **/*(/^F)

find . -type d -empty -delete

 $ find . -depth -type d -exec rmdir {} \; 2>/dev/null

ادامه مطلب

آموزش نصب Java در لینوکس

آموزش نصب Java در لینوکس

به طور پیشفرض تمام توزیع های لینوکس همراه با openjdk از پیش نصب شده است. اگر می خواهید اوراکل جاوا JDK/JRE را بر روی سیستم خود نصب کنید، فقط مراحل زیر را دنبال کنید. در این آموزش خواهید دید که چطور آخرین اوراکل جاوا را بر روی centos 6.5 سرور نصب و پیکربندی می شود.

گام اول: بروزرسانی سرور شما

yum install update

گام دوم: سپس جستجو برای نسخه های قدیمی نصب شده بر روی سیستم شما

rpm -qa | grep -E ‘^open[jre|jdk]|j[re|dk]’

نمونه خروجی:

 

java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.i686 eject-2.1.5-17.el6.i686 perl-Object-Accessor-0.34-136.el6.i686 java-1.7.0-openjdk-1.7.0.45-2.4.3.4.el6_5.i686 openjpeg-libs-1.3-10.el6_5.i686

گام سوم: چک کردن جاوا از قبل نصب شده

java -version

نمونه خروجی:

java version “1.7.0_45” OpenJDK Runtime Environment (rhel-2.4.3.4.el6_5-i386 u45-b15) OpenJDK Client VM (build 24.45-b08, mixed mode, sharing)

گام چهارم: همانطور که در خروجی بالا می بینید روی سیستم جاوا 1.6 و 1.7 نصب شده است که با دستورات زیر هر دوی آن ها را بر می داریم

yum remove java-1.6.0-openjdk yum remove java-1.7.0-openjdk

دانلود و نصب اوراکل جاوا JDK

ابتدا به صفحه رسمی دانلود جاوا رفته و آخرین نسخه آن را بسته به نوع معماری توزیع خود انتخب کنید و همان بسته مورد نیاز RPM خود را دانلود کنید. سپس به دایرکتوری که بسته JDK در آن دانلود شده است رفته و با دستورزیر آن را نصب کنید.

http://www.oracle.com/technetwork/java/javase/downloads/index.html

rpm -ivh jdk-8u5-linux-i586.rpm

نمونه خروجی:

Preparing… ########################################### [100%] 1:jdk ########################################### [100%] Unpacking JAR files… rt.jar… jsse.jar… charsets.jar… tools.jar… localedata.jar… jfxrt.jar… plugin.jar… javaws.jar… deploy.jar…

اکنون برای چک کردن نسخه JDK از دستور زیر استفاده کنید.

java -version

نمونه خروجی:

java version “1.8.0_05” Java(TM) SE Runtime Environment (build 1.8.0_05-b13) Java HotSpot(TM) Client VM (build 25.5-b02, mixed mode, sharing)

همانطور که در خروجی می بینید ، جاوا 1.8 نصب شده است.

چه می شود اگر من نسخه های قدیمی JDK را از سیستم حذف کنم؟

همانطور که قبلا ذکر شد، مطمئن شوید که شماتمام نسخه های قدیمی JDK را از سیستم شما حذف شده اند. اگر شما این نسخه های قدیمی تر را از سرور خود قبل از نصب آخرین نسخه JDK را حذف کرده اید، شما باید به سیستم خود بگویید که جاوا از کجا اجرا شود. به طور پیش فرض، JDK 1.8 x در محل

/ usr/java/jdk1.8.0_05 /

نصب خواهد شد. به عبارت دیگر به سیستم می گوییم که از کجا جاوا باید اجرا شود، ما نیاز به اجرای دستورات زیر را داریم.

alternatives –install /usr/bin/java java /usr/java/jdk1.8.0_05/jre/bin/java 20000 alternatives –install /usr/bin/jar jar /usr/java/jdk1.8.0_05/bin/jar 20000 alternatives –install /usr/bin/javac javac /usr/java/jdk1.8.0_05/bin/javac 20000 alternatives –install /usr/bin/javaws javaws /usr/java/jdk1.8.0_05/jre/bin/javaws 20000 alternatives –set java /usr/java/jdk1.8.0_05/jre/bin/java alternatives –set jar /usr/java/jdk1.8.0_05/bin/jar alternatives –set javac /usr/java/jdk1.8.0_05/bin/javac alternatives –set javaws /usr/java/jdk1.8.0_05/jre/bin/javaws

چک کردن سیستم:

 

ls -lA /etc/alternatives/

نمونه خروجی:

lrwxrwxrwx. 1 root root 29 May 9 16:40 jar -> /usr/java/jdk1.8.0_05/bin/jar lrwxrwxrwx. 1 root root 34 May 9 16:39 java -> /usr/java/jdk1.8.0_05/jre/bin/java lrwxrwxrwx. 1 root root 31 May 9 16:41 javac -> /usr/java/jdk1.8.0_05/bin/javac lrwxrwxrwx. 1 root root 36 May 9 16:41 javaws -> /usr/java/jdk1.8.0_05/jre/bin/javaws

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

java -version

نمونه خروجی:

java version “1.8.0_05” Java(TM) SE Runtime Environment (build 1.8.0_05-b13) Java HotSpot(TM) Client VM (build 25.5-b02, mixed mode, sharing)

ادامه مطلب

آموزش بکاپ و ریستور کردن بانک اطلاعاتی در لینوکس

بک آپ گیری و بازگرداندن بانک اطلاعاتی در لینوکس : دستوراتی که در این آموزش قصد دارم به شما معرفی کنم به مدیران بانک های اطلاعاتی در لینوکس و  مای اسکیول کمک خواهد کرد تا از بانک های اطلاعاتی بک آپ گیری و یا بک آپ مدنظر را ریستور نمایند این آموزش در حول محور سه دستور اصلی mysql و mysqldump وmysqlimport خواهد بود البته در این اموزش ما فرض را بر این میزارم که از قبل مای اسکیول بر روی سیستم نصب و در حال استفاده میباشد

این مطلب هم میتواند برای شما مفید باشد   مک آدرس MAC Address : تشریح ساختار و معرفی

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

بعداز آماده کردن اطلاعات فوق در طبق دستور نمونه زیر دستور را وارد نمایید

در دستور بالا صرفا از یک بانک بک آپ گیری خواهد شد درصورتیکه بخواهید از بانک های اطلاعاتی متعدد بک آپ گیری نمایید بایستی از دستور زیر بهره بگیرید

در صورتیکه که بخواهید بصورت یکجا از تمامی بانک های موجود بک آپ گیری نمایید

اگر بخواهید صرفا از Structure بانک اطلاعاتی مدنظر بک آپگیری نمایید

اگر بخواهید صرفا از داده های موجود در بانک بدون بک آپگیری نمایید

این مطلب هم میتواند برای شما مفید باشد   دانلود کتاب آموزش MySQL مای اسکیوال و phpmyadmin به زبان فارسی

نحوه بک آپگیری از یک table خاص  در بانک

نحوه بک آپگیری از table های متفرقه و متفاوت

نحوه بک آپگیری از بانکی بصورت ریموت

نحوه ریستور و بازگردانی بک آپ 
همانند روش بالا برای بازگردانی و یا ریستور این بانک های بک آپ گرفته شده بایستی اطلاعاتی که در اول ذکر شد داشته باشید
برای ریستور یک بانک بر روی بانک خالی

در صورتی که بانکی از قبل وجود دارد و شما میخواهید اطلاعاتی را بر روی ان ریستور کنید باید از دستور زیر بهره بگیرید

تمامی روش های دیگر برای ریستور چندین بانک و یا table همانند روش های بالا قابل انجام میباشد

ادامه مطلب

آموزش نصب و راه اندازی SQL Server در لینوکس

 

آموزش جامع نصب SQL Server در لینوکس به همراه تست و راه اندازی :امروز یکی از دوستان سوالی در مورد نصب SQL بر روی لینوکس پرسیده بودن که بنده دیدم بهتره به جای سوال این موضوع در قالب مقاله ای مطرح کنم تا هم پاسخ ایشون داده بشه و هم اینکه دیگران هم در صورت نیاز از مطلب بهره ببرند اوایل سال 2016 بود که به نظرم مایکروسافت اعلام کرد کاربرانلینوکس هم از SQL استفاده کنن ولی فعلا برای همه نسخه های لینوکس این امکان وجود نداره و صرفا برای پلتفرم های زیر بصورت رسمی ارائه شده

خوب حالا در این مقاله مرحله به مرحله پیش میریم تا نحوه نصب SQL بر روی اوبونتو و ردهت رو باهم یاد بگیریم

این مطلب هم میتواند برای شما مفید باشد   جستجوی بهینه در بانک های اطلاعاتی : سوئیچ های کاربردی Query برای مقایسه و جستجوی بهینه در بانک های اطلاعاتی

نصب SQL بر روی اوبونتو 
برای شروع کار در اوبونتو ابتدا باید کلید پی جی پی رو وارد کنیم

مقادیر و اطلاعات مورد نیاز را از طریق دستور زیر در فایلی که در مسیر /etc/apt/sources.list.d/sql-server.list قرار دارد وارد میکنیم

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

اسکریپت کانفیک رو اجرا میکنیم برای نصب


زمانیکه در حین استفاده از MS SQL Tools از شما برای تایید قبول شرایط سوالی پرسیده شود گزینه بلی را انتخاب کنید

این مطلب هم میتواند برای شما مفید باشد   Hot plug و hot swap درسخت افزار چیست

نصب SQL بر روی ردهت لینوکس
ابتدا اطلاعات زیر را در فایلی که در مسیر /etc/yum.repos.d/sql-server.repo قرار گرفته اضافه کنید

سپس در مسیر/etc/yum.repos.d/msprod.repo  فایل مورد نظر را ایجاد کنید و اطلاعات زیر را در آن وارد نمایید

و در پایان از طریق دستور زیر اقدام به نصب نمایید بعد از تکمیل نصب از مسیر /opt/mssql/bin/sqlservr-setup میتوانید فایل کانفیگ را اجرا و پسورد و دیگر اطلاعات را ست نمایید و اینکه تعیین کنید SQL در هر بوت سیستم اتوماتیک اجرا شود

نکته مهم در صورتیکه میخواهید کاربران از بیرون نیز بتوانند به بانک های شما وصل شوند بایستی پورت 1433/tcp را در فایروال باز کنید که این کار از دو طریق مقدور است
روش بازکردن پورت در فایروال

روش استفاده از آی پی تیبل

خوب حالا نصب تمام شده و میرویم برای تست اولیه ابتدا توسط دستورات زیر وارد SQL شدهو دیتابیسی با نام علی قلعه بان ایجاد می نماییم

سپس از طریق یک کلاینت دیگر با استفاده یوزر و پسوردی که برای SQL ست کرده ایم و ای پی سیستم مورد نظر اتصال برقرار میکنیم و در لیست بانک ها میتوانید بانک ساخته شده را نیز مشاهده نمایید

این مطلب هم میتواند برای شما مفید باشد   CSMA چیست ؟

 

این مطلب هم میتواند برای شما مفید باشد   مقایسه ای بر الگوریتم های فشرده سازی داده
ادامه مطلب

نصب CentOS 7 بر روی VMware با استفاده از open-vm-tools

Linux CentOS 7 install on VMware vSphere with open-vm-tools

 

This article covers the main steps for a Linux CentOS 7 install in a VMware vSphere environment together with the open-vm-tools. Same virtual machine will also be used for a PostgreSQL and pgAdmin deployment. The purpose is to create a sandbox environment and learn how to deploy and protect this popular database server and operating system as well.

The idea is to provide protection by leveraging the Veeam Agent for Linux and also create additional rules for custom SureBackup jobs. More articles and configurations specific to Linux CentOS will follow. The idea is to reproduce in a homelab possible enterprise scenarios with the intent to test and tweak the production environments when ready.

The overall Linux CentOS 7 install process is very easy and straight forward. For this purpose a VM with a single disk will be used which is enough for the initial OS installation and software updates and the latest versions of PostgreSQL 11 and pgAdmin 4. Pleasantly surprised about the speed of the installation, the look and feel and the overall experience seems to have improved a lot and the desktop GUI is very responsive. Actually Linux CentOS 7 VM is running with just 2 CPUs and 4 GB RAM Memory. Never seen the VM using more than 800 MB of RAM which it makes a good candidate for additional applications as well. First ones will be PostgreSQL, pgAdmin, Apache and more.

All the required binaries for the installation are included in “DVD ISO“. There is also an “Everything ISO” which also includes all the sources for the binaries. and it is also a lot bigger. Almost twice the size of the DVD ISO. The first one is sufficient to complete the Linux CentOS 7 install with a full desktop environment along with the most popular applications. Should more or new packages be required it is possible to automatically install them using “Yum” an excellent package manager included in the main install.

 

Linux CentOS 7 install on VMware

From the vSphere Client let’s create a new virtual machine to start with the Linux CentOS 7 install.

domalab.com Linux CentOS 7 install create a new machine

Let’s provide a virtual machine name and the folder location.

domalab.com Linux CentOS 7 install vm name and folder

At this point in the wizard let’s specify the VMware vSphere Host associated to the VM.

domalab.com Linux CentOS 7 install vmware compute resource

In the storage selection we can choose between available datastores.

domalab.com Linux CentOS 7 install vmware select storage

At this point the wizard shows the available “virtual hardware templates” for compatibility purposes. Unless there are earlier versions of the vSphere Hosts this VM should work with, the latest version is always better.

domalab.com Linux CentOS 7 install vmware select compatibility

In this step it is possible to choose the desired template for the Linux CentOS 7 install. In this case the 64-bit version.

domalab.com Linux CentOS 7 install vmware selcet guest OS

For the virtual hardware the following settings provide very good performances:

  • 2 CPU
  • 4 GB RAM
  • 40 GB Disk

As per screenshot in the wizard the CD drive is configured to point directly to the CentOS installation ISO file. For the network optionally a Port Group which provides access to a DHCP would be great. In reality during the installation it is possible to configure manual and DHCP network settings.

domalab.com Linux CentOS 7 install vmware customize hardware

And finally a quick summary from the wizard showing the main details before committing.

domalab.com Linux CentOS 7 install vmware wizard

Everything is ready to start the with the Linux CentOS 7 install. From the boot menu the options to install, test the media before proceeding with the deployment and also the troubleshooting section. Eventually the ability to start the install with parameters specific to the hardware used. In the case of a VM the virtual hardware is fully identified and installed with the proper built-in drivers.

domalab.com Linux CentOS 7 install vmware remote console

In the welcome screen we can select the desired language. This choice also gives/changes the desired keyboard layout. The text box is useful to test special characters for strong passwords.

domalab.com Linux CentOS 7 install welcome screen

At this point it is just matter of choosing the specific configurations for each section. The incomplete ones are highlighted with an orange icon.

domalab.com Linux CentOS 7 install settings

In the case of the “installation destination” the wizard offers a default partitioning scheme suitable for the large majority of installations and based on detected hardware. Eventually it is allowed to create a custom partition layout. Useful for Server Applications requiring specific configurations.

domalab.com Linux CentOS 7 install drive partition

Next is the network configuration. In this case my preference is to configure a manual IP address having the FQDN already setup for this server.

domalab.com Linux CentOS 7 install network configuration

There are plenty of settings organised in pertinent tabs. From IPv4 let’s select Manual and provide the IP addresses.

domalab.com Linux CentOS 7 install network

Once ready and verified the network settings, let’s click on “Done” and continue.

domalab.com Linux CentOS 7 install network review

For this install a full desktop experience is used with GNOME Desktop and in addition a set of commonly used applications. Other ones can be easily installed using the built-in Software Manager.

domalab.com Linux CentOS 7 install software selection

At this point everything is ready to begin the Linux CentOS 7 install.

domalab.com Linux CentOS 7 install begin

During the initial copy and install of the binaries the wizard prompts for the creation of a root password and a non-admin account.

domalab.com Linux CentOS 7 install root password

The creation of a simple user with no admin permissions is a great idea from a security perspective.

domalab.com Linux CentOS 7 install user creation

A few minutes later the installation phase is completed. A reboot is required at this point.

domalab.com Linux CentOS 7 install completed

On the first boot the wizard shows an initial setup page to accept the licensing (still free!). With an automated install this step can be omitted. Since the network is connected we can proceed to the next step.

domalab.com Linux CentOS 7 install license information

Let’s accept the license and continue.

domalab.com Linux CentOS 7 install licensing

We can now finish the configuration.

domalab.com Linux CentOS 7 install finish configuration

In the getting started just a few questions about social profiles and locations.

domalab.com Linux CentOS 7 install Gnome welcome

The Linux CentOS 7 is now ready. Next steps include installing open-vm-tools and run all the OS updates.

domalab.com Linux CentOS 7 install desktop

Right click on Desktop to open the “Terminal” and issue a “su” command to impersonate the root account providing the password at the installation time.

domalab.com Linux CentOS 7 install su root

Using “yum” package manager let’s install the open-vm-tools with:

“yum install open-vm-tools”

Yum will automatically search and check the dependencies in the built-in repositories.

domalab.com Linux CentOS 7 install yum open-vm-tools

Let’s click on “y” to the question and yum will proceed with installation. Job done. Open-vm-tools are installed and running!

domalab.com Linux CentOS 7 install open-vm-tools complete

Next from Applications > Software Update the option to check for all updates for the installed packages part of the default install. At the time of writing a bit more than 200. Thing is they are very small and do not take long to download and install.

domalab.com Linux CentOS 7 install browse software updates

A few minutes later the Linux CentOS 7 install is up and running with the latest version.

domalab.com Linux CentOS 7 install all updates

Next article will cover the installation of PostgreSQL and pgAdmin on Linux CentOS 7.

ادامه مطلب

نصب PostgreSQL و pgAdmin در لینوکس CentOS 7

Install PostgreSQL and pgAdmin on Linux CentOS 7

 

PostgreSQL is one of the most powerful and popular open source databases that built its reputation on architecture, features and the ability pretty much to run on a wide range of operating systems. The same VMware VCSA uses PostgreSQL as the embedded database option for the vCenter appliance. The purpose of this article is to show the simple steps on how to install PostgreSQL on a Linux CentOS 7 virtual machine running on VMware vSphere. Complementary to the PostgreSQL deployment also the pgAdmin install. A powerful tool that provides full management capabilities for all PostgreSQL aspects. From Database Server level to the manipulation of all database objects. Also in this case pgAdmin is available for multiple platforms.

This article shows the process to install PostgreSQL using the command line. Whereas the pgAdmin tool will be installed using the built-in Software Manager in the GNOME Desktop. The configuration for both applications will use the command line or bash shell. A third application that will be installed and configured is Apache or httpd daemon. This one will serve the pgAdmin install and provides a web based GUI to graphically manage the PostgreSQL Server.

The idea to install PostgreSQL on Linux CentOS 7 goes together with option to explore the configurations on how to protect both the server environment and also the PostgreSQL application with its databases. Separate articles will be dedicated on how to provide protection including a file and crash consistent backup. The scenario visits the ability to include the PostgreSQL Server into a Veeam Protection Group. Effectively the protection is operated by the Veeam Agent for Linux working in “Managed Mode”. Typically, this scenario is used for both Physical Servers and Cloud Instances. In this case the homelab offers both scenarios: protecting the Linux CentOS VM within the Hypervisor or simply installing the Veeam Agent. A dedicated article will show both.

 

How to install PostgreSQL on Linux CentOS 7

For this first part to install PostgreSQL Database Server a quick and easy way is to use the excellent Package Manager from the command line. First thing to make things even easier (and run the majority of commands without logging into root account) is to edit the “sudoers” file. Essentially this file controls who and what admin commands can be run from the user context. Its not required but recommended for security reasons and also because future installs might benefit from same configuration. In a nutshell let’s open a Terminal session and issue the “su” command and provide the root password.

At this point let’s run the command

“visudo”

This special command is authorized to make changes to the sudoers file. All we need to do is to add a line for the intended user similar to the one on the screenshot:

“yourUser ALL=(ALL)   ALL”

This is the “vi” editor:

  • i=enters INSERT mode
  • ESC=exit current mode
  • :=specify command
  • :w=write changes
  • :q=exit vi

Should this not be easy or intuitive to use, let;s not make any change and carry on with the rest of the process to install PostgreSQL with a root account.

domalab.com install postgreSQL pgAdmin CentOS 7 sudoers

Since the install will be done via the network and the Package repositories it’s a good idea to update the Package Manager itself. The operation is very quick. A few seconds.

“sudo yum update -y”

domalab.com install postgreSQL pgAdmin CentOS 7 yum update

Next step is to add the internet Linux CentOS repositories for the RPMs with the latest version to install PostgreSQL. To install the x86_64 version of 11.x release the command is:

“yum install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-centos11-11-2.noarch.rpm”

domalab.com install postgreSQL pgAdmin CentOS 7 yum rpm repo

Next step is to install PostgreSQL Client, Server and additional packages for dependencies in the Contrib package:

“yum install postgresql11 postgresql11-server postgresql11-contrib”

domalab.com install postgreSQL pgAdmin CentOS 7 packages

Now that the necessary packages are installed it is possible to initialize the database, add the PostgreSQL database server to the list of automatic services to start at boot and start the service.

  • Initialize database
    • “/usr/pgsql-11/bin/postgresql-11-setup initdb”
  • Add PostgreSQL service to boot
    • systemctl enable postgresql-11
  • Start PostgreSQL service
    • “systemctl start postgresql-11”

domalab.com install postgreSQL pgAdmin CentOS 7 service enable

By default, Linux CentOS 7 runs both a firewall and SELinux configuration. Unless these are disabled the following ports need to be open and accept inbound connections. Network Port 5432 is used by default from PostgreSQL to listen incoming requests. of course this can be changed if required. Port 80 will be used by default from Apache (which will be installed later on). As an extra I’m adding Network Port 5500 to connect to this Linux CentOS 7 Server using a remote desktop.

The command to add the desired ports is:

  • “sudo firewall-cmd –permanent –add-port=5432/tcp”
  • “sudo firewall-cmd –permanent –add-port=80/tcp”
  • “sudo firewall-cmd –permanent –add-port=5500/tcp”

domalab.com install postgreSQL pgAdmin CentOS 7 firewall add

At this point the step to install PostgreSQL server are completed. To test the deployment it is possible to use the internal “psql” command utility to operate the server. By default, a Database user is created with username and password “postgres”. Ideally we can start changing the password for this user. From a Terminal session let’s run:

“sudo su – postgres”

this will output the bash prompt. Let’s enter “psql” to start the utility. This shows the PostgreSQL version installed (11.1) and the help command.

From here let’s run:

“sudo -u postgres psql postgres”

default password is postgres

“\password postgres”

At this point let’s enter a new password and confirm this again.

domalab.com install postgreSQL pgAdmin CentOS 7 password

Within the psql context it is possible to run many commands to create, delete users, databases and a lot more. A command like:

“SELECT version ();”

shows the current version installed.

“SHOW config_file;”

shows the actual configuration

“\l”

shows a list of databases.

domalab.com install postgreSQL pgAdmin CentOS 7 psql

Now that the Server Database is installed it’s  a matter to run the configuration for first use. First thing is to change how the passwords are sent to authenticate to the database. This can be changed to use the md5. To change this we can issue the command:

“nano /var/lib/pgsql/11/data/pg_hba.conf”

domalab.com install postgreSQL pgAdmin CentOS 7 configuration

In the method column all the peer and ident can be changed to md5.

domalab.com install postgreSQL pgAdmin CentOS 7 md5

the result should be something similar to this.

domalab.com install postgreSQL pgAdmin CentOS 7 md5 authentication

To make changes effective it is necessary to restart the PostgreSQL service:

“systemctl restart postgresql-11.service”

domalab.com install postgreSQL pgAdmin CentOS 7 restart service

Next options to change are the allowed connections and the listening port. By default PostgreSQL accepts only local connections and it is using Network Port 5432. With the following command it is possible to change these parameters:

“nano /var/lib/pgsql/11/data/postgresql.conf”

domalab.com install postgreSQL pgAdmin CentOS 7 config

The listening addresses and port show localhost and 5432.

domalab.com install postgreSQL pgAdmin CentOS 7 listening port

These can be changed to something similar to this. Also, these lines should be commented out to make this change effective.

domalab.com install postgreSQL pgAdmin CentOS 7 port config

Again time to restart the PostgreSQL service.

domalab.com install postgreSQL pgAdmin CentOS 7 restart service

All the initial configurations from the PostgreSQL server side are competed. Next steps include the installation of httpd and pgAdmin. The latter is located on the epel-release Package repository. Similarly, to what has been done before it’s a matter to the software repo from where to download and install the desired packages:

“sudo yum install epel-release -y”

followed by

“sudo yum install httpd -y”

pgAdmin will be actually installed using the graphical Software Manager.

domalab.com install postgreSQL pgAdmin CentOS 7 epel repo

 

 

Adding pgAdmin to the install of PostgreSQL on Linux CentOS 7

Now everything is ready to install pgAdmin and manage the PostgreSQL Database Server. From the Software Manager let’s look for “pgadmin4” and select to install the first one as per screenshot below.

domalab.com install postgreSQL pgAdmin CentOS 7 install

Let’s provide the root password to continue.

domalab.com install postgreSQL pgAdmin CentOS 7 root password

Now pgAdmin requires a bit of configuration together with Apache httpd daemon. From this perspective the first step is to add the location paths where pgAdmin will operate the internal db, logs and storage.

“nano /usr/lib/python2.7/site-packages/pgadmin4-web/config_distro.py”

domalab.com install postgreSQL pgAdmin CentOS 7 config

Using the editor lets add the following lines. Let’s pay attention to the current locations:

  • LOG_FILE = ‘/var/log/pgadmin4/pgadmin4.log’
  • SQLITE_PATH = ‘/var/lib/pgadmin4/pgadmin4.db’
  • SESSION_DB_PATH = ‘/var/lib/pgadmin4/sessions’
  • STORAGE_DIR = ‘/var/lib/pgadmin4/storage’

domalab.com install postgreSQL pgAdmin CentOS 7 config path

After making sure the locations are correct next step is to create and initialize the pgAdmin internal database:

“python /usr/lib/python2.7/site-packages/pgadmin4-web/setup.py”

domalab.com install postgreSQL pgAdmin CentOS 7 database initialisation

As a requirement it is a good idea to make sure the Apache user and Group have the ownership to the pgAdmin locations:

  • chown -R apache:apache /var/lib/pgadmin4
  • chown -R apache:apache /var/log/pgadmin4

In addition, if the SELinux is running (it is configured by default in Linux CentOS 7) the following is required:

  • chcon -R -t httpd_sys_content_rw_t “/var/log/pgadmin4/”
  • chcon -R -t httpd_sys_content_rw_t “/var/lib/pgadmin4/”

domalab.com install postgreSQL pgAdmin CentOS 7 chown chcon

This step provides the information to create the Apache virtual directory which will host the pgAdmin site.

“nano /etc/httpd/conf.d/pgadmin4.conf”

with the following configuration

ServerName YourFQDNName

  WSGIDaemonProcess pgadmin processes=1 threads=25

  WSGIScriptAlias / /usr/lib/python2.7/site-packages/pgadmin4-web/pgAdmin4.wsgi

  <directory “=”” usr=”” lib=”” python2.7=”” site-packages=”” pgadmin4-web=””>

        WSGIProcessGroup pgadmin

        WSGIApplicationGroup %{GLOBAL}

        Require all granted

 

domalab.com install postgreSQL pgAdmin CentOS 7 pgadmin conf

Apache server provides the capability to test the configuration for any syntax error:

“apachectl configtest”

If working ok it is now time to restart the Apache web server with:

“systemctl restart httpd”

domalab.com install postgreSQL pgAdmin CentOS 7 apache restart

Since SELinux is enabled by default an extra command line isrequired to allow pgAdmin to connect to PostgreSQL:

setsebool -P httpd_can_network_connect 1

 

Finally it is a matter of adding the rules for the firewall and restart the firewall service as root:

“firewall-cmd –permanent –add-service=http”

and

“firewall-cmd –reload”

domalab.com install postgreSQL pgAdmin CentOS 7 apache firewall

It’s now time to test the pgAdmin connection to the PostgreSQL Database Server. From any web browser let’s point to the host where the Apache web server is running. Simply the hostname or hostname is sufficient. If everything is working this should output something simlar to this where to enter the default user postgres and the chosen password.

domalab.com install postgreSQL pgAdmin CentOS 7 login

Success! pgAdmin can now manage the install PostgreSQL from any location using a web browser.

domalab.com install postgreSQL pgAdmin CentOS 7 GUI

ادامه مطلب

نصب OpenSSH در سرور Ubuntu

Install OpenSSH on Ubuntu Server quick howto

 

As part of the main preparation process for a Linux based vApp this article is following up with the steps on how to install OpenSSH Server on a Ubuntu Server virtual machine. Secure Shell (SSH) is a protocol which allows to connect to a Host over an unsecure network. The typical tasks include remote login, and commands executions. This is a perfect replacement for other legacy network protocols that could send passwords and other sensitive information in clear text.

The purpose of this quick article is to show the steps to install OpenSSH Server on a Ubuntu Server virtual machine. This will make the management of the server a lot easier without requiring to open any remote console or even use a remote desktop connection application. A simple SSH client like putty for example running on a Windows machine will be able to connect and manage the Ubuntu Server over a secure network connection with SSH enabled encryption.

OpenSSH runs by default on Network Port 22. Same applies to both Unix and Windows system types. If required or even for extra security it is possible to change this Port to a custom value.

OpenSSH Server can be installed as part of the main installation of the Ubuntu Server Operating System itself. Should this have been omitted or not included in any deployment scripts for unattended installations the next steps show the process to install OpenSSH Server.

 

How to install OpenSSH Server on Ubuntu

From the VMware vCenter Client > Virtual Machine Name > the option to run the VMware Remote console. Once the session is started and straight after the login to the Ubuntu Server the command line to install OpenSSH is pretty simple. For a non root account:

“sudo apt install -y openssh-server”

will search for the package definition into the local cache of the package manager and start the install process. Ideally a “sudo apt update” first comes handy to update the local cache with latest packages definitions.

domalab.com Install OpenSSH Ubuntu Server

In a matter of few seconds the step to install OpenSSH Server is complete. As the output of the installation is showing it also includes the creation of an encrypted key. This is a self-generated and not public one. Indeed, it is also possible to use an existing public one.

domalab.com Install OpenSSH Ubuntu Server complete

First step would be to make sure the OpenSSH Server is running. The quickest way would be to issue the command:

“sudo systemctl status ssh”

The result would look something similar to this screenshot.

domalab.com Install OpenSSH Ubuntu Server service status

Next in order to make OpenSSH Server start at every boot of the Ubuntu Server it is just a matter to enable the automatic start of its daemon:

“sudo systemctl enable ssh”

This command will automatically create the necessary symbolic links.

domalab.com Install OpenSSH Ubuntu Server enable service

At this point it is time to test the OpenSSH Server connection from a different Host. For example a Windows machine running the putty SSH client. As soon as the connection is starting (and if the encryption certificate is not “known”) the first time a new message pops up asking to review the certificate connection details. This is normal for a first time connection when using a self-generated non-public certificate.

domalab.com Install OpenSSH Ubuntu Server putty certificate

Upon acceptance the OpenSSH Server allows the connection and remote execution of any commands in the “local” terminal. Very useful for management and scripting purposes.

domalab.com Install OpenSSH Ubuntu Server windows connection

ادامه مطلب