بر روی یک سرور قبلا اجراهایی صورت گرفته و فایل های زیادی تولید شده که باعث پر شدن کل فضای هارد سرور و از کار افتادن آن شده است.
پس از برگزاری جلسات با گروه مربوطه تصمیم به پاک کردن فایل های txt که دیگر مورد نیاز نبودند گرفتیم.
هنگامی که از دستور rm -rf استفاده کردم با پیام خطای زیر مواجه شدم.
-bash: /usr/bin/rm: Argument list too long
البته فقط دستور ls اجرا میشد.
ابتدا با دسته بندی کردن نام فایل ها به ترتیب آنها را حذف می کردم، اما این کار بسیار وقت گیر بود.
با جستجو در اینترنت به روش زیر رسیدم که بسیار عالی و سریع بود.
با دستور زیر حذف را به بلاک های 200 فایلی محدود می کنیم.
echo *.txt|xargs -n 200 rm -fv
می توان عدد 200 را زیادتر یا کمتر کرد که در هر بار حذف، همان تعداد را حذف می کند.
گاهی ضروری است که یک برنامه را در لینوکس در ساعت و زمان دیگری به جز زمان سیستم اجرا کنید.
یک راه حل دم دست اما نامناسب تغییر ساعت سیستم می باشد.
اما چرا نامناسب است، به دو دلیل زیر:
1- اول اینکه ممکن است شما دسترسی ادمین نداشته باشید.
2- حتی با داشتن دسترسی ادمین بر روی یک سیستم با چند کاربر احتمال بروز مشکل در کارهای دیگران را پیش می آورد.
همچنین اگر بخواهید اسکریپت را با crontab به صورت خودکار اجرا کنید امکان تغییر ساعت وجود ندارد.
یک راه استفاده از برنامه libfaketime است. من این برنامه را در فضای کاربری خودم دانلود و کمپایل کردم.
نحوه استفاده از آن به شکل زیر است:
LD_PRELOAD=$faketimePATH/libfaketime.so.1 FAKETIME="@2022-01-01 01:01:00" \
FAKETIME_DONT_RESET=1 \
"run your program"
با اجرای دستور بالا، زمان اجرای برنامه شما به ساعت 01:01:00 تاریخ 2022-01-01 تنظیم و آن برنامه در آن تاریخ اجرا می شود.
در اینحالت زمان سیستم شما تغییر نمیکند و سایر برنامه ها مطابق روال همیشه اجرا می شوند.
فضای روی پارتیشنتون کم اومده؟
خیلی راحت چه تو فضای مجازی چه حقیقی میتونید اونرو افزایش بدید.
چطوری؟
اینطوری
pvcreate /dev/sda3
vgextend c1 /dev/sda3
pvscan
vgdisplay
lvextend -l +number /dev/c1/LogPart.
مقدار number را از بخش Free PE / Size خروجی vgdisplay انتخاب کنید.
ls /dev/c1
xfs_growfs /dev/mapper/c1-root
df -h
سلام،
اگر زمانی بخواهید برای یک سیستم لینوکسی که ارتباط اینترنتی ندارد از امکان yum استفاده کنید به روش زیر عمل کنید.
حوزه عمل برای سیستم های redhat base
vi /etc/yum.conf
add this line perhaps at the end of the file
proxy=socks5://ip:port
may be you need DNS request send and receive through this channel, so use this instead
proxy=socks5h://ip:port
گاهی اوقات این مشکل با بعضی از توزیع های لینوکس پیش میاد.
لینوکس رو نصب میکنید اما با اینکه ویندوز هستش، تو صفحه بوت دیده نمیشه.
دلیل:
1- عمده دلیلی که من متوجه شدم، برای ویندوز 7 ( فکر کنم ویستا به بعد) یک پارتیشن اول 100 مگابایت و بعدا 500 مگابایت از نوع پریماری توسط ویندوز درست میشه که در این اواخر قالب بندی اون ntfs هستش.
2- تعدادی از توزیع های لینوکس از جمله CentOS پیش فرض ntfs رو پشتیبانی نمیکنند، لذا موقع نصب grub2 نمیتونه بوت لودر رو بدرستی بازسازی کنه.
راهکار:
1- نصب ntfs-3g
2- بازسازی grub2-boot
روش:
1- yum install epel-release
2- yum install ntfs-3g
3-grub2-mkconfig > /dev/null
اگر در خروجی دستور بالا grub2 توانست بوت لودر ویندوز رو پیدا کند، در لیست نمایش میدهد، در صورت اطمینان از یافته شدن ویندوز ادامه دهید
4-cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.old
برای روز مبادا
5-grub2-mkconfig -o /boot/grub2/grub.cfg
و سپس سیستم را ریستارت کنید و در صفحه نمایش بوت، ویندوز را مشاهده کنید.