Back up your applications
(→Scenario) |
(→Second Step) |
||
Line 27: | Line 27: | ||
In case you just want to download some packages of that list, you should edit it and remove the lines you do not need. | In case you just want to download some packages of that list, you should edit it and remove the lines you do not need. | ||
- | + | We are going to show you an easy way to do that. Let us suppose that you just want to download a copy of the package ''abiword'', then you should: | |
*As a normal user type the following command: | *As a normal user type the following command: | ||
<pre>$ cat /home/user/package.list|grep abiword>package-abiword.list</pre> | <pre>$ cat /home/user/package.list|grep abiword>package-abiword.list</pre> |
Revision as of 14:37, 23 December 2009
Contents |
Scenario
Let us suppose that you are using a very special application. It may be possible that after a long time of use, the repository from where you downloaded your application is not available any more. It may also be possible that, after a long use, something happened to your device, and you need to reinstall your favorite application.
We are going to explain you a way to keep a copy of the DEB package of your favorite application, so that you can install it again even if the package is not available any more from the repositories.
WARNING: Downloading deb files for all the installed packages may cause the root file-system to be exhausted thereby "bricking" the device. Proceed with caution.
Needed Tools and Skills
To follow this tutorial, you need some tools and skills. You need:
- Terminal emulator
- Root access
- VI editor
First Step
- Open a terminal emulator
- As a normal user type the following command:
$ dpkg --get-selections|grep install|grep -v deinstall>/home/user/package.list
Second Step
After the previous step, you will have a list with all packages installed on your device.
In case you just want to download some packages of that list, you should edit it and remove the lines you do not need.
We are going to show you an easy way to do that. Let us suppose that you just want to download a copy of the package abiword, then you should:
- As a normal user type the following command:
$ cat /home/user/package.list|grep abiword>package-abiword.list
Let us suppose that you want to download all packages, except one of them: debconf, for example. Then you should:
- As a normal user type the following command:
$ cat /home/user/package.list|grep -v debconf>package-without-debconf.list
Third (and Last) Step
After previous steps, you have a list with all the desired packages you want to download to your device. In our previous examples this list could be any one of these:
- package.list
- package-abiword.list
- package-without-debconf.list
Now you just need to edit this list in order to use it with apt-get:
- As a normal user type the following command:
$ vi /home/user/package.list
- After vi editor is running, then type the following command:
:%s!install!!
- This last command will clean the lines, removing the word install and leaving just the name of the packages. Now we want to add an order for apt-get to download the desired packages, so type the following command:
:%s!^!apt-get --force-yes -yy -d install --reinstall !
- This last command will add to the beginning of each line the needed instructions for apt-get to only download the packages: -d install --reinstall. To prevent the script from stopping at any question we have inserted the --force-yes -yy option. Now we just need to save the file typing the following command:
ZZ
- To execute the script we need first to get ROOT access.
- Then as ROOT type the following command:
# sh</home/user/package.list
It is done. All desired packages have been downloaded and can be listed with the following command:
$ ls /var/cache/apt/archives|grep deb
Further Questions
If you have further questions, do not hesitate to place the question here in this section, and it will be answered in short.