Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

How to Pre-Invoke {"mount -o remount,rw /usr";}; with /etc/apt/apt.conf?

104 views
Skip to first unread message

Shaul Karl

unread,
Nov 30, 1999, 3:00:00 AM11/30/99
to
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 anon...@ftp.tau.ac.il:21";
"PASS sha...@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]$


--
Unsubscribe? mail -s unsubscribe debian-us...@lists.debian.org < /dev/null

Ethan Benson

unread,
Nov 30, 1999, 3:00:00 AM11/30/99
to
On 30/11/99 Shaul Karl wrote:

>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?

it looks like you copied the example conf from /usr/share/doc you
should not use that as it is an example and not really suited for
real use.

i have:

DPkg
{
// Auto re-mounting of readonly /usr


Pre-Invoke {"mount -o remount,rw /usr";};
Post-Invoke {"mount -o remount,ro /usr";};
}

which always works for mounting rw but does not always work for
remounting ro because after install/upgrades for some reason mount
thinks /usr is busy and refuses to remount it read only. very
irritating especially since i have not found any files opened with
write permission with fuser...

dropping down to single user mode and coming back lets it remount
though, but this is less then convenient... at least it does not ruin
uptimes :-)

Ethan Benson
To obtain my PGP key: http://www.alaska.net/~erbenson/pgp/

Shaul Karl

unread,
Nov 30, 1999, 3:00:00 AM11/30/99
to
> On 30/11/99 Shaul Karl wrote:
>
> >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?
>
> it looks like you copied the example conf from /usr/share/doc you
> should not use that as it is an example and not really suited for
> real use.
>
> i have:
>
> DPkg
> {
> // Auto re-mounting of readonly /usr
> Pre-Invoke {"mount -o remount,rw /usr";};
> Post-Invoke {"mount -o remount,ro /usr";};
> }
>
> which always works for mounting rw but does not always work for
> remounting ro because after install/upgrades for some reason mount
> thinks /usr is busy and refuses to remount it read only. very
> irritating especially since i have not found any files opened with
> write permission with fuser...
>
> dropping down to single user mode and coming back lets it remount
> though, but this is less then convenient... at least it does not ruin
> uptimes :-)
>

Your lines are exactly as mine, aren't they? However I do not think that I have a problem similar to yours because remounting manually before and after apt-get runs is working.
Maybe some other setting in /etc/apt/apt.conf changes the behavior of these lines. Can you email me your /etc/apt/apt.conf?

Ethan Benson

unread,
Nov 30, 1999, 3:00:00 AM11/30/99
to

well yes the lines doing that are the same, however my apt.conf is
very light yours is very complex so I thought perhaps all that
complexity was messing things up.

[eb@plato eb]$ cat /etc/apt/apt.conf


DPkg
{
// Auto re-mounting of readonly /usr
Pre-Invoke {"mount -o remount,rw /usr";};
Post-Invoke {"mount -o remount,ro /usr";};

// Pre-configure all packages before they are installed.
Pre-Install-Pkgs {"dpkg-preconfig --apt";};
}

as for my busy /usr yes, that has nothing to do with apt as trying to
remount it readonly manually also fails, its probably some
braindamaged program being started/restarted leaving a file open with
write permission. (the xfs's tend to trigger this)

Ethan

Martin Dickopp

unread,
Nov 30, 1999, 3:00:00 AM11/30/99
to
On Tue, 30 Nov 1999, Shaul Karl wrote:

> i have:


>
> DPkg
> {
> // Auto re-mounting of readonly /usr
> Pre-Invoke {"mount -o remount,rw /usr";};
> Post-Invoke {"mount -o remount,ro /usr";};
> }
>

> which always works for mounting rw but does not always work for
> remounting ro because after install/upgrades for some reason mount
> thinks /usr is busy and refuses to remount it read only. very
> irritating especially since i have not found any files opened with
> write permission with fuser...

If you replace a program which is running, the old executable file
is not actually deleted until the last instance of the program has
terminated. Therefore the file system cannot be remounted read only.
If you kill or restart all such programs, you should be able to
remount /usr read only.

Martin


--
Martin Dickopp Email: dic...@pktw06.phy.tu-dresden.de
Inst. f. Kern- und Teilchenphysik, TU Dresden, 01062 Dresden, Germany
Office ASB E22 Phone +49-351-463-3107 Fax +49-351-463-3114

0 new messages