ไม่พบ ack ใน Ubuntu 17.10 repositories


14

ฉันพยายามติดตั้งackผ่านทางaptแต่ดูเหมือนว่าจะไม่มีให้ใน repos อีกต่อไป ทั้งสอง:

sudo apt install ack
sudo apt install ack-grep

ให้ข้อผิดพลาดต่อไปนี้:

E: Package 'ack-grep' has no installation candidate

ไม่สามารถใช้งานได้ในที่เก็บ 17.10 อีกต่อไปแล้วใช่ไหม


sudo apt updateครั้งแรกลอง
arupgsh

1
@muru ขอบคุณ แต่ลิงค์ของคุณแสดงว่าไม่สามารถใช้ได้เนื่องจากartfulไม่มีอยู่ในรายการใช่ไหม packages.ubuntu.com/search?suite=artful&keywords=ack

3
อืมใช่launchpad.net/ubuntu/+source/ack/2.14-5/+publishinghistoryระบุว่ามันถูกลบออกเนื่องจากมีการแตก
muru

3
สวัสดีผู้สร้าง ack ที่นี่ ฉันตระหนักถึงสถานการณ์ แต่ฉันไม่รู้ว่าจะทำอะไรกับฉันเป็นการส่วนตัว นี่คือตั๋วในตัวติดตามบั๊ก ack พร้อมข้อมูลเพิ่มเติม: github.com/beyondgrep/ack2/issues/652
Andy Lester

คำตอบ:


12

Ack มีความล้มเหลวในการทดสอบใน Ubuntu 17.10 และมันถูกแยกออกจาก Ubuntuจนกว่าจะผ่าน Perl ได้รับการอัพเกรดบน Artful และรุ่นเก่า ack ไม่รองรับ Perl ใหม่ เวอร์ชั่นใหม่ไม่ผ่านการทดสอบทั้งหมด ความล้มเหลวในการทดสอบที่เกิดจากปัญหาที่เกิดขึ้นกับกรอบการทดสอบเป็นที่ทำงานภายใต้อูบุนตู (แม้เมื่อมันทำงานได้ดีใน Debian.) รุ่นใหม่ที่ผ่านจะได้รับการปล่อยตัวในเร็ว ๆ นี้

ในขณะเดียวกันวิธีแก้ปัญหาคือการติดตั้งมันผ่าน CPAN ตามที่แนะนำในหน้าแรกของแอ๊ หากคุณยังไม่ได้ติดตั้ง CPAN คุณจะต้องติดตั้งก่อน:

sudo apt install cpanminus

จากนั้นคุณสามารถใช้มันเพื่อติดตั้ง ack:

sudo cpanm install App::Ack

มันจะสร้างและทดสอบจึงใช้เวลาประมาณ 2 นาที /usr/local/bin/ackแต่หลังจากที่มันจะทำก็จะอยู่ในเส้นทางของคุณที่

ฉันชอบตัวเลือกการติดตั้งนี้เพราะใช้ที่เก็บฉลาดและ cpan มาตรฐาน มันใช้ห้องสมุด Perl ที่จะได้รับการอัพเกรดด้วยเครื่องมืออัตโนมัติ สามารถใช้งานได้ง่ายในเครื่องมืออัตโนมัติเช่น Ansible


2
สันนิษฐานว่าถ้าคุณกำลังติดตั้ง cpanminus คุณต้องการติดตั้งโดยใช้มันsudo cpanm App::Ackจริง ๆ:
Joel Berger

3
ที่จริงแล้วในขณะนี้มันไม่ได้มีปัญหากับ Perl หรือ Ack (การทดสอบผ่านกับเวอร์ชันเดียวกันในระบบ Debian build ที่เกือบจะเหมือนกัน) ขณะนี้มีการสันนิษฐานว่าเป็นข้อบกพร่องในระบบการสร้าง Ubuntu
mniess

6

น่าเศร้าackไม่ได้อยู่ในที่เก็บ 17.10 การแก้ปัญหาคือการติดตั้งด้วยตนเองตามคำแนะนำบนเว็บไซต์ของตน

นี่คือสิ่งที่ฉันทำ:

$ sudo su
# curl https://beyondgrep.com/ack-2.18-single-file > /usr/local/bin/ack && chmod 0755 /usr/local/bin/ack

2
ถึงแม้ว่ามันจะดูเหมือนเป็นชนิดของการติดตั้งซอฟต์แวร์จากเว็บไซต์สุ่ม ๆ
Stephen Ostermiller

1
เวอร์ชั่นไฟล์เดี่ยวของ ack ใช้สำเนาของไลบรารีที่ต้องการซึ่งจะไม่ได้รับการอัพเดตโดยอัตโนมัติหากพบข้อบกพร่องด้านความปลอดภัย มันใช้ไลบรารีเวอร์ชันเมื่อสร้าง ack ซึ่งอาจไม่ใช่เวอร์ชันล่าสุดแม้ในเวลาที่คุณติดตั้ง หากคุณใช้โซลูชันนี้คุณควรทราบว่ามีข้อกังวลด้านความปลอดภัยเพิ่มเติมเกี่ยวกับการติดตั้งไฟล์เดียว
Stephen Ostermiller

หนึ่งซับแทนการใช้sudo su: ack="/usr/local/bin/ack" && curl -s https://beyondgrep.com/ack-2.18-single-file | sudo tee "$ack" > /dev/null && sudo chmod 0755 "$ack"
สตีเฟ่น Ostermiller

โปรดอย่า ให้ใช้แพ็คเกจ ack .deb จาก Ubuntu รุ่นอื่น (หรือแม้แต่ Debian) ดังนั้นอย่างน้อยคุณจะได้รับการอัปเดตความปลอดภัยสำหรับห้องสมุดที่ใช้ทั้งหมด
Axel Beckert

นี่เป็นวิธีเดียวที่ใช้ได้สำหรับฉัน
Theodore R. Smith

4

แพ็คเกจที่ไม่ผ่านการทดสอบแพคเกจติดตั้งอัตโนมัติของ Ubuntuจะไม่รวมอยู่ในรีลีสอย่างน้อยที่ไม่ได้มาจากไฟล์เก็บถาวรของจักรวาล (ซึ่งนำเข้ามาอย่างสม่ำเสมอและอัตโนมัติจาก Debian Unstable)

เนื่องจากมีการเปลี่ยนแปลงในระหว่างรอบการเผยแพร่ Artful ของ Ubuntu 17.10 สิ่งที่ทำลายการตอบรับอัตโนมัติใน Ubuntuและด้วยเหตุนี้จึงหยุดการรวมอยู่ในการเผยแพร่ Ubuntu คุณไม่สามารถแม้แต่จะพบว่าในภาพรวมการพัฒนาในปัจจุบันbionicแต่คุณสามารถติดตั้งได้ถ้าคุณเพิ่มเส้นสำหรับการของคุณbionic-proposedsources.list

ยังไม่มีความชัดเจนว่าการเปลี่ยนแปลงนั้นเกิดขึ้นตามลำดับเหตุผลอะไร (อาจเป็นข้อผิดพลาดในโครงสร้างพื้นฐาน autopkgtest ของ Ubuntu) และสิ่งที่ทริกเกอร์คืออะไร (อาจเปลี่ยนเป็น Perl 5.26 ได้แสดงปัญหาในโครงสร้างพื้นฐาน autopkgtest ของ Ubuntu)

สิ่งที่ชัดเจนคือประเด็นนี้เป็นปัญหาเฉพาะอูบุนตูตั้งแต่การตอบรับอัตโนมัติในเดเบียนผ่านโดยไม่มีปัญหาใด ๆ และทำงาน autopkgtest ไว้ในภาพรวมการพัฒนาของ Ubuntu 18.04 ไบโอนิคไม่ได้แสดงความล้มเหลวในการทดสอบเหล่านี้อย่างใดอย่างหนึ่ง (และดูเหมือนว่าจะสร้างบน Ubuntu และชุดทดสอบเดียวกันนี้จะรันในเวลา build เช่นกันและหากไม่ผ่านแพคเกจก็จะไม่สร้างซึ่งถือว่าเป็นปัญหาที่รุนแรงมาก)

คำใบ้ว่าปัญหาที่ถูกซ่อนอยู่ที่ไหนสักแห่งในอูบุนตูของ Infrastucture autopkgtest ก็คือความจริงที่ว่าส่วนใหญ่ล้มเหลวในการทดสอบถือว่าใส่ของพวกเขาอย่างกระทันหันเป็น STDIN แทนไฟล์ที่คาดหวัง

คำแนะนำใด ๆ เกี่ยวกับเหตุผลพื้นฐานสำหรับความล้มเหลวการทดสอบอูบุนตู-autopkgtest เฉพาะที่แปลกประหลาดเหล่านี้เป็นที่นิยมมากทั้งในรายงานข้อผิดพลาดตาม Launchpadหรือในรายงานข้อผิดพลาดตามต้นน้ำ


2

ดังที่ @muru ที่ระบุไว้ในความคิดเห็นด้านบนแพ็คเกจได้ถูกลบออกเนื่องจากมันแตกใน 17.10 ดังนั้นใช่ไม่มีackในที่เก็บ 17.10 สำหรับตอนนี้

เดาฉันควรจับตาดูhttps://packages.ubuntu.com/search?suite=artful&keywords=ackเพื่อทราบว่าจะเปิดให้บริการอีกครั้งเมื่อใด


1
มันอาจจะไม่เป็น มันยากมากสำหรับแพ็คเกจที่ไม่ได้อยู่ใน repos ที่จะให้บริการผ่าน backport คุณสามารถจับตามองบนlaunchpad.net/ubuntu/bionic/+source/ackเพื่อดูว่ามันทำให้การตัดสำหรับ 18.04 (เนื่องจากเป็น lts บางทีอาจต้องใช้ความพยายามมากขึ้นในการทำให้มันทำงาน)
muru

เท่าที่ฉันสามารถบอกได้ว่า "แตก" ที่ทำให้เกิดปัญหานี้เป็นข้อผิดพลาดในการสะกดคำที่ทำให้แพ็คเกจเดเบียนสะดุดขึ้น
Andy Lester

1
@AndyLester: ไม่ข้อผิดพลาดในการสะกดคำนั้นไม่เกี่ยวข้องกับมัน มันถูกทำเครื่องหมายเป็นเท็จบวกผ่าน Lintian Override โดยทีม Debian Perl
Axel Beckert

"ใช้ไม่ได้" (Cc @muru) หมายถึงในกรณีนี้มันล้มเหลวในการทดสอบแพ็กเกจอัตโนมัติขณะติดตั้ง (สั้น: autopkgtest) หน้าที่เกี่ยวข้องเพื่อติดตามคือautopkgtest.ubuntu.com/packages/ackและเป็นหน้าย่อย และนี่คืออย่างชัดเจนปัญหาอูบุนตูเฉพาะเป็นแอ๊ผ่านautopkgtest Debian ของ
Axel Beckert

@AxelBeckert ฉันรู้ เราได้พูดถึงเรื่องนี้ในหน้าตั๋ว ฉันเขียนความคิดเห็นการสะกดคำนั้นเมื่อหกสัปดาห์ที่แล้ว
Andy Lester

1

ฉันสามารถติดตั้งแพ็คเกจ Ubuntu 18.04 บนกล่อง Ubuntu 17.10 ของฉันได้:

$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=17.10
DISTRIB_CODENAME=artful
DISTRIB_DESCRIPTION="Ubuntu 17.10"
$ sudo apt install libfile-next-perl
...snip...
$ wget https://launchpad.net/ubuntu/+archive/primary/+files/ack_2.18-2_all.deb
...snip...
$ sudo dpkg -i ack_2.18-2_all.deb
...snip...
$ ack --version
ack 2.18
Running under Perl 5.26.0 at /usr/bin/perl

Copyright 2005-2017 Andy Lester.

This program is free software.  You may modify or distribute it
under the terms of the Artistic License v2.0.

หากdpkgคำสั่งล้มเหลวสำหรับคุณอาจเป็นเพราะคุณขาดการพึ่งพาบางอย่างที่ฉันมีอยู่แล้ว ลองapt installอ้างอิงที่หายไปจากนั้นเรียกใช้dpkgบรรทัดอีกครั้ง

ฉันชอบวิธีนี้ดีกว่าการใช้ CPAN เพราะ APT / dpkg ยังคงเห็นแพ็คเกจนี้ติดตั้งอยู่และจะสามารถอัปเกรดได้ในภายหลังเมื่อ Ubuntu ได้รับสถานการณ์การสร้างที่แยกออกแล้ว

(ขอบคุณ Axel Beckert สำหรับโพสต์ลิงก์ไปยังรายงานบั๊ก Launchpad ซึ่งเป็นที่ที่ฉันได้รับแนวคิดนี้)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.