ساخت بهینه پکیج ها در آرچ لینوکس

خیلی ها شاید در آرچ لینوکس به مشکل در زمان ساخت پکیج ها خوردیم در این مقاله میخواهیم به این امر بپردازیمشاید در آرچ لینوکس این مفهوم خطای ساخت پکیج ها برخورد کنیم ولی این داستان به جنتو لینوکس برمیگردد که گاهی اوقات کامپایل ها به چند روز یا یک هفته هم می رسد که حتی انسان برای دشمن خود هم آرزو نمی کند ( /etc/makepkg.conf )در شاخه (etc) به فایلی گفته می شود که محتوای *فلگ ها و *تسریع کننده و *مفهوم استخراج از یک پکیج را می رساند که حاوی برخی کامپایلر ها هم میشود مانند ( cxx , c, rust,cmake ) برای نصب هرکدام باید از دستورات زیر استفاده کنید .( yay cxx )( yay rust )( yay cmake )مدنظر داشته باشید که احتمالا همه این پکیج ها نصب باشنددر آرچ لینوکس دو نوع پکیج داریم :1 : پکیج های که به صورت مستقیم از سایت های که ما آن را میرور ( Mirror ) مینامیم دانلود و نصب می شود2 : برخی از پکیج ها متفاوت هستند و پکمن ( pacman ) آن ها را شناسایی نمی کند و با پسوند ( AUR ) علامت گذاری شده اندبرای نصب ( AUR ) ها باید از ( helper ) ها استفاده کنید اولین ( helper ) , ( yay ) می باشد که با زبان برنامه نویسی ( go ) نوشته شده است برای نصب باید وارد سایت ( github ) شوید قبل از این که وارد شوید باید ( git ) را نصب کنید( sudo pacman -Sy git )https://github.com/Jguer/yayYet Another Yogurt - An AUR Helper Written in Goامکانات :Advanced dependency solvingPKGBUILD downloading from ABS or AURCompletions for AUR packagesQuery user up-front for all input (prior to starting builds)Narrow search (yay linux header will first search linux and then narrow on header)Find matching package providers during search and allow selectionRemove make dependencies at the end of the build processBuild local PKGBUILDs with AUR dependenciesUn/Vote for packagesنصب ( yay ) :دو مدل نصب موجود است اولین نصب سورس میباشد ( Source ) که به صورت مستقیم از گیتهاب و وبسایت ( go ) ( yay ) را نصب میکنند . دومین نصب از طریق ( Binary ) میکند که مشکل این نصب کامپایل نکردن میباشد بعد ها شاید خیلی کم خطا های دهد ولی شاید از شانس خوب خود این خطا ها به چشم نیاید نصب ( Source ) :pacman -S --needed git base-devel git clone https://aur.archlinux.org/yay.git cd yay makepkg -si نصب ( Binary ) : pacman -S --needed git base-devel git clone https://aur.archlinux.org/yay-bin.git cd yay-bin makepkg -siاولین استفاده از ( yay ) :: ( yay -Y --gendb )چک کردن آپدیت سیستم : ( yay -Syu --devel ) مابقی دستورات و فرآمین ( yay ) میتوانید به گیتهاب پروژه مراجعه کنید .( AUR ) !بعدی که معرفی میشود پروژه ای نیست جز ( paru )برای نصب از قبل پکیج های ( rust ) را اگر نصب دارید که هیچ اگر نه خود پکیج نصبی بر روی سیستم شما ( rust ) را نصب میکند sudo pacman -S --needed base-devel git clone https://aur.archlinux.org/paru.git cd paru makepkg -si لینک پروژه : https://github.com/Morganamilo/paru paru <target> -- Interactively search and install <target>.paru -- Alias for paru -Syu.paru -S <target> -- Install a specific package.paru -Sua -- Upgrade AUR packages.paru -Qua -- Print available AUR updates.paru -G <target> -- Download the PKGBUILD and related files of <target>.paru -Gp <target> -- Print the PKGBUILD of <target>.paru -Gc <target> -- Print the AUR comments of <target>.paru --gendb -- Generate the devel database for tracking *-git packages. This is only needed when you initially start using paru.paru -Ui -- Build and install a PKGBUILD in the current directoryخب خب با مفهوم ( aur ) و ( helper ) ها هم آ شنا شدید برای نصب پکیج های که غیر از پکمن نصب میشوند نیاز به یک فایل به نام ( makepkg.conf ) در شاخه ( etc ) دارندبرای اینکه پکیج ها بهینه نصب شوند باید پکیج های زیر را نصب کنید( yay -Syu cmake ccache openmp optipng svgo )بعد از نصب پکیج ها باید پکیج زیر را نصب کنید ( yay -Syu makepkg-optimize )دو فایل زیر را دانلود کنید و در شاخه ( etc ) کپی کنید و از این به بعد پکیج ها با سرعت بالاتر ساخته و پرداخته خواهد شد https://drive.google.com/file/d/1NgzRtk8JUKC79qLO-minRkvF9HwtKYFj/view?usp=drive_link https://drive.google.com/file/d/1NgzRtk8JUKC79qLO-minRkvF9HwtKYFj/view?usp=drive_link بعد از کپی کردن باید این دو فایل را با دستور ( Source ) دوباره بازخوانی یا اجرایی کنیم