How to Pre-Invoke {"mount -o remount,rw /usr";}; with /etc/apt/apt.conf?
I tried to change the Pre-Invoke and Post-Invoke lines of /etc/apt/apt.conf so
that it would pre mount and post mount my /usr which is normally mounted ro,
but failed.
How should I do it correctly?
[02:55:56 /tmp]$ cat /etc/apt/apt.conf
// Options for APT in general
APT
{
Architecture "i386";
// Options for apt-get
Get
{
Download-Only "false";
Simulate "false";
Assume-Yes "false";
Force-Yes "false"; // I would never set this.
Fix-Broken "false";
Fix-Missing "false";
Show-Upgraded "false";
No-Upgrade "false";
Print-URIs "false";
Compile "false";
No-Download "false";
Purge "false";
List-Cleanup "true";
};
Cache
{
Important "false";
};
// Some general options
Ignore-Hold "false";
Immediate-Configure "true"; // DO NOT turn this off, see the man page
Force-LoopBreak "false"; // DO NOT turn this on, see the man page
};
// Options for the downloading routines
Acquire
{
Queue-Mode "host"; // host|access
Retries "0";
Source-Symlinks "true";
// HTTP method configuration
http
{
Proxy "http://Proxy.israsrv.net.il:8080";
Timeout "120";
// Cache Control. Note these do not work with Squid 2.0.2
No-Cache "false";
Max-Age "86400"; // 1 Day age on index files
No-Store "false"; // Prevent the cache from storing archives
};
// FTP method configuration
ftp
{
Proxy "ftp://Proxy.israsrv.net.il:8080";
Timeout "120";
ProxyLogin
{
"USER anonymous@ftp.tau.ac.il:21";
"PASS shaulk@israsrv.net.il";
};
/* Passive mode control, proxy, non-proxy and per-host. Pasv mode
is prefered if possible */
Passive "true";
};
// Directory layout
Dir
{
// Location of the state dir
State "/var/state/apt/"
{
lists "lists/";
xstatus "xstatus";
userstatus "status.user";
status "/var/lib/dpkg/status";
cdroms "cdroms.list";
};
// Location of the cache dir
Cache "/var/cache/apt/" {
archives "archives/";
srcpkgcache "srcpkgcache.bin";
pkgcache "pkgcache.bin";
};
// Config files
Etc "/etc/apt/" {
sourcelist "sources.list";
main "apt.conf";
};
// Locations of binaries
Bin {
methods "/usr/lib/apt/methods/";
gzip "/bin/gzip";
dpkg "/usr/bin/dpkg";
dpkg-source "/usr/bin/dpkg-source";
dpkg-buildpackage "/usr/bin/dpkg-buildpackage"
apt-get "/usr/bin/apt-get";
apt-cache "/usr/bin/apt-cache";
};
};
// Things that effect the APT dselect method
DSelect
{
Clean "auto"; // always|auto|prompt|never
Options "-f";
UpdateOptions "";
PromptAfterUpdate "no";
}
DPkg
{
// Probably don't want to set this one.
Options {"--force-downgrade";}
// Auto re-mounting of a readonly /usr
Pre-Invoke {"mount -o remount,rw /usr";};
Post-Invoke {"mount -o remount,ro /usr";};
// Prevents daemons from getting cwd as something mountable (default)
Run-Directory "/";
// Build options for apt-get source --compile
Build-Options "-b -uc";
}
/* Options you can set to see some debugging text They corrispond to names
of classes in the source code */
Debug
{
pkgProblemResolver "false";
pkgAcquire "false";
pkgAcquire::Worker "false";
pkgDPkgPM "false";
pkgInitialize "false"; // This one will dump the configuration space
NoLocking "false";
Acquire::Ftp "false"; // Show ftp command traffic
aptcdrom "false"; // Show found package files
}
// Pre-configure all packages before they are installed.
DPkg::Pre-Install-Pkgs {"dpkg-preconfig --apt";};
[02:56:49 /tmp]$
Reply to: