Topic: A question that demands an answer, I guess...
Without getting too emotional about it, I'd just like to ask, what others think about the following situation.
1. Today I ran "sudo apt-get update", to install an xml editor, quanta.
2.
E: Dynamic MMap ran out of room. Please increase the size of APT::Cache-Limit. Current value: 38797312. (man 5 apt.conf)3. Being hinted with man 5 apt.conf I ran that.
4. Skimming the manual... manual too long, found nothing. Minutes gone.
5. Learning to highlight patterns in a manual, reskimming and finding the following:
Cache-Start, Cache-Grow and Cache-Limit
APT uses since version 0.7.26 a resizable memory mapped cache file to store
the 'available' information. Cache-Start acts as a hint to which size the
Cache will grow and is therefore the amount of memory APT will request at
startup. The default value is 20971520 bytes (~20 MB). Note that these amount
of space need to be available for APT otherwise it will likely fail
ungracefully, so for memory restricted devices these value should be lowered
while on systems with a lot of configured sources this might be increased.
Cache-Grow defines in byte with the default of 1048576 (~1 MB) how much the
Cache size will be increased in the event the space defined by Cache-Start is
not enough. These value will be applied again and again until either the
cache is big enough to store all information or the size of the cache reaches
the Cache-Limit. The default of Cache-Limit is 0 which stands for no limit.
If Cache-Grow is set to 0 the automatic grow of the cache is disabled.6. I've been through the manual 2 times with "cache" highlighted and couldn't find how to increase it. I also found something else in Chinese about directories, but I still don't see the file to be edited:
DIRECTORIES
The Dir::State section has directories that pertain to local state information.
lists is the directory to place downloaded package lists in and status is the
name of the dpkg status file. preferences is the name of the APT preferences
file. Dir::State contains the default directory to prefix on all sub items if
they do not start with / or ./.
Dir::Cache contains locations pertaining to local cache information, such as the
two package caches srcpkgcache and pkgcache as well as the location to place
downloaded archives, Dir::Cache::archives. Generation of caches can be turned off
by setting their names to be blank. This will slow down startup but save disk
space. It is probably preferred to turn off the pkgcache rather than the
srcpkgcache. Like Dir::State the default directory is contained in Dir::Cache
Dir::Etc contains the location of configuration files, sourcelist gives the
location of the sourcelist and main is the default configuration file (setting
has no effect, unless it is done from the config file specified by APT_CONFIG).
The Dir::Parts setting reads in all the config fragments in lexical order from
the directory specified. After this is done then the main config file is loaded.
Binary programs are pointed to by Dir::Bin. Dir::Bin::Methods specifies the
location of the method handlers and gzip, bzip2, lzma, dpkg, apt-get dpkg-source
dpkg-buildpackage and apt-cache specify the location of the respective programs.
The configuration item RootDir has a special meaning. If set, all paths in Dir::
will be relative to RootDir, even paths that are specified absolutely. So, for
instance, if RootDir is set to /tmp/staging and Dir::State::status is set to
/var/lib/dpkg/status, then the status file will be looked up in
/tmp/staging/var/lib/dpkg/status.
The Ignore-Files-Silently list can be used to specify which files APT should
silently ignore while parsing the files in the fragment directories. Per default
a file which end with .disabled, ~, .bak or .dpkg-[a-z]+ is silently ignored. As
seen in the last default value these patterns can use regular expression syntax.Skimming for something useful vainly another 5-10 minutes have already have gone by. Granted, I just learnt how to search for patterns in a manual, but I'm still stuck.
7. Tik-tak. Running apt-clean command in the hopes that something residual gets freed-up and current limit will be sufficient upon new attempt.
8. Meanwhile googling for solution.
9. Experimenting with apt-clean fails, running apt-get update again wastes another 3 minutes, and I still can't install what I need.
10. editing /etc/apt/apt.conf, filename finally found on a blog.
12. starting to write this post so that I have an idea of where my time is going this time.
trying to find an appropriate subsection, going through the manual for pastes, etc, etc. Somehow another 15 minutes are gone.
13. noticing that I misspelled my sudo password so it's still not updated.
14. installing package - running into broken depencies
15. googling for solution a pop-up window freezez up iceweasel,
16. experiencing panic over loosing the post, getting up to get a glass of water
17. getting back to the computer, finding terminator gone,
18. running apt-get clean all
19. running apt-get autoremove - cursor starts skipping: apt-get is reading 6MB/s from local drive. Stuck for another 2 minutes.
20. Deciding to post before loosing the post.
Last edited by crunchworksyeay (2012-01-25 11:57:00)