انجمنهای فارسی اوبونتو
کمک و پشتیبانی => نصب، راهاندازی و بروزآوری => نویسنده: رسول سعیدنژاد در 09 خرداد 1398، 05:48 بظ
-
بعد از مدتها سلام. \\:D/
میرم سر اصل مطلب!
واقعاً چرا؟؟ (عنوان تاپیک مشخصه!) :D
قبلاً بارها از آرچیها میشنیدم که میگفتن پکمن سریعتره و ... که خب درست هم میگن. چندماهیه که آرچ دارم و واقعاً پکمن سریعه. ولی موضوع اینه که DPKG تا چندسال پیش اینقدرا کند نبود! اصلاً همین کندیهای اخیر منو مجبور کرد که برم سراغ آرچ.
ولی آرچ رو دوست ندارم. اذیت میکنه. میخوام برگردم دوباره به اوبونتو. منتها همین کند بودن DPKG روی اعصابه واقعاً!
اون سیستم قدیمی که روش i3 داشتم که کلاً سوخت تموم شد رفت!
ولی الان دوتا دیوایس دارم:
1) لپتاپ: corei3 و ram4 و intel 500HD
2) پیسی: پنتیوم آخرین نسل و ram8 و geforce 620
میشه گفت هر دو دیوایس نسبت به اون پیسی درب و داغون قدیمیم، غول حساب میشن! ولی اونموقعها dpkg سریع بود الان کُند!
وقتی آپدیت میزنم، به لطف اسکریپتم که با aria2 ترکیب شده، بستهها سه سوت دانلود میشن. ولی موقع نصب یه نیمساعت-یکساعتی الافم! ](*,)
به نظرتون راهی برای سریعتر شدنش هست؟
-
dpkg برای استفاده مستقیم توسط کاربر نهایی ساخته نشده، از apt یا front-endهای اون باید استفاده کنید.
-
dpkg برای استفاده مستقیم توسط کاربر نهایی ساخته نشده، از apt یا front-endهای اون باید استفاده کنید.
قرار نیست من استفاده کنم ازش. خودِ apt ازش استفاده میکنه.
نصب برنامهها با دستور apt توسط DPKG اتفاق میافته.
ویرایش:
خب مثل اینکه این مشکل روی اوبونتو وجود نداره و توی Kubuntu اینشکلی بوده! واقعاً اوف بهش ;D
آقا اوبونتو هم عجب حالی میده 8)
از ۲۰۱۲ اوبونتو دارم ولی هیچوقت اوبونتو (اوایل یونیتی و حالا گنوم) نداشتم. چون سیستم قبلی نمیکشید! بعد از ۷ سال طعم واقعی اوبونتو رو دارم میچشم ](*,)
-
بعد از مدتها سلام. \\:D/
سلام رسول جان، خوش برگشتی. خیلی خوشحال شدم دیدم دوباره تو فروم داری فعالیت می کنی.
با اینکه مشکل حل شده، ولی دوست داشتم در مورد مشکل کندی dpkg یه سری توضیح بدم تا شاید بعداً کسایی که سرچ می زنن بدردشون بخوره.
dpkg بر روی فایل سیستم های جدیدتر، که از ویژگی Allocate-on-flush (https://en.wikipedia.org/wiki/Allocate-on-flush) بهره می برن یه مقدار کند عمل می کنه. این رو می تونین توی باگ ریپورت هایی که روی فایل سیستم هایی مثل ext4 و btrfs و zfs انجام شده هم پیدا کنین. ولی دلیل این اتفاق اینه که dpkg پیش فرض برای اطمینان از امنیت و پایداری سیستم، روی دیتابیس dpkg و فایل های استخراج شده، fsync می کنه. این عمل، روی فایل سیستم های قدیمی تری مثل ext3 خیلی خوب و بدون مشکل عمل می کرد ولی توی ext4 چون ویژگی Allocate-on-flush اضافه شدش، باعث یه سری مشکلات شد.
این ویژگی ویژگی خوب و مثبتی هست که توی ext4 اضافه شده و توضیحات بیشتر روی می تونین توی این لینک - قسمت سوم (https://bobcares.com/blog/ext4-file-system-features-and-setup) بخونین.
ولی همین قضیه باعث شده که برنامه هایی که از fsync بهره می برن، دچار مشکل بشن و کارایی شون کاهش پیدا کنه. توضیحات بیشتر در مورد این قضیه رو هم می تونین توی این لینک (https://wiki.debian.org/Teams/Dpkg/FAQ#Q:_Why_is_dpkg_so_slow_when_using_new_filesystems_such_as_btrfs_or_ext4.3F) مطالعه کنین.
همون طور که توی لینک بالا توضیح داده شده، برای حل این مشکل می شه سه کار مختلف رو انجام داد.
** فقط به دوستانی که بعداً ممکنه این تاپیک رو ببینن تاکید می کنم، در حالت عادی، بدون دونستن اینکه دقیقاً چیکار می کنین و صرفاً برای بهبود عملکرد و ...به هیچ عنوان کارای پایین رو انجام ندین و بذارین تنطیمات پیش فرض فایل سیستم و dpkg باقی بمونه.
1. مورد اول اینکه ویژگی Allocate-on-flush رو برای فایل سیستم غیرفعال کنیم. مثلاً در صورتی که ext4 استفاده می کنین، می شه از مانت آپشن nodelalloc استفاده کرد.
در صورتی که فایل سیستم رو با این آپشن، مانت کنین، پرفورمنس dpkg روی اون مشابه ext3 خواهد بود.
2.(برای کسانی که از نسخه ی 1.15.8.6 و بالاتر dpkg استفاده می کنن)
می تونین توی فایل کانفیگ dpkg یعنی /etc/dpkg/dpkg.cfg آپشن force-unsafe-io رو قرار بدین. از طریق این آپشن که از نسخه ی 1.15.8.6 اضافه شد، از fsync بر روی فایل ها جلوگیری می شه ولی همچنان fsync روی دیتابیس dpkg انجام خواهد شد.
3.می شه از eatmydata استفاده کرد تا از fsync هم روی فایل ها و هم روی دیتابیس جلوگیری کرد.
این برنامه باعث می شه، در صورت فراخوانی sync (https://en.wikipedia.org/wiki/Sync_(Unix)) مثل fsync(), fdatasync(), sync() msync() و ...، هیچ اتفاقی نیوفته.
-
ممنون از توضیحات بسیار کامل. \\:D/
آره، این flush جدیداً بدجور رفته روی اعصاب. الان برای سوار کردن کولدیسکها هم من دیگه مجبورم از آپشن flush در کنار async استفاده کنم. وگرنه کلاً گند میزنه به فایلهای داخل کولدیسک.
روی کوبونتو خدایی خیلی DPKG کند بود. اصن یه وضی بود! ولی الان روی اوبونتو ۱۹٫۰۴ اینجوری نیست و خیلی به نسبت سریعتر شده. حالا یا همین روشها رو اوبونتو پیشفرض پیاده کرده که سریع شده، یا اینکه کوبونتو دیگه شورش رو درآورده بود!