管理者権限を持たないdebian linuxシステムに、最新のGNU utils(coreutils)をインストールしたいと思います。それを行う方法はありますか?
その理由は、分析を実行する予定のシステムにインストールされているものよりも新しいバージョンが必要だからです。「sort -R」または「shuf」を使用して、大きなテキストファイルの行をランダム化しようとしています。
管理者権限を持たないdebian linuxシステムに、最新のGNU utils(coreutils)をインストールしたいと思います。それを行う方法はありますか?
その理由は、分析を実行する予定のシステムにインストールされているものよりも新しいバージョンが必要だからです。「sort -R」または「shuf」を使用して、大きなテキストファイルの行をランダム化しようとしています。
回答:
システムのすべてのユーザーに対して既存のものを上書きするという意味ではインストールできませんが、コンパイルしてホームディレクトリにインストールしPATH
、システムの代わりに実行されるように構成することができます。
そのためには、GNU Webサイトからcoreutilsの最新バージョンをダウンロードします。次に、アーカイブを抽出してアーカイブに保存しcd
、次のコマンドを実行してコンパイルしてインストールします。--prefix
インストールするディレクトリを設定できるスイッチに注意してください。
./configure --prefix=/home/avilella/coreutils/
make
make install
ほとんどのDebianシステムは~/bin
、PATH に自動的に追加されるように構成されています。その場合、ユーティリティをそのディレクトリにコピーできます。ただし、システムディレクトリを検索する前にそのディレクトリから実行可能ファイルを実行するように設定されていない場合があります。または、独自のディレクトリに保存することをお勧めします。その場合、~/.profile
システムのディレクトリを検索する前に、ディレクトリを検索するように編集する必要があります。これを行うには、次のような行を追加します。
PATH="$HOME/coreutils/bin:$PATH"
コンパイルしたくない場合ar vx
は、.deb
ファイルを使用data.tar.gz
してパッケージの内容を含むtarball を出力することにより、新しいDebianパッケージから抽出することもできます。ただし、新しいパッケージには、システムに存在しない新しいライブラリが必要になる場合があります。
PATH=...
、二重引用符を使用するか、引用符を使用しないでください。単一引用符を使用すると、リテラルの原因になります$HOME
し、$PATH
むしろそれらの値よりも、挿入されるように。