Put a suitable wget executable in /usr/bin (or /usr/local/bin), and use
/usr/bin/wget -nc .....
Depending on what the target is, you might have to cross-compile and/or
link statically; for example on the machine I'm typing this on (Ubuntu
8.04LTS) wget pulls in a lot of .so's that might or might not be
available on the target:
$ ldd `which wget`
linux-gate.so.1 => (0xb7728000)
libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb770b000)
librt.so.1 => /lib/tls/i686/cmov/librt.so.1 (0xb7702000)
libssl.so.0.9.8 => /usr/lib/i686/cmov/libssl.so.0.9.8 (0xb76bc000)
libcrypto.so.0.9.8 => /usr/lib/i686/cmov/libcrypto.so.0.9.8 (0xb757a000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb742b000)
/lib/ld-linux.so.2 (0xb7729000)
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7413000)
libz.so.1 => /usr/lib/libz.so.1 (0xb73fe000)
$
-j
or much advanced command tool if it's exist on your sys
apt-get install mypackage
hope this helps, Habib
Elsethread you mentioned the target has some flavor of Debian on it, but
not which version. Without that information, I can't point to a direct
link (not sure if there would be one even with it, but at least it would
point to the right repository).
Does the target have network communication, and can it talk to the
internet? If yes, the solution is as Habib mentioned, 'apt-get install
wget'. That will pull in any dependencies it needs.
If it doesn't have internet connectivity, you need to get the
appropriate wgetXXXX.deb, copy that to the target, and 'dpkg -i
wgetXXXX.deb'. That will probably complain about missing libraries, for
which you also have to find the .deb files.
Alternatively, if you have a development environment where you can
compile programs for the target (or if the target has gcc, make and
friends), you can compile it from source.
Or if you have a desktop set up with the same version Debian that runs
on the target (and the same arch) you can just copy /usr/bin/wget from
there.
-j
Hi !
I see you're not very familiar with Unix sys, no matter anyway. I see
also your target sys is connected to the internet and a therfore has a
IP adress (something like 192.168.1.55 or something), good point.
So please notice then your embedded target sys can be reached via a
telnet (or ssh) service from your host computer.
1/ Assuming you know your The IP adress of the target you can then
telnet to your embedded sys -> telnet "IP_ad" (password required)
1b/ Via ssh service --> ssh root@IP_ad (password required)
2/ Once you're logged-in make this in command line : "which apt-get"
the sys respons "/usr/bin/apt-get" which means that apt-get is present
on your target sys.
3/If so simply make this : apt-get install wget
which (as Jack said) resolve Libraries dependencies fot this particular
package wget
Presuming wget version MIPS repository is a more advanced version than
the one distributed within Busybox, that's all.
HTP, Habib.
Good. That means you can use the standard tools the come with the
distribution. Log in to the target using ssh (or telnet), using an
account with enough privileges to be able to do 'sudo'. Then do the
following:
sudo apt-get update
sudo apt-get install wget
It will ask for your password at least once. The first command refreshes
the indexes for the repository, the second installs wget and everything
it needs.
>
> Also I have one more question about what you stated in last post
>
> $ ldd `which wget`
> linux-gate.so.1 => (0xb7728000)
> libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb770b000)
> librt.so.1 => /lib/tls/i686/cmov/librt.so.1 (0xb7702000)
> libssl.so.0.9.8 => /usr/lib/i686/cmov/libssl.so.0.9.8 (0xb76bc000)
> libcrypto.so.0.9.8 => /usr/lib/i686/cmov/libcrypto.so.0.9.8 (0xb757a000)
> libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb742b000)
> /lib/ld-linux.so.2 (0xb7729000)
> libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7413000)
> libz.so.1 => /usr/lib/libz.so.1 (0xb73fe000)
> $
>
> With this how can I exactly get which package Is for my system. Can you please
> brief something (Actually I am new to linux and just want to learn as much as
> I
> can)
I saw you've found a way out using nohup, but for future reference:
The 'which foo' command searches your current path for an executable or
shell script - it tells you exactly what it would run if you just typed
'foo' on the command prompt.
The ldd command (see man ldd) shows which shared libraries (the unix
version of a .DLL) a particular executable needs to run. Combining the
two (the `` tell the shell to run 'which wget', and then to do the ldd
followed by the result of that) tells me which shared libraries my
default wget needs.
If you typed 'which wget' on your system, it will probably say something
like (Builtin) or nothing at all, whereas 'which sudo' would say
'/usr/bin/sudo'.
-j