همیشه لینوکسی باش!!!
همیشه لینوکسی باش!!!
خواندن ۴ دقیقه·۱ سال پیش

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

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

شاید در آرچ لینوکس این مفهوم خطای ساخت پکیج ها برخورد کنیم ولی این داستان به جنتو لینوکس برمیگردد که گاهی اوقات کامپایل ها به چند روز یا یک هفته هم می رسد که حتی انسان برای دشمن خود هم آرزو نمی کند

( /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/yay

Yet Another Yogurt - An AUR Helper Written in Go

امکانات :

  • Advanced dependency solving
  • PKGBUILD downloading from ABS or AUR
  • Completions for AUR packages
  • Query 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 selection
  • Remove make dependencies at the end of the build process
  • Build local PKGBUILDs with AUR dependencies
  • Un/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 ) دوباره بازخوانی یا اجرایی کنیم

آرچ لینوکسlt targettarget gtarchlinuxarch
من سی سالمه عاشق تکنولوژی و لینوکس و ویندوز و غیره هستم از هفت سالگی پای سیستم نشستم . دو سال پدرم رو از دست دادم عشق به تکنولوژی من رو سرپا نگه داشت هیچ وقت اینقدر تنها نبودم
شاید از این پست‌ها خوشتان بیاید