server



یکی از راه های محافظت در برابر خطاهای اتمام حافظه در برنامه ها ، اضافه کردن فضای Swap به سرور مجازی شما است. در این راهنما نحوه اضافه کردن فایل swap به یک سرور مجازی Ubuntu 20.04 را پوشش خواهیم داد.
هشدار: اگرچه Swap برای سیستم هایی که از هارد دیسک های معمول چرخشی استفاده میکنند ، توصیه میشود اما قرار دادن Swap در SSD ها می تواند با گذشت زمان مشکلاتی را برای تخریب سخت افزار ایجاد کند. به همین دلیل ، ما امکان فعال کردن Swap در vpsgol یا هر ارائه دهنده دیگری که از حافظه SSD استفاده می کند را توصیه نمی کنیم.
Swap چیست؟
Swap بخشی از حافظه هارد دیسک است که برای سیستم عامل کنار گذاشته شده است تا داده هایی را که دیگر نمی تواند در RAM نگهداری کند ، به طور موقت ذخیره کند. این به شما امکان می دهد مقدار اطلاعاتی را که سرور مجازی شما می تواند در حافظه کاری خود نگه دارد افزایش یابد. فضای Swap در هارد دیسک عمدتاً زمانی استفاده می شود که دیگر فضای کافی در حافظه رم برای نگهداری داده های برنامه وجود نداشته باشد.
اطلاعات ارسال شده روی دیسک به طور قابل توجهی کندتر از اطلاعات موجود در RAM خواهد بود ، اما سیستم عامل ترجیح می دهد داده های برنامه را در حافظه نگه داشته و از داده های قدیمی تر swap استفاده کند. به طور کلی ، داشتن فضای Swap به عنوان fallback برای زمانی که رم رو به اتمام است، می تواند یک شبکه ایمنی مناسب در برابر استثناهای اتمام حافظه در سیستم های با حافظه غیر SSD باشد.
مرحله 1 – بررسی سیستم برای اطلاعات Swap
قبل از شروع ، می توانیم بررسی کنیم که آیا سیستم از قبل فضای Swap در دسترس دارد یا خیر. ممکن است چندین فایل Swap یا پارتیشن swap داشته باشد ، اما به طور کلی یکی از آنها کافی می باشد.
با تایپ کردن این دستور می توانیم ببینیم که آیا این سیستم Swap پیکربندی شده دارد:
$ sudo swapon –show

اگر هیچ خروجی دریافت نکردید ، بدان معنی است که سیستم شما در حال حاضر فضای Swap در دسترس ندارد.
با استفاده از ابزار free می توانید تأیید کنید که هیچ Swap فعالی وجود ندارد:
$ free -h

Output
total used free shared buff/cache available
Mem: 981Mi 122Mi 647Mi 0.0Ki 211Mi 714Mi
Swap: 0B 0B 0B

همانطور که در ردیف Swap خروجی مشاهده می کنید ، هیچ Swap روی سیستم فعال نیست.
مرحله 2 – بررسی فضای موجود در پارتیشن هارد دیسک
قبل از ایجاد فایل Swap ، استفاده فعلی دیسک خود را بررسی خواهیم کرد تا مطمئن شویم که فضای کافی داریم. این کار را با وارد کردن دستور زیر انجام دهید:
$ df -h

Output
Filesystem Size Used Avail Use% Mounted on
udev 474M 0 474M 0% /dev
tmpfs 99M 932K 98M 1% /run
/dev/vda1 25G 1.4G 23G 7% /
tmpfs 491M 0 491M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 491M 0 491M 0% /sys/fs/cgroup
/dev/vda15 105M 3.9M 101M 4% /boot/efi
/dev/loop0 55M 55M 0 100% /snap/core/1705
/dev/loop1 69M 69M 0 100% /snap/lxd/14804
/dev/loop2 28M 28M 0 100% /snap/snapd/7264
tmpfs 99M 0 99M 0% /run/user/1000

دستگاه با / در ستون Mounted on در این مورد دیسک ماست. در این مثال فضای زیادی در دسترس داریم (فقط از 1.4گیگ استفاده شده است). استفاده شما احتمالاً متفاوت خواهد بود.
اگرچه نظرات زیادی در مورد اندازه مناسب فضای swap وجود دارد ، اما واقعاً بستگی به ترجیحات شخصی شما و نیازهای برنامه شما دارد. به طور کلی ، مقداری برابر یا دو برابر مقدار RAM روی سیستم مناسب خواهد بود. یک قانون دیگر این است که اگر فقط از آن به عنوان fallback رم استفاده کنید ، احتمالاً چیزی بیش از 4 گیگ Swapنیاز نمیباشد.
مرحله 3 – ایجاد فایل swap
اکنون که فضای هارد دیسک موجود خود را می دانیم ، می توانیم یک فایل swap در سیستم فایل خود ایجاد کنیم. ما فایلی را به اندازه ای که می خواهیم به نام swapfile  در دیرکتوری ریشه (/)خود قرار خواهیم داد.
بهترین راه برای ایجاد فایل swap با برنامه fallocate است. این دستور بلافاصله یک فایل با اندازه مشخص ایجاد می کند.
از آنجا که سرور مجازی در مثال ما 1 گیگ RAM دارد ، ما یک فایل 1 گیگی را در این راهنما ایجاد خواهیم کرد. این رم را متناسب با نیازهای سرور مجازی خود تنظیم کنید:
$ sudo fallocate -l 1G /swapfile

با تایپ این دستور می توانیم تأیید کنیم که مقدار صحیح فضا محفوظ است:
$ ls -lh /swapfile

$ -rw-r–r– 1 root root 1.0G Apr 25 11:14 /swapfile

فایل ما با مقدار صحیحی از فضای کنار گذاشته شده ایجاد شده است.
مرحله 4 – فعال کردن فایل swap
اکنون که فایلی با اندازه مناسب در دسترس داریم ، باید در عمل این را به فضای swap تبدیل کنیم.
ابتدا باید مجوزهای فایل را قفل کنیم تا فقط کاربرانی که دارای حق امتیاز هستند بتوانند مطالب را بخوانند. این کار مانع از دسترسی کاربران عادی به فایل می شود که پیامدهای امنیتی قابل توجهی دارد.
با تایپ کردن دستور زیر فایل فقط در دسترس ریشه قرار میگیرد:
$ sudo chmod 600 /swapfile

تغییر مجوزها را با تایپ دستور زیر تأیید کنید:
$ ls -lh /swapfile

Output
-rw——- 1 root root 1.0G Apr 25 11:14 /swapfile

همانطور که مشاهده می کنید ، فقط کاربر اصلی دارای پرچم های خواندن و نوشتن است.
اکنون می توانیم با تایپ کردن این دستور فایل را به عنوان فضای swap مشخص کنیم:
$ sudo mkswap /swapfile

Output
Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=6e965805-2ab9-450f-aed6-577e74089dbf

پس از علامت گذاری فایل ، می توانیم فایل swap را فعال کنیم و به سیستم ما امکان استفاده از آن را می دهد:
$ sudo swapon /swapfile

با تایپ این دستور تأیید کنید که swap در دسترس است:
$ sudo swapon –show

Output
NAME TYPE SIZE USED PRIO
/swapfile file 1024M 0B -2
ما می توانیم بازده ابزار free را دوباره بررسی کنیم تا یافته هایمان را تأیید کنیم:
$ free -h

Output
total used free shared buff/cache available
Mem: 981Mi 123Mi 644Mi 0.0Ki 213Mi 714Mi
Swap: 1.0Gi 0B 1.0Gi

swap ما با موفقیت تنظیم شده است و سیستم عامل ما در صورت وم شروع به استفاده از آن خواهد کرد.
مرحله 5 – دائمی کردن فایل Swap
تغییرات اخیر ما فایل Swap بخش فعلی را فعال کرده است. اما اگر راه اندازی مجدد کنیم ، سرور مجازی تنظیمات swap را به طور خودکار حفظ نمی کند. ما می توانیم با اضافه کردن فایل swap به فایل / etc / fstab خود ، این تنظیمات را تغییر دهیم.
از فایل / etc / fstab نسخه پشتیبان تهیه کنید تا در صورت بروز هرگونه خطا با مشکلی مواجه نشوید:
$ sudo cp /etc/fstab /etc/fstab.bak

با تایپ کردن این دستور اطلاعات فایل swap را به انتهای فایل / etc / fstab خود اضافه کنید:
$ echo ‘/swapfile none swap sw 0 0’ | sudo tee -a /etc/fstab

در مرحله بعدی برخی از تنظیماتی را میتوانیم به روز کنیم بررسی مینماییم تا فضای swap خود را تنظیم کنیم.
مرحله 6 – تنظیمات swap خود را تعیین کنید
چند گزینه وجود دارد که می توانید پیکربندی کنید که در عملکرد سیستم شما هنگام برخورد با swap تأثیر می گذارد.
تنظیم ویژگی Swappiness
پارامتر swappiness پیکربندی میکند که سیستم شما چند بار داده را از RAM به فضای swap در گردش قرار دهد. این مقدار بین 0 تا 100 است که درصد را نشان می دهد.
با مقادیر نزدیک به صفر ، هسته داده ها را به دیسک منتقل نمیکند مگر اینکه واقعا لازم باشد. به یاد داشته باشید ، تعامل با فایل swap “هزینه بر” است زیرا مدت زمان زیادی نسبت به تعامل با RAM طول می کشد و می تواند باعث کاهش قابل توجه عملکرد شود. به طور کلی اعلام به سیستم مبنی بر متکی نبودن زیاد به swap ، باعث سریعتر شدن سیستم شما خواهد شد.
مقادیر نزدیک به 100 ، سعی می کنند تا داده های بیشتری را در swap قرار دهند تا فضای خالی RAM بیشتری حفظ کنند. بسته به مشخصات حافظه برنامه های شما یا آنچه از سرور مجازی خود برای آن استفاده می کنید ، این کار ممکن است در بعضی موارد ارحج باشد.
می توانیم با تایپ کردن دستور زیر مقدار swappiness فعلی را مشاهده کنیم:
$ cat /proc/sys/vm/swappiness

Output
60

برای دسکتاپ ، تنظیم swappiness روی 60 مقدار بدی نیست. برای یک سرور مجازی ، ممکن است بخواهید آن را به 0 نزدیک کنید.
ما می توانیم swappiness را با استفاده از دستور sysctl به مقدار دیگری تبدیل کنیم.
به عنوان مثال ، برای تنظیم swappiness روی 10 ، می توانیم تایپ کنیم:
$ sudo sysctl vm.swappiness=10

Output
vm.swappiness = 10

این تنظیم تا ریبوت بعدی ادامه خواهد داشت. ما می توانیم با اضافه کردن خط به فایل /etc/sysctl.conf ، این مقدار را به طور خودکار در ریستارت تنظیم کنیم:
$ sudo nano /etc/sysctl.conf

در پایین می توانید اضافه کنید:
/etc/sysctl.conf
vm.swappiness=10
پس از اتمام فایل را ذخیره کنید و ببندید.
تعیین تنظیمات فشار Cache
مقدار مرتبط دیگری که ممکن است بخواهید آن را تغییر دهید vfs_cache_pressure است. این تنظیمات چگونگی انتخاب سیستم برای ذخیره اطلاعات inode  و dentry  نسبت به سایر داده ها را پیکربندی می کند.
در اصل ، داده های دسترسی در مورد سیستم فایل است. به طور کلی جستجوی آن هزینه بر است و بسیار درخواست میشود، بنابراین یک حافظه پنهان برای سیستم شما بسیار عالی خواهد بود. با پرس و جوی مجدد سیستم فایل proc می توانید مقدار فعلی را مشاهده کنید:
$ cat /proc/sys/vm/vfs_cache_pressure

Output
100
همانطور که سیستم ما در حال حاضر پیکربندی شده است ، خیلی سریع اطلاعات inode  را از حافظه نهان پاک می کند. می توانیم با تایپ کردن دستور زیر، میتوانیم آن را روی تنظیمات محافظه کارانه تری مانند 50 تنظیم کنیم:
$ sudo sysctl vm.vfs_cache_pressure=50

Output
vm.vfs_cache_pressure = 50

باز هم ، این فقط برای بخش فعلی ما معتبر است. ما می توانیم با اضافه کردن آن به فایل پیکربندی خود مانند تنظیمات swappiness آن را تغییر دهیم:
$ sudo nano /etc/sysctl.conf

در پایین ، خطی را اضافه کنید که مقدار جدید شما را مشخص می کند:
/etc/sysctl.conf
vm.vfs_cache_pressure=50

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

 

برچسب‌ها:fallbackRAMSSDswap


server

فراموش کردن رمزهای عبور برای اکثر ما اتفاق می افتد. اگر رمز عبور ریشه برای ورود به پایگاه داده MySQL یا MariaDB خود را فراموش یا گم کرده اید، در صورت دسترسی به سرور مجازی و یک حساب کاربری دارای قابلیت sudo ، باز هم می توانید دسترسی پیدا کرده و پسورد را ریست کنید.
در این آموزش نحوه تنظیم مجدد رمز عبور ریشه برای نسخه های قدیمی تر و جدیدتر MySQL و MariaDB ارائه می شود.
پیش نیازها
برای بازیابی رمز عبور ریشه MySQL / MariaDB ، به این موارد نیاز دارید:
• دسترسی به سرور مجازی لینوکس که MySQL یا MariaDB را با یک کاربر sudo اجرا کند.
مرحله 1 – شناسایی نسخه بانک اطلاعاتی
بیشتر توزیع های مدرن لینوکس با MySQL یا MariaDB همراه هستند ، یک جایگزین محبوب که کاملاً با MySQL سازگار است. بسته به پایگاه داده استفاده شده و نسخه آن ، برای بازیابی رمز اصلی باید از دستورات مختلفی استفاده کنید.
می توانید نسخه خود را با دستور زیر بررسی کنید:
$ mysql –version

خروجی مانند این را برای MySQL مشاهده خواهید کرد:
MySQL output
mysql Ver 14.14 Distrib 5.7.16, for Linux (x86_64) using EditLine wrapper

یا خروجی مانند این برای MariaDB:
MariaDB output
mysql Ver 15.1 Distrib 5.5.52-MariaDB, for Linux (x86_64) using readline 5.1

توجه داشته باشید که کدام بانک اطلاعاتی و کدام نسخه را اجرا می کنید ، زیرا بعداً از آنها استفاده خواهید کرد. در مرحله بعد باید پایگاه داده را متوقف کنید تا بتوانید به صورت دستی به آن دسترسی پیدا کنید.
مرحله 2 – توقف سرور مجازی بانک اطلاعاتی
برای تغییر رمز عبور ریشه ، باید از قبل سرور مجازی پایگاه داده را خاموش کنید.
می توانید با دستور زیر این کار را برای MySQL انجام دهید:
$ sudo systemctl stop mysql

و برای MariaDB با:
$ sudo systemctl stop mariadb

پس از متوقف کردن سرور مجازی پایگاه داده ، برای تنظیم مجدد رمزعبور ریشه به صورت دستی به آن دسترسی پیدا می کنید.
مرحله 3 – راه اندازی مجدد سرور مجازی بانک اطلاعاتی بدون بررسی مجوز
اگر MySQL و MariaDB را بدون بارگذاری اطلاعات در مورد امتیازات کاربر اجرا کنید ، به شما این امکان را می دهد تا بدون ارائه رمز عبور ، به خط فرمان پایگاه داده با امتیازات اصلی دسترسی پیدا کنید. این امر به شما امکان می دهد بدون شناختن آن به پایگاه داده دسترسی پیدا کنید.
برای انجام این کار ، شما باید از بارگذاری جداول امتیازدهی ، که اطلاعات امتیازات کاربر را ذخیره می کند ، توسط پایگاه داده جلوگیری کنید. از آنجا که این کار کمی خطر امنیتی دارد ، باید از ایجاد شبکه نیز صرفنظر کنید تا از اتصال سایر کلاینت ها جلوگیری کنید.
پایگاه داده را بدون لود جداول امتیاز یا فعال کردن شبکه شروع کنید:
$ sudo mysqld_safe –skip-grant-tables –skip-networking &

علامت & در انتهای این دستور باعث می شود این روند در پس زمینه اجرا شود ، بنابراین می توانید به استفاده از ترمینال خود ادامه دهید.
اکنون می توانید به عنوان کاربر اصلی به بانک اطلاعاتی متصل شوید که نباید از شما پسورد بخواهد.
$ mysql -u root
در عوض بلافاصله پوسته پایگاه داده را مشاهده خواهید کرد.
MySQL prompt
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

mysql>

MariaDB prompt
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

MariaDB [(none)]>

اکنون که دسترسی ریشه دارید ، می توانید رمز عبور اصلی را تغییر دهید.
مرحله 4 – تغییر رمز عبور Root
یک روش ساده برای تغییر رمز عبور اصلی برای نسخه های مدرن MySQL ، استفاده از دستور ALTER USER است. با این حال ، این دستور اکنون کار نمی کند زیرا جداول امتیاز لود نمی شوند.
بیایید به سرور مجازی پایگاه داده بگوییم که جداول امتیاز را با صدور فرمان FLUSH PRIVILEGES مجدد لود کند.
Mysql> FLUSH PRIVILEGES;

اکنون می توانیم کلمه عبور اصلی را تغییر دهیم.
برای MySQL 5.7.6 و نسخه های جدیدتر و همچنین MariaDB 10.1.20 و جدیدتر از دستور زیر استفاده کنید.
Mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘new_password’;

برای MySQL 5.7.5 و نسخه های قبل تر و همچنین MariaDB 10.1.20 و قبل تر از این دستور استفاده کنید:
Mysql> SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘new_password’);

حتماً new_password را با رمز جدید انتخابی خود جایگزین کنید.
توجه: اگر فرمان ALTER USER کار نکند ، معمولاً نشان دهنده یک مشکل بزرگتر است. با این حال ، می توانید UPDATE …SET را امتحان کنید تا رمزعبور ریشه را تنظیم کنید.
Mysql> UPDATE mysql.user SET authentication_string = PASSWORD(‘new_password’) WHERE User = ‘root’ AND Host = ‘localhost’;

به یاد داشته باشید که جدولهای اعطای امتیاز را پس از این مجدد لود کنید.
در هر صورت ، باید تأیید کنید که فرمان با موفقیت انجام شده است.
Output
Query OK, 0 rows affected (0.00 sec)

گذرواژه تغییر کرده است ، بنابراین شما هم اکنون می توانید نمونه دستی سرور مجازی پایگاه داده را متوقف کرده و آن را به حالت قبل ریستارت کنید.
مرحله 5 – سرور مجازی پایگاه داده را به طور عادی ریستارت کنید
ابتدا نمونه سرور مجازی پایگاه داده را که به طور دستی در مرحله 3 شروع کرده اید متوقف کنید. این دستور PID یا شناسه پردازش MySQL یا MariaDB را جستجو میکند و SIGTERM را ارسال می کند تا به آن بگوید که پس از انجام عملیات پاکسازی از آن خارج شود. در این لینک آموزش مدیریت فرآیند لینوکس می توانید اطلاعات بیشتری کسب کنید.
برای MySQL ، از این دستور استفاده کنید:
$ sudo kill `cat /var/run/mysqld/mysqld.pid`

برای MariaDB :
$ sudo kill `/var/run/mariadb/mariadb.pid`

سپس سرویس را با استفاده از systemctl مجدداً راه اندازی کنید.
برای MySQL ، از این دستور استفاده کنید:
$ sudo systemctl start mysql

برای MariaDB :
$ sudo systemctl start mariadb

اکنون می توانید با این دستور تأیید کنید که رمز عبور جدید به صورت صحیح اعمال شده است:
$ mysql -u root -p

این دستور باید رمز عبور تازه تخصیص یافته را از شما بخواهد. پسورد را وارد کنید ، و باید همانطور که انتظار می رود ، به دیتابیس دسترسی پیدا کنید.
نتیجه
اکنون دسترسی ادمین به MySQL یا سرور مجازی MariaDB بازگردانی شده است. اطمینان حاصل کنید که رمزعبور ریشه جدیدی که انتخاب کرده اید قوی و ایمن است و آن را در جای امن نگه دارید.

 

برچسب‌ها:MariaDBMySQL


server

توسعه دهنده جاوا (JDK) را با استفاده از apt نصب خواهید کرد. همچنین OpenJDK و بسته های رسمی را از Oracle نصب خواهید کرد. سپس نسخه مورد نظر خود را برای پروژه های تان انتخاب خواهید کرد. پس از اتمام کار ، می توانید از JDK برای توسعه نرم افزار یا استفاده از Java Runtime برای اجرای نرم افزار استفاده کنید.
پیش نیازها
برای دنبال کردن این آموزش ، به موارد زیر نیاز دارید:
• یک سرور مجازی Ubuntu .04 که طبق آموزش راهنمای ستاپ اولیه سرور مجازی Ubuntu .04 تنظیم شده باشد و شامل یک کاربر sudo غیر ریشه و فایروال باشد.
نصب JRE / JDK پیش فرض
ساده ترین گزینه برای نصب جاوا استفاده از نسخه بسته بندی شده با اوبونتو است. به طور پیش فرض ، اوبونتو .04 شامل OpenJDK نسخه 11 است که متغیری منبع باز از JRE و JDK میباشد.
برای نصب این نسخه ، ابتدا ایندکس بسته را به روز کنید:
$ sudo apt update
سپس ، بررسی کنید که جاوا قبلاً نصب شده باشد:
$ java -version

اگر جاوا در حال حاضر نصب نشده است ، خروجی زیر را مشاهده خواهید کرد:

Output
Command ‘java’ not found, but can be installed with:

apt install default-jre
apt install openjdk-11-jre-headless
apt install openjdk-8-jre-headless
دستور زیر را برای نصب پیش فرض محیط اجرای جاوا (JRE) اجرا کنید که JRE را از OpenJDK 11 نصب خواهد کرد:
$ sudo apt install default-jre

JRE به شما امکان می دهد تقریباً تمام نرم افزارهای جاوا را اجرا کنید.
با دستور زیر نصب را تأیید کنید:
$ java -version
خروجی زیر را مشاهده خواهید کرد:
Output
openjdk version “11.0.7” 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-2ubuntu2.04)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-2ubuntu2.04, mixed mode, sharing)

برای تهیه و اجرای برخی از نرم افزارهای خاص مبتنی بر جاوا ممکن است علاوه بر JRE به کیت توسعه جاوا (JDK) نیاز داشته باشید. برای نصب JDK ، دستور زیر را اجرا کنید ، که JRE را نیز نصب می کند:
$ sudo apt install default-jdk
با بررسی نسخه javac ، کامپایلر جاوا ، JDK را نصب کنید:
$ javac -version

خروجی زیر را مشاهده خواهید کرد:
Output
javac 11.0.7

بعد ، بیایید ببینیم چگونه JDK و JRE رسمی Oracle را نصب کنیم.
نصب Oracle JDK 11
توافق مجوز Oracle برای جاوا اجازه نصب خودکار را از طریق مدیران بسته نمی دهد. برای نصب Oracle JDK ، که نسخه رسمی توزیع شده توسط Oracle است ، باید یک حساب Oracle ایجاد کنید و JDK را به صورت دستی دانلود کنید تا یک مخزن بسته جدید برای نسخه مورد نظر خود اضافه کنید. سپس می توانید با استفاده از apt و با کمک اسکریپت نصب شخص ثالث ، آن را نصب کنید.
نسخه JDK’s Oracle که باید دانلود کنید باید با نسخه اسکریپت نصب کننده مطابقت داشته باشد. برای اطلاع از اینکه به کدام نسخه نیاز دارید ، به صفحه oracle-java11-installer مراجعه کنید.
بسته بندی مربوط به Bionic را پیدا کنید ، همانطور که در شکل زیر نشان داده شده است:

در این تصویر نسخه اسکریپت 11.0.7 است. در این حالت ، به Oracle JDK 11.0.7 نیاز خواهید داشت. نیازی نیست چیزی را از این صفحه دانلود کنید. در ادامه اسکریپت نصب را به وسیله apt دانلود خواهید کرد.
سپس به صفحه دانلود ها مراجعه کرده و نسخه مورد نیاز خود را پیدا کنید.

بر روی دکمه JDK Download کلیک کنید و به صفحه ای منتقل می شوید که نسخه های موجود را نشان می دهد. روی بسته .tar.gz برای لینوکس کلیک کنید.

صفحه ای نمایش داده می شود که از شما می خواهد موافقت نامه مجوز Oracle را بپذیرید. کادر را انتخاب کنید تا توافق نامه مجوز را بپذیرید و دکمه دانلود را فشار دهید. دانلود شما شروع خواهد شد. شاید لازم باشد یک بار دیگر قبل از شروع دانلود به حساب Oracle خود وارد شوید.
پس از دانلود فایل ، باید آن را به سرور مجازی خود منتقل کنید. در دستگاه محلی خود ، فایل را روی سرور مجازی خود بارگذاری کنید. در macOS ، لینوکس یا ویندوز که از ساب سیستم ویندوز برای لینوکس استفاده می کند ، از دستور scp برای انتقال فایل به دیرکتوری اصلی کاربر sammy خود استفاده کنید. دستور زیر فرض می کند که شما فایل Oracle JDK را در پوشه دانلود دستگاه محلی خود ذخیره کرده اید:
$ scp Downloads/jdk-11.0.7_linux-x64_bin.tar.gz sammy@your_server_ip:~

پس از اتمام بارگذاری فایل ، به سرور مجازی خود برگردید و مخزن شخص ثالث را اضافه کنید که به شما در نصب جاوا Oracle کمک می کند.
بسته software-properties-common را نصب کنید که دستور add-apt-repository را به سیستم شما اضافه می کند :
$ sudo apt install software-properties-common

در مرحله بعد ، کلید امضای استفاده شده برای تأیید نرم افزاری را که قصد نصب آن را دارید وارد کنید:
$ sudo apt-key adv –keyserver keyserver.ubuntu.com –recv-keys EA8CACC073C3DB2A

این خروجی را مشاهده خواهید کرد:
Output
gpg: key EA8CACC073C3DB2A: public key “Launchpad PPA for Linux Uprising” imported
gpg: Total number processed: 1
gpg: imported: 1

سپس از دستور add-apt-repository استفاده کنید تا بتوانید دوباره به لیست منابع بسته خود اضافه کنید:
$ sudo add-apt-repository ppa:linuxuprising/java

این پیام را مشاهده خواهید کرد:
Output
Oracle Java 11 (LTS) and 12 installer for Ubuntu, Linux Mint and Debian.

Java binaries are not hosted in this PPA due to licensing. The packages in this PPA download and install Oracle Java 11, so a working Internet connection is required.

The packages in this PPA are based on the WebUpd8 Oracle Java PPA packages: https://launchpad.net/~webupd8team/+archive/ubuntu/java

Created for users of https://www.linuxuprising.com/

Installation instructions (with some tips), feedback, suggestions, bug reports etc.:

. . .

Press [ENTER] to continue or ctrl-c to cancel adding it

برای ادامه نصب ، ENTER را فشار دهید. ممکن است پیامی به صورت no valid OpenPGP data found مشاهده کنید ، اما می توانید با اطمینان ان را نادیده بگیرید.
لیست بسته های خود را به روز کنید تا نرم افزار جدید برای نصب در دسترس باشد:
$ sudo apt update

نصب کننده به دنبال Oracle JDK است که شما در / var / cache / oracle-jdk11-installer-local دانلود کرده اید. این دیرکتوری را ایجاد کنید و بایگانی Oracle JDK را به آنجا جابجا کنید:
⦁ $ sudo mkdir -p /var/cache/oracle-jdk11-installer-local/

⦁ $ sudo cp jdk-11.0.7_linux-x64_bin.tar.gz /var/cache/oracle-jdk11-installer-local/

در آخر ، بسته را نصب کنید:
$ sudo apt install oracle-java11-installer-local

نصب کننده ابتدا از شما می خواهد موافقت نامه مجوز Oracle را بپذیرید. توافق نامه را بپذیرید ، سپس نصب کننده، بسته جاوا را اکسترکت و نصب میکند.
اکنون ببینیم که چگونه نسخه ای از Java را که می خواهید استفاده کنید انتخاب نمایید.
مدیریت جاوا
می توانید چندین نصب جاوا روی یک سرور مجازی داشته باشید. با استفاده از دستور update-alternatives می توانید پیکربندی کنید که کدام نسخه به طور پیش فرض در خط فرمان استفاده شود.
$ sudo update-alternatives –config java

اگر در این آموزش هر دو نسخه جاوا را نصب کنید ، خروجی اینگونه خواهد بود:
Output
There are 2 choices for the alternative java (providing /usr/bin/java).

Selection Path Priority Status
————————————————————
0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode
* 2 /usr/lib/jvm/java-11-oracle/bin/java 1091 manual mode

شماره مرتبط با نسخه جاوا را انتخاب کنید تا به عنوان پیش فرض استفاده شود، یا ENTER را فشار دهید تا تنظیمات فعلی به همان صورت خود باقی بماند.
می توانید این کار را برای سایر دستورات جاوا ، مانند کامپایلر (javac) انجام دهید:
$ sudo update-alternatives –config javac

دستورات دیگری که می توان این دستور را برایشان اجرا کرد شامل موارد زیر است:
keytool, javadoc و jarsigner
اما به همین فرمان ها محدود نمی شود.
تنظیم متغیر محیطی JAVA_HOME
بسیاری از برنامه هایی که با استفاده از جاوا نوشته شده اند از متغیر محیط JAVA_HOME برای تعیین محل نصب جاوا استفاده می کنند.
برای تنظیم این متغیر محیط ، ابتدا تعیین کنید جاوا در کجا نصب شود. از دستورupdate-alternatives استفاده کنید:
$ sudo update-alternatives –config java

این دستور هر نصب جاوا را به همراه مسیر نصب آن نشان می دهد:
Output
There are 2 choices for the alternative java (providing /usr/bin/java).

Selection Path Priority Status
————————————————————
0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode
* 2 /usr/lib/jvm/java-11-oracle/bin/java 1091 manual mode

Press <enter> to keep the current choice[*], or type selection number:

در این حالت مسیرهای نصب به شرح زیر است:
⦁ OpenJDK 11 در /usr/lib/jvm/java-11-openjdk-amd64/bin/java قرار میگیرد.
⦁ Oracle Java در /usr/lib/jvm/java-11-oracle/jre/bin/java قرار میگیرد.
مسیر نصب مورد نظر خود را کپی کنید. سپس با استفاده از nano یا ویرایشگر متن مورد علاقه خود /etc/environment را باز کنید:
$ sudo nano /etc/environment

در پایان این فایل خط زیر را اضافه کنید ، مطمئن شوید که مسیر هایلایت شده را با مسیر کپی شده خود جایگزین کنید ، اما قسمت /bin را در مسیر درج نکنید:
/etc/environment
JAVA_HOME=”/usr/lib/jvm/java-11-openjdk-amd64″

با تغییر این فایل مسیر JAVA_HOME برای همه کاربران سیستم شما تنظیم می شود.
فایل را ذخیره کرده و از ویرایشگر خارج شوید.
اکنون این فایل را مجدد لود کنید تا تغییرات در بخش فعلی شما اعمال شود:
$ source /etc/environment

تأیید کنید که متغیر محیط تنظیم شده است:
$ echo $JAVA_HOME

مسیری را که تازه تعیین کرده اید خواهید دید:
Output
/usr/lib/jvm/java-11-openjdk-amd64

سایر کاربران برای اجرای این تنظیم نیاز به اجرای فرمان source /etc/environment یا خروج از سیستم و ورود دوباره به سیستم دارند.
نتیجه
در این آموزش چندین نسخه جاوا را نصب کردید و نحوه مدیریت آنها را یاد گرفتید. اکنون می توانید نرم افزاری را نصب کنید که بر روی جاوا اجرا می شود ، مانند Tomcat ، Jetty ، Glassfish ، Cassandra یا Jenkins.

 

برچسب‌ها:APTJava RuntimeOpenJDK


server

آخرین جستجو ها

عطرآرا واندرز فارسی | جهان عجایب ارزانی مرکز فروش نبشی بهترین صندوق فروشگاهی در تهران kosarprint گل سنگ yastech فروشگاه انجام پروژه های داده کاوی