Academy and Foundation unixmens | Your skills, Your future
2.28K subscribers
6.65K photos
1.36K videos
1.23K files
5.98K links
@unixmens_support
@yashar_esm
unixmens@gmail.com
یک کانال علمی تکنولوژی
فلسفه متن باز-گنو/لینوکس-امنیت - اقتصاد
دیجیتال
Technology-driven -بیزینس های مبتنی بر تکنولوژی
Enterprise open source
ارایه دهنده راهکارهای ارتقای سازمانی - فردی - تیمی
Download Telegram
در ادامه در چند روز آینده به بررسی دستور convert خواهیم پرداخت .
#tip
ارتقای افلاین اوراکل لینوکس(Oracle Linux) یا redhat با کمک فایل ISO امکان پذیر است(البته به صورت درون نسخه ای). در ادامه شیوه ارتقای افلاین اوراکل لینوکس 7.4 را به نسخه 7.5 مشاهده خواهید کرد.

نکته : میتوانید از ریوزیتوی های غیر پولی در ردهت استفاده کنید . مانند : epel , ...
1.در ابتدا نسخه فعلی را بررسی می کنیم:

# cat /etc/os-release
NAME="Oracle Linux Server"
VERSION="7.4"
PRETTY_NAME="Oracle Linux Server 7.4"

# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.4 (Maipo)

2.فایل iso مربوط به اوراکل لینوکس 7.5 را به ماشین(vm) مونت می کنیم:

# mkdir /dvd

# mount /dev/sr0 /dvd
mount: /dev/sr0 is write-protected, mounting read-only

# df -h /dvd
Filesystem Size Used Avail Use% Mounted on
/dev/sr0 4.2G 4.2G 0 100% /dvd

3.سپس مخزنی را تعریف می کنیم:

# vi /etc/yum.repos.d/repo_usef.repo
[repo_usef]
name=repo_usef
baseurl=file:///dvd/
gpgcheck=0
enabled=1

4.در نهایت با کمک دستور yum update، بروزرسانی را انجام می دهیم:

# yum update -y
Total download size: 657 M
Downloading packages:
Total 27 MB/s | 657 MB 00:00:24
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Updating : libgcc-4.8.5-28.0.1.el7.x86_64 1/1111
Updating : 1:grub2-common-2.02-0.65.0.4.el7_4.2.noarch 2/1111
Updating : 1:redhat-release-server-7.5-8.0.1.el7.x86_64 3/1111
Cleanup : libgcc-4.8.5-16.el7.x86_64 1111/1111
Verifying : gstreamer1-plugins-bad-free-1.10.4-2.el7.x86_64 1111/1111
Installed:
grub2.x86_64 1:2.02-0.65.0.4.el7_4.2
grub2-tools.x86_64 1:2.02-0.65.0.4.el7_4.2
Complete!

عملیات ارتقا با موفقیت انجام پذیرفت. در ادامه نسخه سیستم عامل را مجددا مورد بررسی قرار می دهیم:
# cat /etc/os-release
NAME="Oracle Linux Server"
VERSION="7.5"
PRETTY_NAME="Oracle Linux Server 7.5"

# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.5 (Maipo)
نکته : این ساختار در سایر توزیع های رد هت بیس امکان پذیر است


#oracle #linux #upgrade @unixmens #redhat #package #repository #tip #tips
مفهوم cache tiering در ceph

#ceph #storage #tip #tips
اینکه قدرت تحمل کردن شرایط سخت را داری ، دلیل نمی شه که واقعا تحملش کنی ....


#tips #tip
با مفهوم swappiness آشنا شویم
با مفهوم swaping که آشنا هستیم . حال اگر بخواهیم میزان این روند را انجام دهیم . چه باید کرد ؟
این ویژگی از هسته سیستم عامل لینوکس درجه ای که با آن لینوکس به منظور آزاد سازی فضای حافظه اصلی، عملیات Swapping
را انجام دهد را کنترل می کند. مقدار این ویژگی می تواند میان صفر تا ۱۰۰
باشد. یک مقدار پایین به این معنی است که هسته از عملیات swapping تا حد
ممکن اجتناب می کند مگر آنکه دیگر فضای خالی برای ورود فرایند جدید به درون
حافظه اصلی وجود نداشته باشد.

مقدار پیشفرض آن ۶۰ است. به این دلیل که
فضای swap بر روی هارد دیسک است و دسترسی به هارد دیسک زمان بیشتری لازم
دارد (کندتر است) بنابراین مقدار بالای این ویژگی (به طور مثال ۱۰۰) بر روی
کارایی سیستم تاثیر گذار است. فایل زیر مقدار این ویژگی را کنترل می کند.



cat /proc/sys/vm/swappiness



با دستور زیر می توان مقدار این ویژگی را تغییر داد.



echo 40 > /proc/sys/vm/swappiness



و برای اعمال دائمی تغییرات دستور زیر اجرا شود.



sysctl -p



همچنین پارامتر vm.swappiness از فایل etc/sysctl/ مقدار این ویژگی را نگه می دارد.



sysctl -a | grep swappiness





کاهش swappiness باعث می شود تا به جای
اینکه صفحه ها به فضای swap (بر روی دیسک) منتقل شوند، صفحه های بیشتری
درون حافظه اصلی باقی بمانند و این صفحه ها فضای زیادی از حافظه را اشغال
می کنند در زمان اجرا اگر فضای حافظه نیاز باشد، باید این صفحه ها به فضای
swap انتقال داده شوند که این سربار (Overhead) دارد. از طرف دیگر مقدار
بالای این ویژگی باعث می شود سیستم عامل خیلی زود و سریع صفحه ها ها را از
فضای حافظه اصلی به فضای swap انتقال دهد.
#linux #tips #tip #article #swap
@unixmens
👍4
بوده و سپس بقیه مضربی
از
8 و 64 از اندازه AU خواهند شد. همانطور که گفته شد اندازه AU در زمان
ایجاد گروه دیسک تعیین می شد که تحت خصیصه AU_SIZE از گروه دیسک مشخص می

شود.
حال سوال :
آیا میتوان ASM را برای کاربردهای دیگری به غیر از oracle استفاده کرد ؟‌
#linux #stoage #oracle #article #tip #tips
@unixmen
☑️هیچ تکنولوژی وجود ندارد که به اینترنت (شبکه) وصل بشود و غیر قابل هک باشد!

#security #tip #tips

🌏
https://t.me/unixmens
👍2
Forwarded from Academy and Foundation unixmens | Your skills, Your future (yashar esmaildokht 🐧)
ارتقای افلاین اوراکل لینوکس(Oracle Linux) یا redhat با کمک فایل ISO امکان پذیر است(البته به صورت درون نسخه ای). در ادامه شیوه ارتقای افلاین اوراکل لینوکس 7.4 را به نسخه 7.5 مشاهده خواهید کرد.

نکته : میتوانید از ریوزیتوی های غیر پولی در ردهت استفاده کنید . مانند : epel , ...
1.در ابتدا نسخه فعلی را بررسی می کنیم:

# cat /etc/os-release
NAME="Oracle Linux Server"
VERSION="7.4"
PRETTY_NAME="Oracle Linux Server 7.4"

# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.4 (Maipo)

2.فایل iso مربوط به اوراکل لینوکس 7.5 را به ماشین(vm) مونت می کنیم:

# mkdir /dvd

# mount /dev/sr0 /dvd
mount: /dev/sr0 is write-protected, mounting read-only

# df -h /dvd
Filesystem Size Used Avail Use% Mounted on
/dev/sr0 4.2G 4.2G 0 100% /dvd

3.سپس مخزنی را تعریف می کنیم:

# vi /etc/yum.repos.d/repo_usef.repo
[repo_usef]
name=repo_usef
baseurl=file:///dvd/
gpgcheck=0
enabled=1

4.در نهایت با کمک دستور yum update، بروزرسانی را انجام می دهیم:

# yum update -y
Total download size: 657 M
Downloading packages:
Total 27 MB/s | 657 MB 00:00:24
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Updating : libgcc-4.8.5-28.0.1.el7.x86_64 1/1111
Updating : 1:grub2-common-2.02-0.65.0.4.el7_4.2.noarch 2/1111
Updating : 1:redhat-release-server-7.5-8.0.1.el7.x86_64 3/1111
Cleanup : libgcc-4.8.5-16.el7.x86_64 1111/1111
Verifying : gstreamer1-plugins-bad-free-1.10.4-2.el7.x86_64 1111/1111
Installed:
grub2.x86_64 1:2.02-0.65.0.4.el7_4.2
grub2-tools.x86_64 1:2.02-0.65.0.4.el7_4.2
Complete!

عملیات ارتقا با موفقیت انجام پذیرفت. در ادامه نسخه سیستم عامل را مجددا مورد بررسی قرار می دهیم:
# cat /etc/os-release
NAME="Oracle Linux Server"
VERSION="7.5"
PRETTY_NAME="Oracle Linux Server 7.5"

# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.5 (Maipo)
نکته : این ساختار در سایر توزیع های رد هت بیس امکان پذیر است


#oracle #linux #upgrade @unixmens #redhat #package #repository #tip #tips
با دستور git-cherry-pick آشنا شویم :


در واقع git cherry-pick یک دستور در Git است که برای انتخاب یک یا چند کامیت (commit) خاص از یک شاخه (branch) و اعمال آن‌ها در شاخه فعلی استفاده می‌شود. به بیان ساده، این دستور به شما اجازه می‌دهد تا تغییرات مشخصی را از تاریخچه گیت انتخاب کرده و در شاخه‌ای دیگر اعمال کنید.


چرا از git cherry-pick استفاده کنیم؟

1. انتقال تغییرات خاص بدون ادغام کامل: گاهی اوقات لازم است فقط یک یا چند تغییر مشخص را از یک شاخه به شاخه دیگری منتقل کنید، بدون اینکه همه تغییرات شاخه مبدا را ادغام کنید. git cherry-pick این امکان را فراهم می‌کند.

2. رفع باگ‌ها در چند شاخه: اگر یک باگ در یک شاخه برطرف شده و نیاز است همان رفع باگ در شاخه‌های دیگر هم اعمال شود، می‌توانید از git cherry-pick استفاده کنید.

3. کنترل دقیق بر تغییرات : برخلاف دستور git merge که همه تغییرات یک شاخه را ادغام می‌کند، با استفاده از git cherry-pick می‌توانید به‌طور دقیق تغییرات مورد نظر خود را انتخاب و اعمال کنید.


ویژگی‌های git cherry-pick

- انتخاب دقیق: به شما این امکان را می‌دهد که فقط تغییرات مشخصی را از یک یا چند کامیت اعمال کنید.
- تاریخچه شفاف: برخلاف git merge`، که تغییرات را به‌صورت یکجا در تاریخچه گیت ثبت می‌کند، `git cherry-pick تغییرات را به‌طور جداگانه و شفاف ثبت می‌کند.
- پشتیبانی از چندین کامیت: می‌توانید چندین کامیت را به‌صورت همزمان انتخاب و اعمال کنید.


مثال‌های `git cherry-pick`

1. انتخاب یک کامیت خاص:

فرض کنید می‌خواهید یک کامیت خاص با شناسه abc123 را از شاخه feature-branch به شاخه فعلی اعمال کنید:



   git checkout main
git cherry-pick abc123


این دستور تغییرات کامیت abc123 را در شاخه main اعمال می‌کند.

2. انتخاب چندین کامیت پشت سر هم:

اگر می‌خواهید چندین کامیت پشت سر هم (برای مثال از abc123 تا def456) را انتخاب کنید:



   git cherry-pick abc123..def456


3. انتخاب چندین کامیت غیرپشت سر هم:

می‌توانید کامیت‌های غیرپشت سر هم را نیز انتخاب کنید:


   git cherry-pick abc123 def456 ghi789


4. بررسی تعارض‌ها (Conflicts):

گاهی اوقات ممکن است هنگام اجرای git cherry-pick با تعارض مواجه شوید. در این صورت، Git به شما اطلاع می‌دهد که کدام فایل‌ها تعارض دارند و شما باید آن‌ها را به‌صورت دستی حل کنید. پس از حل تعارض‌ها، دستورهای زیر را اجرا کنید:



   git add <resolved-files>
git cherry-pick --continue


به طور کلی با استفاده از git cherry-pick می‌توانید کنترل دقیقی بر تاریخچه پروژه خود داشته باشید و تغییرات دلخواه را به راحتی بین شاخه‌های مختلف انتقال دهید.

#git #branch #tip #tips #linux #devops #scv
#source #control #version #sourcecontrol

https://t.me/unixmens
👍1
با ویژگی overcommit_memory در کرنل آشنا شویم :

ویژگی overcommit_memory در کرنل لینوکس به مدیریت نحوه تخصیص حافظه مجازی به فرآیندها کمک می‌کند. این ویژگی به کرنل اجازه می‌دهد تا تصمیم بگیرد که آیا می‌تواند حافظه بیشتری از آنچه که در واقع در دسترس است، به فرآیندها تخصیص دهد یا خیر. این ویژگی می‌تواند به سه حالت مختلف تنظیم شود:
حالت‌های overcommit_memory

حالت 0 (پیش‌فرض):
در این حالت، کرنل از یک الگوریتم هوشمند برای تصمیم‌گیری در مورد تخصیص حافظه استفاده می‌کند. این الگوریتم به طور کلی بر اساس میزان حافظه فیزیکی موجود و میزان حافظه‌ای که در حال حاضر در حال استفاده است، تصمیم می‌گیرد.
این حالت معمولاً برای اکثر سیستم‌ها مناسب است، زیرا به کرنل اجازه می‌دهد تا به طور دینامیک و بر اساس نیازهای سیستم، حافظه را مدیریت کند.

حالت 1:
در این حالت، کرنل همیشه اجازه می‌دهد که حافظه بیشتری از آنچه که در واقع موجود است، تخصیص یابد. به عبارت دیگر، کرنل به هیچ وجه محدودیتی برای تخصیص حافظه قائل نمی‌شود.
این حالت می‌تواند در برخی از برنامه‌ها که به حافظه زیادی نیاز دارند، مفید باشد، اما ممکن است منجر به مشکلاتی مانند کمبود حافظه و کرش شدن برنامه‌ها شود.

حالت 2:
در این حالت، کرنل به هیچ وجه اجازه نمی‌دهد که حافظه‌ای بیشتر از مجموع حافظه فیزیکی و یک مقدار مشخص (که می‌توان آن را تنظیم کرد) تخصیص یابد.
این حالت می‌تواند به جلوگیری از مشکلات ناشی از تخصیص بیش از حد حافظه کمک کند و برای سیستم‌هایی که نیاز به کنترل دقیق‌تری بر روی حافظه دارند، مناسب است.

دلایل استفاده از overcommit_memory

مدیریت بهتر حافظه: با تنظیم این ویژگی، مدیران سیستم می‌توانند کنترل بیشتری بر روی نحوه تخصیص حافظه داشته باشند و از بروز مشکلات ناشی از کمبود حافظه جلوگیری کنند.
پیشگیری از کرش شدن برنامه‌ها: در حالت 2، می‌توان از تخصیص بیش از حد حافظه جلوگیری کرد که می‌تواند به کاهش احتمال کرش شدن برنامه‌ها و سیستم کمک کند.
بهینه‌سازی عملکرد: در برخی موارد، تنظیم این ویژگی می‌تواند به بهبود عملکرد برنامه‌ها کمک کند، به ویژه در برنامه‌هایی که به حافظه زیادی نیاز دارند.

نحوه تنظیم overcommit_memory

برای مشاهده وضعیت فعلی overcommit_memory، می‌توانید از دستور زیر استفاده کنید:



cat /proc/sys/vm/overcommit_memory

برای تغییر موقت آن (تا زمان راه‌اندازی مجدد):



sudo sysctl vm.overcommit_memory=1

برای تنظیم دائمی آن، می‌توانید خط زیر را به فایل /etc/sysctl.conf اضافه کنید:



vm.overcommit_memory=1

نتیجه‌گیری

ویژگی overcommit_memory در کرنل لینوکس ابزاری مفید برای مدیریت حافظه است که به مدیران سیستم اجازه می‌دهد تا نحوه تخصیص حافظه را بر اساس نیازهای خاص سیستم و برنامه‌ها تنظیم کنند. انتخاب حالت مناسب می‌تواند به بهبود عملکرد و پایداری سیستم کمک کند.

نکته :
دستور smem ابزاری است که می‌تواند اطلاعات دقیقی درباره استفاده از حافظه توسط فرآیندها ارائه دهد. برای نصب smem، می‌توانید از مدیر بسته توزیع خود استفاده کنید. به عنوان مثال،



dnf install smem

سپس می‌توانید از آن استفاده کنید:



smem -r -k

این دستور اطلاعاتی درباره استفاده از حافظه توسط فرآیندها را به صورت مرتب و خلاصه نمایش می‌دهد.
نتیجه‌گیری

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


#kernel #tip #tips #memory #performance #linux


https://t.me/unixmens
وقتی در مورد رشد یافتگی و مفهوم Continues improvement (رشد مستمر )صحبت میکنیم در سیستم ها . نباید از ارکان انسانی آن غافل شویم . رشد یافتگی و موفقیت از درون شروع میشود و یک ویژگی فردی است . پس چه بهتر که این ویژگی ها را رشد دهیم .

در زیر روی چند صفت ارزشمند انسانی صحبت میکنیم .

از یاد نبریم . برای پیشرفت یک مملکت ، سازمان ، و ... از انسان ها شروع میشود .

مهربانی، صداقت، مسئولیت‌پذیری، حمایتگری، و درک متقابل از ویژگی‌هایی هستند که برای یک ارتباط خوب اهمیت دارند

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


صداقت و یک‌رنگی: وقتی فردی صادق باشد، نه تنها اعتماد دیگران را جلب می‌کند بلکه به دیگران احساس آرامش و امنیت می‌دهد. این ویژگی تضمین می‌کند که دوستی بر پایه حقیقت و نه تظاهر شکل گرفته است.

شفافیت و عدم مردم‌فریبی: اگر چیزی را با وضوح بیان کنیم و از پنهان‌کاری یا دروغ بپرهیزیم، باعث می‌شود که سوءتفاهم‌ها و دلخوری‌ها در روابط کمتر شوند. شفافیت راهی است برای نشان دادن اینکه ما برای دوستمان ارزش قائلیم.

بیان شفاف احساسات: ابراز احساسات، چه مثبت و چه منفی، نشان‌دهنده احترام به خود و دیگری است. این کار فضای دوستی را برای حل اختلافات و تعمیق ارتباط باز نگه می‌دارد.

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



#grow #devops #tips #tip #fact

https://t.me/unixmens
👍3