La construction du système final n'installe pas de client FTP ou HTTP pour télécharger des fichiers.
Parmi les clients suggérés, on a :
LFTP http://lftp.yar.ru/
NcFTP Client http://cblfs.cross-lfs.org/index.php/Ncftp
BASH - Un utilisateur peut utiliser les redirections net (si elles ne sont pas désactivées au moment de la construction de bash dans le système final) pour télécharger wget ou un autre programme.
cat > download.sh << "EOF" #!/bin/bash WGET_VERSION='1.14' WGET_HOSTNAME='ftp.gnu.org' exec {HTTP_FD}<>/dev/tcp/${WGET_HOSTNAME}/80 echo -ne "GET /gnu/wget/wget-${WGET_VERSION}.tar.xz HTTP/1.1\r\nHost: "\ ${WGET_HOSTNAME}'\r\nUser-Agent: '\ 'bash/'${BASH_VERSION}'\r\n\r\n' >&${HTTP_FD} sed -e '1,/^.$/d' <&${HTTP_FD} >wget-${WGET_VERSION}.tar.xz EOF
GAWK
cat > gawkdl.sh << "EOF" #!/bin/bash gawk 'BEGIN { NetService = "/inet/tcp/0/mirror.anl.gov/80" print "GET /pub/gnu/wget/wget-1.14.tar.xz" |& NetService while ((NetService |& getline) > 0) print $0 close(NetService) }' > binary gawk '{q=p;p=$0}NR>1{print q}END{ORS = ""; print p}' binary > wget-1.14.tar.xz rm binary EOF
PERL avec HTTP::Tiny (Inclus dans l'installation de PERL du système final).
cat > download.pl << "EOF" #!/usr/bin/perl use HTTP::Tiny; my $http = HTTP::Tiny->new; my $response; $response = $http->mirror('http://ftp.gnu.org/gnu/wget/wget-1.14.tar.xz', 'wget-1.14.tar.xz'); die "Failed!\n" unless $response->{success}; print "Unchanged!\n" if $response->{status} eq '304'; EOF
Ou utilisez ceci :
perl -MHTTP::Tiny -E 'say HTTP::Tiny->new->get(shift)->{content}' "http://ftp.gnu.org/gnu/wget/wget-1.14.tar.xz" > binary perl -e 'local $/; $_ = <>; s/\n$//; print' binary > wget-1.14.tar.xz rm binary
PERL avec LWP : lancez cpan et configurez à la main le client. Lancez install LWP dans le shell CPAN.
Référez-vous à http://www.bioinfo-user.org.uk/dokuwiki/doku.php/projects/wgetpl concernant wgetpl.