Apakah ada cara untuk menginstal Nano di CoreOS?

30

CoreOS tidak termasuk manajer paket tetapi editor teks pilihan saya adalah Nano, bukan vi atau vim. Apakah ada cara untuk mengatasi ini?

gcc tidak tersedia sehingga tidak mungkin untuk dikompilasi dari sumber:

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

Untuk menempatkan ini dalam konteks, saya mengikuti panduan ini ketika saya menemukan saya ingin menggunakan Nano

codecowboy
sumber
3
Bukankah inti dari CoreOS yang Anda benar-benar tidak lakukan pada OS itu sendiri selain memulai wadah?
jordanm
1
Ya tetapi jika saya mungkin perlu membuat dan mengedit file dockerfile atau konfigurasi lainnya
codecowboy
2
Kasus penggunaan yang dimaksudkan untuk coreos adalah bahwa Anda mengedit file buruh pelabuhan Anda di workstation Anda dan mendorong ke coreos dengan armada. Tidak perlu terhubung ke mesin itu sendiri.
Spuder
1
Tim CoreOs (melalui twitter) menuntun saya ke dokumentasi ini yang menyarankan saya untuk menginstal dan menggunakan Nano jika itu yang ingin saya lakukan, terlepas dari apakah saya harus
codecowboy
1
AFAIK, Anda masih perlu mengedit file unit pada CoreOS (tolong buktikan saya salah).
Dan Esparza

Jawaban:

56

Untuk melakukan ini pada kotak CoreOS, ikuti petunjuk dari panduan di sini :

  1. Boot kotak CoreOS dan hubungkan sebagai corepengguna
  2. Jalankan /bin/toolboxperintah untuk memasuki wadah stok Fedora.
  3. Instal perangkat lunak apa pun yang Anda butuhkan. Untuk menginstal nano dalam hal ini, akan sesederhana melakukan dnf -y install nano(dnf telah menggantikan yum)
  4. Gunakan nano untuk mengedit file. "Tapi tunggu - aku dalam wadah!" Jangan khawatir - sistem file host dipasang pada /media/rootsaat di dalam wadah. Jadi simpan saja file teks contoh di /media/root/home/core/test.txt, lalu exitwadah, dan akhirnya daftarkan file-file tersebut /home/core. Perhatikan file test.txt Anda?

Jika ada bagian dari ini yang terlalu samar atau membingungkan, silakan ajukan pertanyaan lanjutan. :-)

Dan Esparza
sumber
7

Walaupun jawaban Dan pada dasarnya benar, tampaknya yum tidak berfungsi lagi dalam instalasi CoreOS terbaru (diinstal kemarin dari coreos_production_vmware_ova.ova terbaru dari http://stable.release.core-os.net/amd64-usr/ saat ini menjadi Workstation VMWare di Windows).

Perintah yum yang dikutip dibatalkan pada akhirnya. Jadi gantilah langkah (3) dengan perintah

/usr/bin/dnf install nano

yang berhasil menginstal nano dalam wadah fedora.

Lakukan pengeditan Anda dengan nano di dalam wadah fedora ini (dapat diakses dari prompt CoreOS oleh / bin / toolbox), sambil mematuhi saran pemasangan pos Dan. Meninggalkan wadah fedora dapat dilakukan dengan perintah 'keluar'.

Heri
sumber
5

Ada opsi yang lebih sederhana yang saya temukan di posting reddit

Pertama-tama sambungkan sebagai corepengguna dan kemudian, pastikan /opt/binada ( sudo mkdir -p /opt/bin) sebelum menjalankan perintah berikut:

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

Semoga /opt/binsudah ada di PATHbegitu segera setelah itu bekerja, Anda akan nanotersedia.

rels
sumber
Ini adalah satu-satunya saran yang bekerja untuk sistem daripada hanya di dalam wadah buruh pelabuhan. Juga tips lain menyarankan untuk mengunduhnya dari googlecode.com yang tidak lagi menghostingnya.
Alan
Perintah di atas tidak berfungsi lagi dengan archlinux / base saat ini. Saya mencoba melakukan hal yang sama dengan mengekstrak nano binary dari distro lain, tetapi ini juga tidak berfungsi dan seharusnya tidak berfungsi, karena nano tidak terhubung secara statis.
ChrisW
3

CoreOS didasarkan pada ChromeOS, jadi saya kira instruksi untuk ChromeOS seharusnya berfungsi. Sebagai contoh, instruksi untuk menginstal Nano di Chrome adalah:

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

Source Gist: https://gist.github.com/alex-endfinger/1510908

shivams
sumber
1
Ini adalah saran yang bagus, tetapi / user / bin dilindungi penulisan pada CoreOS, dan nanotidak berjalan, bahkan dari / tmp / nano
Dan Esparza
Ini juga tidak berfungsi lagi, karena tautan binernya mati.
ChrisW
1
Apakah Anda yakin ini didasarkan pada ChromeOS?
Kode Bling
0

Sementara pendekatan toolbox adalah yang paling tepat untuk sebagian besar, saya sedang mencari biner yang bisa saya jalankan di / opt / bin.

Tautan ini GitHub - andrew-d / static-binaries: Berbagai alat * nix yang dibuat sebagai binari yang terhubung secara statis memiliki Dockerfile dan skrip untuk menyusun versi biner statis nano pada Debian yang akan bekerja pada CoreOS.

static-binaries / nano at master · andrew-d / static-binaries · GitHub

Akan lebih baik untuk mengkloning repositori dan mengkompilasi biner.

Untuk menggunakan biner pra-kompilasi dari repo yang sama:

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
ChrisW
sumber