มีวิธีการติดตั้ง Nano บน CoreOS หรือไม่?


30

CoreOS ไม่รวมตัวจัดการแพ็คเกจ แต่โปรแกรมแก้ไขข้อความที่ฉันต้องการคือนาโนไม่ใช่ vi หรือเป็นกลุ่ม มีวิธีแก้ไขไหม?

gcc ไม่สามารถใช้งานได้จึงไม่สามารถรวบรวมได้จากแหล่งที่มา:

core@core-01 ~/nano-2.4.1 $ ./configure
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... no
checking whether make supports nested variables... no
checking for style of include used by make... none
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/home/core/nano-2.4.1':
configure: error: no acceptable C compiler found in $PATH

เพื่อให้เป็นไปตามบริบทฉันปฏิบัติตามคำแนะนำนี้เมื่อฉันพบว่าฉันต้องการใช้นาโน


3
CoreOS ไม่ใช่จุดที่คุณไม่ได้ทำอะไรเลยบนระบบปฏิบัติการของตัวเองนอกเหนือจากการเริ่มต้นคอนเทนเนอร์?
jordanm

1
ใช่ แต่ถ้าฉันอาจต้องสร้างและแก้ไขไฟล์ dockerfile หรือไฟล์ config อื่น ๆ
codecowboy

2
กรณีการใช้งานที่ตั้งใจไว้สำหรับ coreos คือคุณแก้ไขไฟล์ docker ของคุณบนเวิร์กสเตชันของคุณและกดไปที่ coreos ด้วยฝูงบิน ไม่จำเป็นต้องเชื่อมต่อกับตัวเครื่องเอง
spuder

1
ทีม CoreOs (ผ่านทาง Twitter) ทำให้ฉันเอกสารฉบับนี้ซึ่งแสดงให้เห็นว่ามันเป็นไปได้ที่จะติดตั้งและใช้นาโนถ้านั่นคือสิ่งที่ฉันต้องการจะทำโดยไม่คำนึงถึงว่าฉันควร
codecowboy

1
AFAIK คุณยังต้องแก้ไขไฟล์หน่วยใน CoreOS (โปรดพิสูจน์ว่าฉันผิด)
Dan Esparza

คำตอบ:


56

ในการทำเช่นนี้ในกล่อง CoreOS ทำตามคำแนะนำจากคู่มือที่นี่ :

  1. บูตกล่อง CoreOS และเชื่อมต่อในฐานะcoreผู้ใช้
  2. เรียกใช้/bin/toolboxคำสั่งเพื่อป้อน Fedora คอนเทนเนอร์
  3. ติดตั้งซอฟต์แวร์ใด ๆ ที่คุณต้องการ ในการติดตั้ง nano ในกรณีนี้มันจะง่ายเหมือนการทำdnf -y install nano(dnf ได้เปลี่ยน yum)
  4. ใช้นาโนเพื่อแก้ไขไฟล์ "แต่เดี๋ยวก่อน - ฉันอยู่ในคอนเทนเนอร์!" ไม่ต้องกังวล - ระบบไฟล์ของโฮสต์จะถูกติดตั้ง/media/rootเมื่ออยู่ภายในคอนเทนเนอร์ ดังนั้นเพียงแค่บันทึกไฟล์ข้อความตัวอย่างที่/media/root/home/core/test.txtจากนั้นexitภาชนะและในที่สุดก็ไปรายการไฟล์/home/coreมา สังเกตเห็นไฟล์ test.txt ของคุณ?

หากส่วนใดส่วนหนึ่งนี้มีความลับหรือสับสนเกินไปโปรดถามคำถามติดตาม :-)


7

ในขณะที่คำตอบของ Dan นั้นถูกต้องโดยทั่วไปดูเหมือนว่า yum จะไม่ทำงานอีกต่อไปในการติดตั้ง CoreOS ล่าสุด (ติดตั้งเมื่อวานนี้จาก coreos_production_vmware_ova.ova ล่าสุดจากhttp://stable.release.core-os.net/amd64-usr/ ปัจจุบันเป็น VMWare Workstation บน Windows)

คำสั่ง cited yum ยกเลิกในตอนท้าย ดังนั้นแทนที่ขั้นตอน (3) ด้วยคำสั่ง

/usr/bin/dnf install nano

ซึ่งประสบความสำเร็จในการติดตั้งนาโนในคอนเทนเนอร์ fedora

ทำการแก้ไขด้วยนาโนภายในคอนเทนเนอร์ fedora นี้ (เข้าถึงได้จาก CoreOS พร้อมด้วย / bin / กล่องเครื่องมือ) ในขณะที่ปฏิบัติตามคำแนะนำในการติดตั้งของโพสต์ของ Dan การออกจากภาชนะบรรจุ fedora สามารถทำได้โดยคำสั่ง 'exit'


5

มีตัวเลือกที่ง่ายกว่าที่ฉันพบในโพสต์ reddit

ก่อนอื่นให้เชื่อมต่อในฐานะcoreผู้ใช้จากนั้นตรวจสอบให้แน่ใจว่า/opt/binมีอยู่ ( sudo mkdir -p /opt/bin) ก่อนดำเนินการคำสั่งต่อไปนี้:

docker run -d --name nano base/archlinux:latest sleep && sudo docker cp nano:/usr/bin/nano /opt/bin && docker rm nano

หวังว่า/opt/binจะมีอยู่แล้วPATHดังนั้นทันทีที่มันทำงานคุณจะnanoสามารถใช้ได้


นี่เป็นข้อเสนอแนะเดียวที่ใช้งานได้กับระบบมากกว่าภายในคอนเทนเนอร์นักเทียบท่า เคล็ดลับอื่น ๆ ที่แนะนำให้ดาวน์โหลดจาก googlecode.com ซึ่งไม่ได้โฮสต์ไว้อีกต่อไป
อลัน

คำสั่งด้านบนไม่ทำงานอีกต่อไปกับ archlinux / base ปัจจุบัน ฉันพยายามทำแบบเดียวกันโดยแยกไบนารี nano จาก distro อื่น แต่ก็ไม่ได้ผลเช่นกันและไม่ควรคาดหวังว่าจะทำงานเนื่องจาก nano ไม่ได้เชื่อมโยงแบบคงที่
ChrisW

3

CoreOS ขึ้นอยู่กับ ChromeOS ดังนั้นฉันเดาว่าคำแนะนำสำหรับ ChromeOS จะทำงานได้ ตัวอย่างเช่นคำแนะนำสำหรับการติดตั้ง Nano บน Chrome คือ:

#!/bin/sh
sudo echo -n
sudo mkdir /tmp/nano
cd /tmp/nano
sudo wget http://v48.googlecode.com/files/nano.tar.gz
sudo tar -zxvf nano.tar.gz
sudo mv ./nano /usr/bin
sudo rm -rf /tmp/nano 

Gist ต้นฉบับ: https://gist.github.com/alex-endfinger/1510908


1
นี่เป็นข้อเสนอแนะที่ดี แต่ / user / bin ได้รับการป้องกันการเขียนบน CoreOS และnanoไม่ทำงานแม้แต่จาก / tmp / nano
Dan Esparza

สิ่งนี้จะไม่ทำงานอีกต่อไปเนื่องจากการเชื่อมโยงแบบไบนารีนั้นตายแล้ว
ChrisW

1
คุณแน่ใจหรือว่าใช้ ChromeOS อยู่
รหัส Bling

0

ในขณะที่วิธีกล่องเครื่องมือเป็นวิธีที่ถูกต้องสำหรับส่วนใหญ่ฉันกำลังมองหาไบนารีซึ่งฉันสามารถเรียกใช้ใน / opt / bin

ลิงค์นี้GitHub - andrew-d / static-binaries: เครื่องมือ * nix ต่างๆที่สร้างขึ้นเป็นไบนารีที่เชื่อมโยงแบบสแตติกมี Dockerfile และสคริปต์สำหรับการรวบรวมเวอร์ชั่นไบนารีคงที่ของนาโนบน Debian ซึ่งจะทำงานบน CoreOS

static-binaries / nano ที่ต้นแบบ· andrew-d / static-binaries · GitHub

มันจะเป็นการดีที่สุดที่จะโคลนที่เก็บและรวบรวมไบนารี

หากต้องการใช้ไบนารีที่รวบรวมไว้ล่วงหน้าจาก repo เดียวกัน:

curl -L https://raw.githubusercontent.com/andrew-d/static-binaries/master/binaries/linux/x86_64/nano > /opt/bin/nano
chmod +x /opt/bin/nano
nano --version
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.