web-dev-qa-db-ja.com

apt-mirrorに似たfuntooをオフラインで使用するために、すべてのソフトウェア(funtoo gitリポジトリ)をダウンロードするにはどうすればよいですか?

私は船で働いているので、一度海に出たらインターネットがありません。アイデアは、完全なgitリポジトリのクローンを作成して、問題がないときにソフトウェアをインストールできるようにすることです。私はdebianでapt-mirrorを使用しています。私はgentooと同じようなことをしたいと思っています。

3
Jasbir

Funtooについてはよくわかりませんが、Gentooに似ていると思います。

あなたが直面する主な問題は、gentoo/funtooリポジトリがソースコードを保存することはほとんどなく、メタデータ(ダウンロード先を教えてくれる)だけを保存することです。オフラインになると、ソースコードがないと、プログラムをインストールできません。

幸い、Portageではemerge -f <package>を介してプログラムのソースコード(またはデータ)をフェッチできるため、これを使用して、各ebuildのデータをフェッチできます。これには多くのスペースと時間がかかりますが、次の方法で行うことができます。

cd /usr/portage

# for every ebuild, convert its path into a valid atom name
find . -iname "*.ebuild" | sed -e 's_\./\([^/]\+\)/\([^/]\+\)/\(.*\).ebuild$_=\1/\3_g' > /tmp/all_ebuilds

# for every line of the file, start fetching the source code (or the data)
while read package; do emerge -f "$package"; done < /tmp/all_ebuilds

これは完全な解決策ではありませんが、それを行う方法についてのアイデアが得られることを願っています。

2
qdii