การติดตั้ง 2019 Arch Linux บน Vultr Server
เกริ่นนำ Arch Linux มีขนาดเล็กลง แต่ยังคงแข็งแกร่งต่อไปนี้มากกว่าการกระจายความนิยมมากขึ้น ปรัชญาของมันแตกต่างกันมากโดยมีข้อดีและ
บน Arch Linux ที่เก็บอย่างเป็นทางการคือ: core, extra และ community แพ็คเกจเหล่านี้ได้รับการรวบรวมและติดตั้งผ่านpacman
แล้ว ส่วนใหญ่ผู้ใช้ทั่วไปสามารถเพิกเฉยได้ว่าที่เก็บข้อมูลอย่างเป็นทางการ 3 แห่งนี้แยกจากกัน แกนหลักประกอบด้วยแพ็คเกจที่สำคัญที่สุดเช่นเคอร์เนลกระบวนการบูตระบบเครือข่ายการจัดการแพ็คเกจ openssh และอื่น ๆ นอกจากนี้ยังมีข้อกำหนดที่เข้มงวดในการทดสอบอย่างละเอียดมากขึ้นก่อนที่จะมีการเปิดตัวเวอร์ชั่นใหม่ Extra มีแพ็คเกจยอดนิยมอื่น ๆ ที่ไม่สำคัญเช่น X server, window manager หรือเว็บเบราว์เซอร์ ชุมชนมีแพ็คเกจยอดนิยมน้อยกว่า เฉพาะผู้ใช้ที่เชื่อถือได้ (ผู้ใช้ที่ใช้งานประมาณ 60 คนซึ่งได้รับการโหวตจากผู้ใช้ที่เชื่อถือได้รายอื่น) สามารถเข้าถึงเพื่อทำการเปลี่ยนแปลงที่เก็บข้อมูลอย่างเป็นทางการ
ใน 2019 มีประมาณ 11,000 แพคเกจในที่เก็บอย่างเป็นทางการที่https://www.archlinux.org/packages แต่มีอีกหลายโปรแกรมบน Linux ดังนั้น AUR (Arch Linux User Repository) จึงมีอยู่เพื่อให้ผู้ใช้ Arch สามารถเพิ่มโปรแกรมใหม่และเป็นผู้ดูแลหรือใช้แพ็คเกจ "orphaned" โดยไม่มีผู้ดูแลปัจจุบัน มีประมาณ 55,000 แพคเกจอยู่ใน AUR ที่https://aur.archlinux.org/
มีความแตกต่างที่สำคัญ 3 ประการกับ AUR:
PKGBUILD
เชลล์เชลล์สคริปต์ที่สร้างแพ็กเกจโดยอัตโนมัติไม่ใช่ไบนารีที่รวบรวม (บางครั้งมันยังมีแพตช์ข้อความขนาดเล็กหรือติดตั้ง / อัพเกรด / ถอนการติดตั้งเชลล์สคริปต์) สิ่งนี้ทำหน้าที่ได้อย่างยอดเยี่ยมทำให้ผู้ใช้สามารถมีส่วนร่วมในขณะที่ลดโอกาสของคนที่สามารถแจกจ่ายรหัสที่เป็นอันตรายได้ ชุมชน Arch ยังมีประโยชน์ค่อนข้างมากเกี่ยวกับปัญหาเกี่ยวกับแพ็คเกจ AUR แต่มีข้อสังเกตว่าการใช้งานเหล่านี้เป็นความเสี่ยงของคุณเอง เพราะสิ่งที่มีให้คือ a PKGBUILD
, ในที่สุดมันก็เป็นความรับผิดชอบของคุณในการตรวจสอบPKGBUILD
คุณจะใช้ (ได้รับผู้ใช้จำนวนมากไม่ทำเช่นนี้และพึ่งคนอื่น ๆ เพื่อเฝ้าดู)pacman
ไม่ได้โต้ตอบโดยตรงกับ AUR คุณมีหน้าที่รับผิดชอบในการอัปเดตแพ็คเกจ AUR เมื่อคุณอัปเกรดทั้งระบบเป็นระยะpacman
จะไม่ดาวน์โหลดการอัปเดตเป็นPKGBUILD
ไฟล์AUR โดยอัตโนมัติรวบรวมและติดตั้งให้คุณแม้ว่าบทความนี้จะเน้นไปที่การสร้างแพ็คเกจจาก AUR แต่สามารถใช้เทคนิคเดียวกันนี้เพื่อสร้างแพ็คเกจจากที่เก็บอย่างเป็นทางการด้วยตัวคุณเอง
PKGBUILD
เปรียบเทียบกับ.spec
ไฟล์ที่มีการแจกแจงอื่น ๆ ใช้ a PKGBUILD
คือเชลล์สคริปต์สั้นและง่าย แม้ว่าบางแพคเกจจะมีความซับซ้อนมากกว่า แต่ก็สามารถคล้ายกันได้ดังต่อไปนี้:
pkgname=NAME
pkgver=VERSION
pkgrel=1
pkgdesc='DESCRIPTION'
url=http://example.com/
arch=('x86_64')
license=('GPL2')
source=(http://example.com/downloads/${pkgname}-${pkgver}.tar.gz)
sha256sums=('f0a90db8694fb34685ecd645d97d728b880a6c15c95e7d0700596028bd8bc0f9')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure
make
}
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
make install
}
เอกสารนี้หมายถึง:
PKGNAME
: ชื่อของแพ็คเกจPKGVER
: รุ่นของแพ็คเกจ (มักจะตรงกับหมายเลขเวอร์ชั่นของ upstream เสมอ)PKGREL
: Arch "version" ของPKGBUILD
สำหรับเฉพาะPKGVER
(ปกติ 1 แต่เพิ่มขึ้นหากจำเป็นต้องทำการเปลี่ยนแปลงPKGBUILD
ระหว่างการปล่อยอัปสตรีม)ARCH
: สถาปัตยกรรมที่แพ็กเกจสามารถสร้างขึ้นได้ (ค่อนข้างเก่าเนื่องจากที่เก็บอย่างเป็นทางการของ Arch Linux สนับสนุนเฉพาะ "x86_64" (64- บิตซีพียู) แต่ AUR แพ็คเกจยังสามารถรองรับ "i686" (32- บิตซีพียู) หรือ "ใด ๆ " การกำหนดสถาปัตยกรรมไม่เกี่ยวข้อง)PKGBUILD/ETC
: ไฟล์ใด ๆ จริง ๆ ในที่เก็บ AUR; PKGBUILD
และอื่น ๆ แพทช์ข้อความขนาดเล็กหรือติดตั้งอัพเกรด / / ถอนการติดตั้งเชลล์สคริปต์ ไม่รวมไฟล์อัปสตรีมในsource
อาร์เรย์แม้ว่า AUR ได้รับการพิสูจน์แล้วว่ามีความน่าเชื่อถืออย่างมาก แต่ก็เป็นความคิดที่ดีที่PKGBUILD/ETC
จะตรวจสอบให้แน่ใจว่าได้รับแหล่งที่มาจากสถานที่ที่คุณต้องการเชื่อถือ (ตัวอย่างเช่นตำแหน่งต้นน้ำอย่างเป็นทางการซึ่งอาจมาจาก GitHub - แต่ไม่เพียงแค่พื้นที่เก็บข้อมูล GitHub แบบสุ่มของบุคคลที่ไม่เกี่ยวข้องกับแพคเกจอัปสตรีม) และPKGBUILD/ETC
ไม่มีรหัสข้อสงสัยใด ๆ
PKGBUILD/ETC
หากเก็บอย่างเป็นทางการไม่ได้มีแพคเกจที่คุณกำลังมองหาที่จะติดตั้งให้ค้นหาได้ที่https://aur.archlinux.org/ หวังว่าคุณจะพบว่าสิ่งที่คุณกำลังมองหาอยู่นั้นเป็นปัจจุบันและได้รับการปรับปรุง
วิธีที่ดีที่สุดที่จะได้รับPKGBUILD/ETC
จาก AUR git
คือการโคลนผ่านทาง
ติดตั้งgit
หากยังไม่ได้ดำเนินการ:
# pacman -S git
ใช้ "Git Clone URL" ที่แสดงบนเว็บไซต์ AUR สำหรับแพ็คเกจดังกล่าว:
$ git clone https://aur.archlinux.org/fslint.git
ป้อนไดเรกทอรีและดูเนื้อหา (ทุกอย่างอยู่ที่นี่ยกเว้น. .. .git
เป็นPKGBUILD/ETC
):
$ cd <PKGNAME>
$ ls -a
. .. .git PKGBUILD .SRCINFO
หากคุณตรวจสอบPKGBUILD
คุณหวังว่าจะเห็นม���นใช้ซอร์สโค้ดอัปสตรีมอย่างเป็นทางการและดำเนินการตามขั้นตอนทั่วไปเพื่อสร้างแพ็คเกจดังนั้นจึงน่าเชื่อถือ .SRCINFO
เพียงแค่มีข้อมูลที่แสดงบนเว็บไซต์เกี่ยวกับแพคเกจเพื่อให้ไม่น่าเป็นห่วง หากมีไฟล์อื่น ๆ อยู่ที่นี่ไฟล์เหล่านั้นจะไม่ได้PKGBUILD
รับการตรวจสอบโดย upstream โดยตรงดังนั้นควรตรวจสอบไฟล์และวิธีการใช้งานไฟล์เหล่านั้นเพื่อให้แน่ใจว่าไม่มีสิ่งที่น่าสงสัย
แม้ว่าจะต้องการบ่อยครั้งมาก แต่คุณสามารถสร้างแพคเกจที่มีอยู่แล้วในที่เก็บอย่างเป็นทางการเพื่อรวมแพตช์ใหม่สร้างเวอร์ชั่นใหม่ ฯลฯ
ได้รับPKGBUILD/ETC
จากที่เก็บหลักและที่เก็บเพิ่มเติม:
$ git clone --single-branch --branch "packages/<PKGNAME>" git://git.archlinux.org/svntogit/packages.git "<PKGNAME>"
จากที่เก็บชุมชน:
$ git clone --single-branch --branch "packages/<PKGNAME>" git://git.archlinux.org/svntogit/community.git "<PKGNAME>"
PKGBUILD/ETC
หากการอัปเกรดPKGBUILD/ETC
ได้รับการเผยแพร่คุณสามารถกลับมาที่ไดเรกทอรีนี้โดยใช้git clone
และอัปเดตพวกเขา:
$ git pull
จากนั้นทำการคอมไพล์ใหม่และอัพเกรดแพ็คเกจโดยใช้วิธีการที่คุณเลือกด้านล่าง
มีหลายวิธีในการรวบรวมแพ็คเกจ makepkg
ในท้ายที่สุดทุกอย่างใช้ มี 2 วิธีที่รองรับอย่างเป็นทางการ:
makepkg
ดูhttps://www.vultr.com/docs/using-makepkg-on-arch-linuxmakepkg
ในการทำความสะอาดchroot
ดูhttps://www.vultr.com/docs/using-devtools-on-arch-linuxมีหลายโปรแกรมผู้ช่วย AUR (เหมือนมีmakepkg
เสื้อคลุม) ที่ไม่ได้รับการสนับสนุนอย่างเป็นทางการโดย Arch เช่นaurutils
, yay
และหยุดเมื่อเร็ว ๆ นี้และaurman
yaourt
แม้ว่าคุณจะใช้หนึ่งในโปรแกรมช่วยเหลืออื่น ๆ เหล่านี้ขอแนะนำอย่างยิ่งให้ทำความคุ้นเคยกับวิธีการที่ได้รับการสนับสนุนอย่างเป็นทางการว่าจะมีประสิทธิภาพมากขึ้นเมื่อมีสิ่งผิดปกติเกิดขึ้น
ส่วนที่เหลือของเอกสารนี้จะใช้YOUR BUILDER
เพื่อหมายถึงวิธีการที่คุณเลือก
คุณสามารถตั้งค่าที่เก็บภายในเครื่องให้เป็นตำแหน่งศูนย์กลางสำหรับแพ็คเกจทั้งหมดที่คุณสร้าง
วางที่เก็บในเครื่องได้ทุกที่ที่คุณต้องการ:
# mkdir /archLocalRepo
ทำงานYOUR BUILDER
โดยไม่มีตัวเลือกการติดตั้งอัตโนมัติและคัดลอกแพ็คเกจลงในที่เก็บในเครื่องของคุณ
# cp <PKGNAME>-<PKGVER>-<PKGREL>-<ARCH>.pkg.tar.xz /archLocalRepo
เพิ่มแพ็กเกจใหม่เข้ากับดัชนีที่เก็บ:
# repo-add /archLocalRepo/archLocalRepo.db.tar.gz /archLocalRepo/<PACKAGE-FILE-NAME>
ในการลบแพ็กเกจออกจากดัชนีของที่เก็บและไฟล์แพ็กเกจเอง:
# repo-remove /archLocalRepo/archLocalRepo.db.tar.gz <PKGNAME>
# rm /archLocalRepo/<PACKAGE-FILE-NAME>
หากคุณต้องการแทนที่ไฟล์แพ็กเกจที่มีอยู่คุณต้องลบไฟล์ที่ถูกแทนที่แยกต่างหากจากนั้นเพิ่มไฟล์ใหม่ คุณไม่สามารถคัดลอกไฟล์ใหม่ทับไฟล์เก่าได้
กำหนดค่าpacman
ให้ใช้ที่เก็บในเครื่องของคุณโดยแก้ไข/etc/pacman.conf
และเพิ่มรายการต่อไปนี้ในตอนท้าย:
[archLocalRepo]
SigLevel = Optional TrustAll
Server = file:///archLocalRepo
คุณต้องpacman
รีเฟรชความรู้ของที่เก็บ (รวมถึงหนึ่งในพื้นที่ของคุณ) ฐานข้อมูล; เพื่อดูแพ็คเกจที่คุณได้เพิ่ม:
# pacman -Sy
จากนั้นคุณสามารถติดตั้งแพ็กเกจไม่แตกต่างจากแพคเกจอย่างเป็นทางการ:
# pacman -S <PKGNAME>
หมายเหตุหากแพ็คเกจเป็นเพียงการอ้างอิงของแพ็คเกจอื่นที่คุณกำลังจะติดตั้งคุณไม่จำเป็นต้องติดตั้งโดยตรง เมื่อคุณติดตั้งแพคเกจอื่นนี้pacman
จะค้นหาและติดตั้งแพคเกจการอ้างอิงโดยอัตโนมัติในที่เก็บในเครื่องของคุณ
โดยค่าเริ่มต้นYOUR BUILDER
รวบรวมโดยใช้หัวข้อเดียว บนระบบหลาย CPU คุณสามารถอนุญาตให้ใช้หลายเธรดหากเป็นไปได้ ระบบบิลด์จะรวบรวมส่วนต่าง ๆ ของซอร์สโค้ดแบบขนานเมื่อทำได้ บางครั้งส่วนของรหัสจำเป็นต้องมีส่วนอื่น ๆ ที่มันโต้ตอบกับการรวบรวมแล้วดังนั้นคุณจะไม่เห็นหลายกระทู้ใช้ตามที่ได้รับอนุญาต /etc/makepkg.conf
แก้ไข
ในการอนุญาตให้ใช้เธรดได้มากเท่าที่คุณมีคอร์เสมือนให้เพิ่มรายการต่อไปนี้:
MAKEFLAGS="-j$(nproc)"
หมายเหตุ: สิ่งนี้จะรันคำสั่งnproc
ทุกครั้งดังนั้นมันจะใช้จำนวนแกนปัจจุบันเสมอในกรณีที่คุณอัพเกรดเซิร์ฟเวอร์ Vultr ของคุณ
หากต้องการอนุญาตให้ใช้หลายแกนประมวลผลเสมือน แต่ไม่สามารถใช้ได้ทั้งหมดเช่นเพื่อลดผลกระทบต่อประสิทธิภาพของระบบโดยรวมให้เพิ่มหมายเลขเฉพาะ ตัวอย่างเช่นหากคุณมี 24 แกนคุณสามารถอนุญาตให้ใช้ 21:
MAKEFLAGS="-j21"
การระบุเธรดมากกว่าจำนวนแกนประมวลผลเสมือนที่คุณมีจะลดประสิทธิภาพ
มันค่อนข้างหายาก แต่ระบบการสร้างแพคเกจบางตัวมีปัญหาเกี่ยวกับการคอมไพล์แบบขนานจากการกำหนดการพึ่งพาระหว่างส่วนต่าง ๆ ของรหัสไม่ถูกต้อง โดยทั่วไปPKGBUILD
ไฟล์แพคเกจเหล่านั้นจะจัดการสิ่งนี้ให้คุณโดยการเรียกใช้make -j1
ซึ่งจะแทนที่ค่าเริ่มต้นที่คุณตั้งไว้ หากต้องการสิ่งนี้และหายไปให้รายงานไปยังผู้ดูแลแพคเกจ Arch
PKGBUILD
อาร์เรย์แหล่งที่สามารถมี.asc
หรือ.sig
ไฟล์ พวกเขามักจะรวมถึงการใช้การขยายตัวของ bash brace ดังนั้นจึงเป็นเรื่องง่ายที่จะพลาด:
source=("http://example.com/downloads/${pkgname}-${pkgver}.tar.gz{,.sig}")
หากรูปแบบของไฟล์ลายเซ็นอย่างใดอย่างหนึ่งเหล่านี้รวมอยู่ในอาร์เรย์ต้นทางให้YOUR BUILDER
พยายามตรวจสอบลายเซ็นของไฟล์เก็บถาวรต้นฉบับ upstream คีย์ PGP ของลายเซ็นต้องอยู่ในพวงกุญแจของผู้ใช้ มิฉะนั้นจะยกเลิกด้วยข้อผิดพลาด:
==> Verifying source file signatures with gpg...
<SOURCE-FILE> ... FAILED (unknown public key 1234567890ABCDEF)
==> ERROR: One or more PGP signatures could not be verified!
สิ่งสำคัญคือต้องเข้าใจว่าคีย์ GPG สามารถแสดงได้หลายวิธี ลายนิ้วมือของมันคือ 40 อักขระเลขฐานสิบหกและเป็นสิ่งที่คุณควรใช้ รหัสคีย์ยาวคือ 16 หลักสุดท้ายและรหัสคีย์สั้นคือ 8 หลักสุดท้าย แม้ว่าความสั้นจะสะดวก แต่ก็อนุญาตให้ซ้ำได้ซึ่งทำให้เกิดการให้เหตุผลทั้งหมดที่อยู่เบื้องหลังการตรวจสอบลายเซ็น ยิ่งไปกว่านั้นผู้โจมตีรู้ว่าสร้างคีย์ปลอมที่ตรงกับคีย์ที่มีความยาวน้อยกว่าสำหรับนักพัฒนาซอฟต์แวร์ระดับสูง
หากคุณยังไม่ได้สร้างแพ็คเกจให้ดาวน์โหลดแหล่งข้อมูลซึ่งจะรวมไฟล์ลายเซ็น: (หากคุณลองสร้างมันจะมีอยู่แล้ว)
$ makepkg --nobuild --noextract
วิธีรับลายนิ้วมือแบบเต็ม:
$ gpg <ASC-OR-SIG-FILENAME>
...
gpg: using RSA key 155D3FC500C834486D1EEA677FD9FCCB000BEEEE
...
เป็นการดีที่คุณควรตรวจสอบลายนิ้วมือนี้จากต้นน้ำ เพื่อความปลอดภัยอัปสตรีมควรให้รหัสของผู้ดูแลบางแห่งบนเว็บไซต์หรือในแหล่งที่มา การค้นหาคีย์บนเซิร์ฟเวอร์คีย์เพียงอย่างเดียวไม่ได้ทำอะไรเลย ผู้โจมตีสามารถส่งคีย์ปลอมได้ง่าย ๆ เนื่องจากเซิร์ฟเวอร์คีย์ไม่ยืนยันความถูกต้อง คีย์สามารถลงนามโดยคีย์อื่น ๆ ดังนั้นหากคุณมีคีย์ที่คุณเชื่อถืออยู่แล้วคุณควรจะไว้ใจคีย์ใด ๆ ที่พวกเขาได้ลงนามไว้อย่างปลอดภัย
ซึ่งอาจเป็นงานค่อนข้างน้อยโดยเฉพาะเมื่อ upstream ไม่พิมพ์ลายนิ้วมือหรือวางไว้ที่ไหนสักแห่งที่หาง่าย PKGBUILD
จะมีvalidpgpkeys
อาร์เรย์ที่ถูกเพิ่มเข้ามาโดยผู้ดูแล Arch หากแพ็คเกจเป็นที่เก็บข้อมูลอย่างเป็นทางการนั่นหมายความว่าผู้ใช้ที่ไว้วางใจได้จะอยู่ที่นั่นและคุณควรจะปลอดภัยพอที่จะเชื่อใจในสิ่งที่อยู่ในรายการ หากแพ็กเกจอยู่ใน AUR โปรดจำไว้ว่านั่นหมายความว่าผู้ใช้ Arch รายอื่นวางไว้ที่นั่น หากคุณกังวลเกี่ยวกับการไว้วางใจคุณสามารถดูผู้ใช้เสมอเพื่อดูสิ่งที่พวกเขาทำในอดีตด้วย Arch
วิธีเพิ่มลายนิ้วมือในพวงกุญแจของคุณ:
$ gpg --recv-keys <FINGERPRINT>
ตอนนี้คุณสามารถเรียกใช้YOUR BUILDER
และมันจะไว้วางใจลายนิ้วมือ
แพคเกจ AUR ที่มีชื่อลงท้าย-git
, -svn
, -bzr
หรือ-hg
เป็นรุ่นพัฒนาซึ่งใช้ระบบการควบคุมเวอร์ชันล่าสุดของต้นน้ำกระทำแทนต้นน้ำเป็นรุ่นล่าสุด ตัวอย่างเช่น-git
แพ็คเกจจะใช้ความมุ่งมั่นล่าสุดของอัปสตรีมในสาขาหลัก (หรือสาขาที่เทียบเท่า) นี่เป็นวิธีที่ยอดเยี่ยมสำหรับการเรียกใช้การแก้ไขข้อบกพร่องต้นน้ำและคุณสมบัติใหม่ที่ยังไม่ได้เปิดตัวและเมื่อทำงานกับอัปสตรีมในข้อบกพร่องที่คุณรายงาน คุณต้องยืนยันว่าไม่ใช่ข้อผิดพลาดที่ได้รับการแก้ไขโดยคอมมิชชันที่ยังไม่วางจำหน่าย แพ็คเกจเ���ล่านี้ควรได้รับการพิจารณาว่าไม่เสถียร ที่กล่าวว่าน่าเสียดายที่บางครั้งไม่มีทางเลือกเพราะผู้ดูแลระบบต้นน้ำบางคนไม่เคยติดแท็กเผยแพร่หรือใช้เวลานานเกินไประหว่างการติดแท็กที่วางจำหน่ายและคาดว่าทุกคนจะใช้ความมุ่งมั่นล่าสุดของพวกเขา ขึ้นอยู่กับแพ็คเกจคุณอาจเป็นคนแรกที่ลองใช้การยืนยัน ความมุ่งมั่นล่าสุดของพวกเขาอาจไม่ได้รวบรวม
สิ่งสำคัญคือต้องเข้าใจข้อผิดพลาดทั่วไป อย่าตั้งค่าสถ��นะแพคเกจการพัฒนา AUR ล้าสมัยเพียงเพราะมันแสดงหมายเลขรุ่นเก่า! PKGBUILD
ไฟล์แพคเกจการพัฒนามีฟังก์ชั่นเพิ่มเติมpkgver()
ซึ่งใช้ในการแยกวิเคราะห์อัปเดตโดยอัตโนมัติPKGVER
จากซอร์สโค้ดของ upstream รูปแบบที่พบบ่อยสำหรับแพคเกจ-git
<TYPICAL-VERSION-NUMBER>.r<COMMITS-SINCE-LAST-RELEASE>.<GIT-COMMIT>-<PKGREL>
แพคเกจอาจมีการระบุไว้ใน AUR เป็น5.0.0.r102.8d7b42ac21-1
เพราะนั่นคือสิ่งที่PKGBUILD
มี แต่เมื่อคุณสร้างแพ็คเกจYOUR BUILDER
จะอัปเดตโดยอัตโนมัติPKGVER
เพื่อแสดงซอร์สโค้ดที่ดาวน์โหลดใหม่ ในความเป็นจริงหากมีการเปิดตัวเวอร์ชันใหม่จำนวนมาก แต่ไม่มีการเปลี่ยนแปลงใด ๆ ในกระบวนการสร้างการแสดงPKGBUILD
รายชื่อเวอร์ชันเก่าอาจทำให้การสร้างสิ่งใหม่ ๆ เช่น9.1.2.r53.2c9a41b723-1
. สำหรับแพคเกจเหล่านี้รุ่นที่ระบุไว้บนเว็บไซต์เป็นเพียงรุ่นล่าสุดในขณะที่ผู้ดูแล AUR PKGBUILD
มีสุดท้ายที่จะปรับปรุง
ผู้ดูแล AUR ไม่ควรอัปเดตPKGVER
เพื่อสะท้อนเวอร์ชั่นใหม่ พวกเขาควรจะทำเช่นนั้นก็ต่อเมื่อการส่งอัปสตรีมรุ่นใหม่นั้นต้องการสิ่งอื่นในการPKGBUILD
เปลี่ยน
ทำเครื่องหมายเฉพาะแพ็คเกจ AUR ที่ล้าสมัยหากคุณรู้ว่ามีบางอย่างผิดปกติ หมายความว่าคุณลองใช้แล้วและไม่สามารถรวบรวมหรือแยกวิเคราะห์รูปแบบใหม่ที่PKGVER
เหมาะสม บางครั้งสิ่งต่าง ๆ เกิดขึ้นที่บังคับให้ผู้ดูแล AUR อัปเดตการPKGBUILD
เปลี่ยนแปลง upstream dependencies เช่นการเปลี่ยนแปลงconfigure
ตัวเลือกรุ่น GCC ใหม่รับข้อผิดพลาดในซอร์สโค้ดที่คนก่อนหน้าไม่ได้เปลี่ยนตำแหน่งที่เก็บอัปสตรีม อยู่ในรหัสที่มาทำลายPKGVER
ฟังก์ชันการแยกวิเคราะห์ เข้าใจว่าแม้ว่ามันจะล้มเหลวในการรวบรวมหรือการทำงานนี่อาจหมายความว่าผู้ดูแลระบบ AUR จำเป็นต้องเปลี่ยนแปลงกระบวนการสร้างหรืออาจเป็นปัญหาต้นน้ำที่มีซอร์สโค้ดซึ่งผู้ดูแล AUR ไม่มีส่วนรับผิดชอบ
อย่าลืมอ่านส่วน "แพคเกจการพัฒนาของ AUR" ด้านบนก่อนรายงานแพคเกจว่าล้าสมัย!
หากอัพสตรีมเปิดตัวเวอร์ชันที่ใหม่กว่าสำหรับแพ็คเกจที่ไม่ใช่การพัฒนากว่าในPKGBUILD
คุณสามารถคลิก "ตั้งค่าสถานะแพ็คเกจล้าสมัย" แล้วพิมพ์ข้อความไปยังผู้ดูแล ใช้https://packages.archlinux.orgสำหรับแพ็คเกจที่เก็บข้อมูลอย่างเป็นทางการและhttps://aur.archlinux.orgสำหรับแพ็คเกจ AUR ข้อความที่เป็นประโยชน์อาจเป็นหมายเลขเวอร์ชันใหม่และอาจเป็นลิงก์ไปยังประกาศการเปิดตัวหรือซอร์สโค้ด คุณสมบัติการติดธงทำเครื่องหมายส่งอีเมลข้อความของคุณไปยังผู้ดูแลโดยอัตโนมัติ
ในแพ็คเกจ AUR หากไม่มีการตอบกลับหลังจาก 2 สัปดาห์คุณสามารถคลิก "ส่งคำขอ" ด้วยประเภท "เด็กกำพร้า" หากคุณต้องการขอให้ผู้ใช้ที่เชื่อถือได้ทำการลบผู้ดูแลปัจจุบันและทำแพ็คเกจกำพร้าถ้า ผู้ดูแลไม่ตอบสนองต่อคำขอเด็กกำพร้า โดยทั่วไปแล้วผู้คนจะยื่นคำร้องขอเด็กกำพร้าหากพวกเขาสามารถและเต็มใจที่จะครอบครองแพ็คเกจและโดยเฉพาะอย่างยิ่งถ้าพวกเขามีกระแสงานอยู่PKGBUILD
แล้ว
ในระหว่างนี้คุณสามารถอัปเดตแพ็คเกจที่ล้าสมัยด้วยตัวเองได้บ่อยครั้ง บ่อยครั้งที่คุณต้องเปลี่ยนPKGBUILD
โดยการอัปเดตเป็นPKGVER
หมายเลขเวอร์ชันใหม่และผลรวมความสมบูรณ์จะได้รับการอัปเดต โปรแกรมupdpkgsums
มีอยู่ในแพ็คเกจpacman-contrib
ซึ่งจะคำนวณผลรวมและอัปเดตให้PKGBUILD
คุณโดยอัตโนมัติ ควรตรวจสอบบันทึกประจำรุ่นของอัปสตรีมเพื่อดูว่าพวกเขาพูดถึงอะไรที่จำเป็นต้องเปลี่ยนแปลงในระหว่างกระบวนการติดตั้งของเวอร์ชันใหม่ บางครั้งการเปลี่ยนแปลงต้นน้ำจำเป็นต้องมีการเปลี่ยนแปลงหรือยกเครื่องให้PKGBUILD/ETC
มากขึ้น บ่อยครั้งที่source
อาร์เรย์ฝังPKGVER
อยู่ภายในบ่อยครั้งที่ไม่จำเป็นต้องอัพเดต
เกริ่นนำ Arch Linux มีขนาดเล็กลง แต่ยังคงแข็งแกร่งต่อไปนี้มากกว่าการกระจายความนิยมมากขึ้น ปรัชญาของมันแตกต่างกันมากโดยมีข้อดีและ
บทช่วยสอนนี้อธิบายวิธีตั้งค่าเซิร์ฟเวอร์ Mumble (Murmur) บน Arch Linux ทุกอย่างที่ทำในบทช่วยสอนนี้ทำในฐานะผู้ใช้รูท การติดตั้งและ
สิ่งที่จำเป็นต้องมีเซิร์ฟเวอร์ Vultr ทำงานล่าสุด Arch Linux (ดูบทความนี้) เข้าถึง Sudo คำสั่งที่ต้องรันในฐานะรูทจะขึ้นต้นด้วย # และอีกหนึ่งคำสั่ง
สิ่งที่จำเป็นต้องมีเซิร์ฟเวอร์ Vultr ทำงานล่าสุด Arch Linux (ดูบทความนี้) เข้าถึง Sudo คำ���ั่งที่ต้องรันในขณะที่รูทนำหน้าด้วย # Th
คำนำ Arch Linux เป็นการกระจายทั่วไปที่รู้จักกันดีสำหรับเทคโนโลยีที่ทันสมัยและการกำหนดค่าที่ยืดหยุ่น ด้วยสแน็ปช็อต Btrfs เราสามารถรับได้
สิ่งที่จำเป็นต้องมีเซิร์ฟเวอร์ Vultr ทำงานล่าสุด Arch Linux (ดูบทความนี้) เว็บเซิร์ฟเวอร์ที่ใช้งานไม่ว่าจะเป็นการเข้าถึง Apache หรือ Nginx Sudo ต้องการคำสั่ง
หากคุณใช้ makepkg โดยตรงมันค่อนข้างจะสร้างความเสียหายให้กับระบบของคุณ กลุ่มแพ็กเกจฐาน devel ต้องถูกติดตั้ง วิธีนี้โดยค่าเริ่มต้นการอ้างอิงที่จำเป็น ONL
Vultr มอบฟังก์ชั่นการใช้งานที่ยอดเยี่ยมให้คุณใช้ภาพที่กำหนดเองของคุณนอกเหนือไปจากเทมเพลตที่ยอดเยี่ยมซึ่งช่วยให้คุณเรียกใช้
บทช่วยสอนนี้อธิบายวิธีตั้งค่าเซิร์ฟเวอร์ Minecraft โดยใช้ Spigot บน Arch Linux บทช่วยสอนนี้ถือว่าคุณเป็นผู้ใช้ปกติ (ไม่ใช่รูท) และ hav
สิ่งที่จำเป็นต้องมีเซิร์ฟเวอร์ Vultr ทำงานล่าสุด Arch Linux (ดูบทความนี้) เว็บเซิร์ฟเวอร์ที่ใช้งานไม่ว่าจะเป็น Apache หรือ Nginx Sudo access คำสั่งที่จำเป็น
เดิมแพ็คเกจ Devtools สร้างขึ้นสำหรับผู้ใช้ที่เชื่อถือได้เพื่อสร้างแพ็คเกจสำหรับที่เก็บอย่างเป็นทางการ อย่างไรก็ตามผู้ใช้ทั่วไปสามารถใช้งานได้
เซิร์ฟเวอร์ Vultr ทำงานล่าสุด Arch Linux (ดูบทความนี้) เว็บเซิร์ฟเวอร์ที่ใช้งานอยู่ไม่ว่าจะเป็นการเข้าถึง Apache หรือ Nginx Sudo: คำสั่งต้องการ
เซิร์ฟเวอร์ Vultr ทำงานล่าสุด Arch Linux (ดูบทความนี้) เว็บเซิร์ฟเวอร์ที่ใช้งานอยู่ไม่ว่าจะเป็นการเข้าถึง Apache หรือ Nginx Sudo: คำสั่งต้องการ
สิ่งที่จำเป็นต้องมีเซิร์ฟเวอร์ Vultr ที่ใช้งานล่าสุดถึง Arch Linux (ดูบทความนี้) การเข้าถึง Sudo: คำสั่งที่ต้องรันในขณะที่รูทถูกขึ้นต้นด้วย # และหนึ่ง
บทช่วยสอนนี้อธิบายวิธีการตั้งค่าเซิร์ฟเวอร์ Counter-Strike: Global Offensive บน Arch Linux บทช่วยสอนนี้สมมติว่าคุณเข้าสู่ระบบด้วยการใช้มาตรฐาน
สิ่งที่จำเป็นต้องมีเซิร์ฟเวอร์ Vultr ทำงานล่าสุด Arch Linux (ดูบทความนี้) การเข้าถึง Sudo: คำสั่งที่ต้องรันในขณะที่รูทถูกขึ้นต้นด้วย # และอีกหนึ่ง
บทช่วยสอนนี้อธิบายวิธีตั้งค่าเซิร์ฟเวอร์ Team Fortress 2 บน Arch Linux ฉันคิดว่าคุณเข้าสู่ระบบด้วยบัญชีผู้ใช้ที่ไม่ใช่รูทที่มีสิทธิ์เข้าถึง sudo
สิ่งที่จำเป็นต้องมีเซิร์ฟเวอร์ Vultr ทำงานล่าสุด Arch Linux ดูคู่มือนี้สำหรับข้อมูลเพิ่มเติม เข้าถึง Sudo คำสั่งที่จำเป็นต้องรันเป็นรูท ar
ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน
การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane
ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+
อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ
เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม
13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data
คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true
ในขณะที่วิทยาศาสตร์มีวิวัฒนาการไปอย่างรวดเร็ว โดยรับช่วงต่อความพยายามของเราอย่างมาก ความเสี่ยงในการทำให้ตัวเองตกอยู่ในภาวะภาวะเอกฐานที่อธิบายไม่ได้ก็เพิ่มขึ้นเช่นกัน อ่านว่าภาวะเอกฐานอาจมีความหมายสำหรับเราอย่างไร
ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1
AI ในการดูแลสุขภาพได้ก้าวกระโดดอย่างมากจากทศวรรษที่ผ่านมา ดังนั้นอนาคตของ AI ในการดูแลสุขภาพจึงยังคงเติบโตทุกวัน