Có cách nào để cài đặt Nano trên CoreOS không?


30

CoreOS không bao gồm trình quản lý gói nhưng trình soạn thảo văn bản ưa thích của tôi là Nano, không phải vi hoặc vim. Có cách nào để khắc phục điều này?

gcc không có sẵn nên không thể biên dịch từ nguồn:

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

Để đặt điều này trong bối cảnh, tôi đã làm theo hướng dẫn này khi tôi thấy tôi muốn sử dụng Nano


3
Không phải vấn đề của CoreOS là bạn thực sự không làm gì trên hệ điều hành ngoài việc bắt đầu các container?
jordanm

1
Có nhưng nếu tôi có thể cần tạo và chỉnh sửa dockerfile hoặc tệp cấu hình khác
codecowboy

2
Trường hợp sử dụng dự định cho coreos là bạn chỉnh sửa tệp docker trên máy trạm của bạn và đẩy lên coreos với đội tàu. Không cần kết nối với máy.
spuder 15/05/2015

1
Nhóm CoreOs (thông qua twitter) đã dẫn tôi đến tài liệu này cho thấy có thể cài đặt và sử dụng Nano nếu đó là điều tôi muốn làm, bất kể tôi có nên
codecowboy

1
AFAIK, bạn vẫn cần chỉnh sửa các tệp đơn vị trên CoreOS (vui lòng chứng minh tôi sai).
Dan Esparza

Câu trả lời:


56

Để thực hiện việc này trên hộp CoreOS, hãy làm theo các gợi ý từ hướng dẫn tại đây :

  1. Khởi động hộp CoreOS và kết nối với tư cách corengười dùng
  2. Chạy /bin/toolboxlệnh để vào container Fedora chứng khoán.
  3. Cài đặt bất kỳ phần mềm nào bạn cần. Để cài đặt nano trong trường hợp này, nó sẽ đơn giản như thực hiện dnf -y install nano(dnf đã thay thế yum)
  4. Sử dụng nano để chỉnh sửa tập tin. "Nhưng đợi đã - Tôi đang ở trong một container!" Đừng lo lắng - hệ thống tệp của máy chủ được gắn vào /media/rootkhi bên trong container. Vì vậy, chỉ cần lưu một tệp văn bản mẫu tại /media/root/home/core/test.txt, sau đó exitlà thùng chứa, và cuối cùng đi đến danh sách các tệp trong /home/core. Lưu ý tập tin test.txt của bạn?

Nếu bất kỳ phần nào trong số này quá khó hiểu hoặc khó hiểu, vui lòng đặt câu hỏi tiếp theo. :-)


7

Trong khi câu trả lời của Dan về cơ bản là đúng, dường như yum không làm việc nữa trong quá trình cài đặt CoreOS mới nhất (cài đặt ngày hôm qua từ coreos_production_vmware_ova.ova mới nhất từ http://stable.release.core-os.net/amd64-usr/ hiện tại vào một máy trạm VMWare trên Windows).

Lệnh yum được trích dẫn hủy bỏ ở cuối. Vì vậy, thay thế bước (3) bằng lệnh

/usr/bin/dnf install nano

trong đó cài đặt thành công nano trong thùng chứa fedora.

Thực hiện các chỉnh sửa của bạn với nano bên trong thùng chứa fedora này (có thể truy cập từ dấu nhắc của CoreOS bằng / bin / hộp công cụ), đồng thời tuân theo lời khuyên gắn kết của bài đăng của Dan. Rời khỏi container fedora có thể được thực hiện bằng lệnh 'exit'.


5

Có một tùy chọn đơn giản hơn mà tôi tìm thấy trên một bài đăng reddit

Đầu tiên kết nối với tư cách là corengười dùng và sau đó, đảm bảo /opt/bintồn tại ( sudo mkdir -p /opt/bin) trước khi thực hiện lệnh sau:

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

Hy vọng /opt/binlà đã có PATHngay sau khi nó hoạt động, bạn sẽ có nanosẵn.


Đây là gợi ý duy nhất hoạt động cho hệ thống thay vì chỉ bên trong một container docker. Ngoài ra các mẹo khác đề nghị tải xuống từ googlecode.com mà không còn lưu trữ nó.
Alan

Lệnh trên không hoạt động nữa với archlinux / base hiện tại. Tôi đã thử làm điều tương tự bằng cách trích xuất nhị phân nano từ một bản phân phối khác, nhưng điều này cũng không hoạt động và không nên hoạt động, vì nano không được liên kết tĩnh.
ChrisW

3

CoreOS dựa trên ChromeOS, vì vậy tôi đoán hướng dẫn cho ChromeOS sẽ hoạt động. Ví dụ: hướng dẫn cài đặt Nano trên Chrome là:

#!/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 

Nguồn chính: https://gist.github.com/alex-endfinger/1510908


1
Đây là một đề xuất tốt, nhưng / user / bin được bảo vệ ghi trên CoreOS và nanokhông chạy, ngay cả từ / tmp / nano
Dan Esparza

Điều này cũng không hoạt động nữa, vì liên kết nhị phân đã chết.
ChrisW

1
Bạn có chắc chắn nó dựa trên ChromeOS?
Mã Bling

0

Mặc dù cách tiếp cận hộp công cụ là chính xác đối với hầu hết, tôi đã tìm kiếm một nhị phân mà tôi có thể chạy trong / opt / bin.

Liên kết này GitHub - andrew-d / static-nhị phân: Các công cụ * nix khác nhau được xây dựng dưới dạng nhị phân liên kết tĩnh có Dockerfile và tập lệnh để biên dịch phiên bản nano nhị phân tĩnh trên Debian sẽ hoạt động trên CoreOS.

nhị phân tĩnh / nano tại master · andrew-d / static-nhị phân · GitHub

Tốt nhất là sao chép kho lưu trữ và biên dịch nhị phân.

Để sử dụng nhị phân được biên dịch trước từ cùng một 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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.