apt-mirror와 유사하게 funtoo를 오프라인으로 사용하기 위한 모든 소프트웨어(funtoo git 저장소)를 다운로드하는 방법

apt-mirror와 유사하게 funtoo를 오프라인으로 사용하기 위한 모든 소프트웨어(funtoo git 저장소)를 다운로드하는 방법

저는 보트에서 일하기 때문에 물에 나가면 인터넷을 사용할 수 없습니다. 내 생각은 오프라인에서도 소프트웨어를 설치할 수 있도록 전체 Git 저장소를 복제하는 것입니다. 저는 데비안에서 apt-mirror를 사용하고 있는데 훌륭하게 작동합니다. 나는 젠투에서도 비슷한 일을 하길 바라고 있습니다.

답변1

저는 funtoo에 대해 잘 모르지만 Gentoo와 비슷하다고 생각합니다.

당신이 직면하게 될 주요 문제는 gentoo/funtoo 저장소가 소스 코드를 거의 저장하지 않고 메타데이터(다운로드 위치를 알려주는)만 저장한다는 것입니다. 오프라인 상태에서는 소스 코드 없이 프로그램을 설치할 수 없습니다.

다행스럽게도 포티지는 프로그램 소스 코드(또는 데이터)를 얻을 수 있으므로 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

이것은 완전한 해결책은 아니지만 이를 수행하는 방법에 대한 아이디어를 제공하기를 바랍니다.

관련 정보