web-dev-qa-db-ja.com

CoreOSにNanoをインストールする方法はありますか?

CoreOSにはパッケージマネージャーは含まれていませんが、私の推奨するテキストエディターはviやvimではなくNanoです。これを回避する方法はありますか?

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

これをコンテキストで説明するために、Nanoを使用したいと思ったとき、私は このガイド に従っていました

34
codecowboy

CoreOSボックスでこれを行うには、 ここのガイド のヒントに従います。

  1. CoreOSボックスを起動し、coreユーザーとして接続します
  2. /bin/toolboxコマンドを実行して、標準のFedoraコンテナに入ります。
  3. 必要なソフトウェアをインストールします。この場合nanoをインストールするには、dnf -y install nanoを実行するのと同じくらい簡単です(yumがdnfに置き換えられました)
  4. Nanoを使用してファイルを編集します。 「でも待ってください。私はコンテナにいます!」心配しないでください。ホストのファイルシステムは、コンテナ内の/media/rootにマウントされます。したがって、サンプルテキストファイルを/media/root/home/core/test.txtに保存し、次にexitをコンテナに保存して、最後に/home/coreにファイルをリストします。 test.txtファイルに注意してください。

これのいずれかの部分が不可解または混乱している場合は、フォローアップの質問をしてください。 :-)

59
Dan Esparza

Danの答えは基本的に正しいですが、yumは最新のCoreOSインストール( http://stable.release.core-os.net/ AMD64-usr/current Windows上のVMWare Workstationに)。

引用されたyumコマンドは最後に中止されます。ステップ(3)を次のコマンドに置き換えます

/usr/bin/dnf install nano

fedoraコンテナーにnanoを正常にインストールします。

Danの投稿の実装に関するアドバイスに従って、このFedoraコンテナー(/ bin/toolboxでCoreOSプロンプトからアクセス可能)内のnanoで編集を行います。 Fedoraコンテナーを終了するには、「exit」コマンドを使用します。

7
Heri

reddit post で見つけた簡単なオプションがあります

最初に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が利用可能になります。

5
rels

CoreOSはChromeOSに基づいているので、ChromeOSの手順は機能するはずです。例として、Chrome=にNanoをインストールする手順は次のとおりです。

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

ソースの要旨: https://Gist.github.com/alex-endfinger/1510908

3
shivams

ほとんどの場合、ツールボックスアプローチが適切ですが、/ opt/binで実行できるバイナリを探していました。

このリンク GitHub-andrew-d/static-binaries:静的にリンクされたバイナリとして構築されたさまざまな* nixツール には、Dockerfileと、CoreOSで動作するDebianでnanoの静的バイナリバージョンをコンパイルするためのスクリプトがあります。

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

リポジトリのクローンを作成し、バイナリをコンパイルすることをお勧めします。

同じリポジトリからプリコンパイルされたバイナリを使用するには:

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