1 |
Dnia ¶roda, 11 pa¼dziernika 2006 06:21, Anthony E. Caudel napisa³: |
2 |
> I have been using Gentoo for more than 2 years now and have always |
3 |
> wondered (but never asked - That's the "dumb" part) how Gentoo manages |
4 |
> to update a package that happens to be running at the time. |
5 |
> |
6 |
> Given that the old version (the one running) is deleted, how does it |
7 |
> manage to keep standing if you just cut its legs off? |
8 |
> |
9 |
> I've never seen this discussed anywhere which probably means everyone |
10 |
> else already knows and are probably thinking to themselves, "Dumb |
11 |
> question." |
12 |
|
13 |
Observe CAREFULLY sequence of operations during emerge. It doesn't remove old |
14 |
package and install new ones. It installs the new one over the old and then |
15 |
removes unnecessary remains. |
16 |
|
17 |
It may overwrite file in use due to the way Unices handle file management. On |
18 |
Windows you can't delete open file. On Unix you can, and process keeping file |
19 |
open won't usually notice that. Moreover, as long as the file is open, its |
20 |
data isn't removed from disk. Once the process closes it, it is physically |
21 |
removed - not sooner. |
22 |
|
23 |
So after overwriting file (library, application) currently running |
24 |
applications (having it open) will still have access to old version and each |
25 |
newly run application will use the new one. |
26 |
|
27 |
Which in turn means - yes, you need to 'power cycle' application to use new |
28 |
libraries or new version of executable. |
29 |
|
30 |
-- |
31 |
Pawel Kraszewski |
32 |
www.kraszewscy.net |
33 |
|
34 |
-- |
35 |
gentoo-user@g.o mailing list |