Bug#669583: OSError: [Errno 1] Operation not permitted

2012-04-23 Thread Michael Vogt
On Fri, Apr 20, 2012 at 04:11:16PM +0300, Teodor MICU wrote:
> 2012/4/20 Michael Vogt :
> > Sure, the setsid() call makes the process a session leader and removes
> > the controlling tty. The rational is that if you run
> > unattended-upgrades in a shell and then shutdown your tty goes away
> > and unattended-upgrades gets killed even if its in the middle of a
> > operation (like a upgrade). The unattended-upgrades-shutdown script is
> > there to avoid that and keep the system running long enough to finish
> > the upgrade - but for that unattended-upgrades must not be terminated
> > by the tty going away.
> 
> I think this protection is necessary only if U-A::Automatic-Reboot is
> set to "true", right? If affirmative, why not wait until u-a finish
> the pkgs upgrade and then do the reboot?

Thanks for your mail!

It protects against e.g. a user manually running unattended-upgrade in
a terminal and then someone shuting down the machine. In this case the
running unattended-upgades would get killed even if its in the middle
of the upgrade leaving the system in a bad state. It will also help if
cron does not put u-n into its own process-group (I don't know if it
will do that or not, but I assume it will) and on shutdown cron might
get killed and with it the running u-n. The goal is to keep u-n alive
and let the "unattended-upgrades-shutdown" script deal with stopping
it or waiting until its finished. Given that I think that cron puts it
into its own process group already its just a minor protection, but
AFAICT there are no downsides either :)

Cheers,
 Michael



-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#669583: OSError: [Errno 1] Operation not permitted

2012-04-20 Thread Teodor MICU
2012/4/20 Michael Vogt :
> Sure, the setsid() call makes the process a session leader and removes
> the controlling tty. The rational is that if you run
> unattended-upgrades in a shell and then shutdown your tty goes away
> and unattended-upgrades gets killed even if its in the middle of a
> operation (like a upgrade). The unattended-upgrades-shutdown script is
> there to avoid that and keep the system running long enough to finish
> the upgrade - but for that unattended-upgrades must not be terminated
> by the tty going away.

I think this protection is necessary only if U-A::Automatic-Reboot is
set to "true", right? If affirmative, why not wait until u-a finish
the pkgs upgrade and then do the reboot?

Thanks



-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#669583: OSError: [Errno 1] Operation not permitted

2012-04-20 Thread Michael Vogt
On Fri, Apr 20, 2012 at 12:57:29PM +0300, Teodor MICU wrote:
> 2012/4/20 Michael Vogt :
> > Thanks for your bugreport. I fixed that now. I guess in your case it
> > was already the session-leader for some reason (maybe because of
> > systemd?).
> 
> Yes, I use «systemd» but I don't know what being session-leader means.
> Most times u-a is run automatically by Cron, only when I check or
> debug some problem its run from a tty/pts console.
> 
> Just for my curiosity, can you shortly explain what problem does
> os.setsid() fix or avoid?

Sure, the setsid() call makes the process a session leader and removes
the controlling tty. The rational is that if you run
unattended-upgrades in a shell and then shutdown your tty goes away
and unattended-upgrades gets killed even if its in the middle of a
operation (like a upgrade). The unattended-upgrades-shutdown script is
there to avoid that and keep the system running long enough to finish
the upgrade - but for that unattended-upgrades must not be terminated
by the tty going away.

Cheers,
 Michael



--
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#669583: OSError: [Errno 1] Operation not permitted

2012-04-20 Thread Teodor MICU
2012/4/20 Michael Vogt :
> Thanks for your bugreport. I fixed that now. I guess in your case it
> was already the session-leader for some reason (maybe because of
> systemd?).

Yes, I use «systemd» but I don't know what being session-leader means.
Most times u-a is run automatically by Cron, only when I check or
debug some problem its run from a tty/pts console.

Just for my curiosity, can you shortly explain what problem does
os.setsid() fix or avoid?

Thanks



--
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#669583: OSError: [Errno 1] Operation not permitted

2012-04-20 Thread Michael Vogt
B1;3100;0cOn Fri, Apr 20, 2012 at 08:48:49AM +0300, Teodor wrote:
> Package: unattended-upgrades
> Version: 0.76.1
> Severity: grave
> Justification: renders package unusable
> 
> Hi,
> 
> The os.setsid() changes makes u-a abort on every invocation:
> | root@r2:~# unattended-upgrade
> | Traceback (most recent call last):
> |   File "/usr/bin/unattended-upgrade", line 913, in 
> | os.setsid()
> | OSError: [Errno 1] Operation not permitted
> | 
> | root@r2:~# unattended-upgrade --debug
> | Traceback (most recent call last):
> |   File "/usr/bin/unattended-upgrade", line 913, in 
> | os.setsid()
> | OSError: [Errno 1] Operation not permitted
> 
> Thanks

Thanks for your bugreport. I fixed that now. I guess in your case it
was already the session-leader for some reason (maybe because of
systemd?).

Cheers,
 Michael

> 
> -- System Information:
> Debian Release: wheezy/sid
>   APT prefers unstable
>   APT policy: (500, 'unstable'), (500, 'testing')
> Architecture: amd64 (x86_64)
> 
> Kernel: Linux 3.2.0-2-amd64 (SMP w/2 CPU cores)
> Locale: LANG=ro_RO.utf8, LC_CTYPE=ro_RO.utf8 (charmap=UTF-8)
> Shell: /bin/sh linked to /bin/dash
> 
> Versions of packages unattended-upgrades depends on:
> ii  apt0.9.1
> ii  apt-utils  0.9.1
> ii  debconf [debconf-2.0]  1.5.42
> ii  lsb-release4.1+Debian1
> ii  python 2.7.2-10
> ii  python-apt 0.8.4
> ii  ucf3.0025+nmu3
> 
> unattended-upgrades recommends no packages.
> 
> Versions of packages unattended-upgrades suggests:
> pn  bsd-mailx  
> 
> -- Configuration Files:
> /etc/apt/apt.conf.d/50unattended-upgrades changed:
> // Automatically upgrade packages from these origin patterns
> Unattended-Upgrade::Origins-Pattern {
> // Codename based matching:
> // This will follow the migration of a release through different
> // archives (e.g. from testing to stable and later oldstable).
> //  "o=Debian,n=squeeze";
> //  "o=Debian,n=squeeze-updates";
> //  "o=Debian,n=squeeze-proposed-updates";
> //  "o=Debian,n=squeeze,l=Debian-Security";
> // Archive or Suite based matching:
> // Note that this will silently match a different release after
> // migration to the specified archive (e.g. testing becomes the
> // new stable).
> "o=Debian,a=unstable";
> //  "o=Debian,a=stable";
> //  "o=Debian,a=stable-updates";
> //  "o=Debian,a=proposed-updates";
> "origin=Debian,archive=stable,label=Debian-Security";
> };
> // List of packages to not update
> Unattended-Upgrade::Package-Blacklist {
> //"vim";
> //"libc6";
> //"libc6-dev";
> //"libc6-i686";
> };
> // This option allows you to control if on a unclean dpkg exit
> // unattended-upgrades will automatically run 
> //   dpkg --force-confold --configure -a
> // The default is true, to ensure updates keep getting installed
> //Unattended-Upgrade::AutoFixInterruptedDpkg "false";
> // Split the upgrade into the smallest possible chunks so that
> // they can be interrupted with SIGUSR1. This makes the upgrade
> // a bit slower but it has the benefit that shutdown while a upgrade
> // is running is possible (with a small delay)
> //Unattended-Upgrade::MinimalSteps "true";
> // Install all unattended-upgrades when the machine is shuting down
> // instead of doing it in the background while the machine is running
> // This will (obviously) make shutdown slower
> //Unattended-Upgrade::InstallOnShutdown "true";
> // Send email to this address for problems or packages upgrades
> // If empty or unset then no email is sent, make sure that you
> // have a working mail setup on your system. A package that provides
> // 'mailx' must be installed.
> Unattended-Upgrade::Mail "root";
> // Set this value to "true" to get emails only on errors. Default
> // is to always send a mail if Unattended-Upgrade::Mail is set
> Unattended-Upgrade::MailOnlyOnError "true";
> // Do automatic removal of new unused dependencies after the upgrade
> // (equivalent to apt-get autoremove)
> Unattended-Upgrade::Remove-Unused-Dependencies "true";
> // Automatically reboot *WITHOUT CONFIRMATION* if a 
> // the file /var/run/reboot-required is found after the upgrade 
> //Unattended-Upgrade::Automatic-Reboot "false";
> // Use apt bandwidth limit feature, this example limits the download
> // speed to 70kb/sec
> //Acquire::http::Dl-Limit "70";
> 
> 
> -- debconf information:
> * unattended-upgrades/enable_auto_updates: true
> 
> 



-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#669583: OSError: [Errno 1] Operation not permitted

2012-04-19 Thread Teodor MICU
One important detail: I use «systemd», so this might not be a bug in U-A.

Thaks



--
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#669583: OSError: [Errno 1] Operation not permitted

2012-04-19 Thread Teodor
Package: unattended-upgrades
Version: 0.76.1
Severity: grave
Justification: renders package unusable

Hi,

The os.setsid() changes makes u-a abort on every invocation:
| root@r2:~# unattended-upgrade
| Traceback (most recent call last):
|   File "/usr/bin/unattended-upgrade", line 913, in 
| os.setsid()
| OSError: [Errno 1] Operation not permitted
| 
| root@r2:~# unattended-upgrade --debug
| Traceback (most recent call last):
|   File "/usr/bin/unattended-upgrade", line 913, in 
| os.setsid()
| OSError: [Errno 1] Operation not permitted

Thanks


-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=ro_RO.utf8, LC_CTYPE=ro_RO.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages unattended-upgrades depends on:
ii  apt0.9.1
ii  apt-utils  0.9.1
ii  debconf [debconf-2.0]  1.5.42
ii  lsb-release4.1+Debian1
ii  python 2.7.2-10
ii  python-apt 0.8.4
ii  ucf3.0025+nmu3

unattended-upgrades recommends no packages.

Versions of packages unattended-upgrades suggests:
pn  bsd-mailx  

-- Configuration Files:
/etc/apt/apt.conf.d/50unattended-upgrades changed:
// Automatically upgrade packages from these origin patterns
Unattended-Upgrade::Origins-Pattern {
// Codename based matching:
// This will follow the migration of a release through different
// archives (e.g. from testing to stable and later oldstable).
//  "o=Debian,n=squeeze";
//  "o=Debian,n=squeeze-updates";
//  "o=Debian,n=squeeze-proposed-updates";
//  "o=Debian,n=squeeze,l=Debian-Security";
// Archive or Suite based matching:
// Note that this will silently match a different release after
// migration to the specified archive (e.g. testing becomes the
// new stable).
"o=Debian,a=unstable";
//  "o=Debian,a=stable";
//  "o=Debian,a=stable-updates";
//  "o=Debian,a=proposed-updates";
"origin=Debian,archive=stable,label=Debian-Security";
};
// List of packages to not update
Unattended-Upgrade::Package-Blacklist {
//  "vim";
//  "libc6";
//  "libc6-dev";
//  "libc6-i686";
};
// This option allows you to control if on a unclean dpkg exit
// unattended-upgrades will automatically run 
//   dpkg --force-confold --configure -a
// The default is true, to ensure updates keep getting installed
//Unattended-Upgrade::AutoFixInterruptedDpkg "false";
// Split the upgrade into the smallest possible chunks so that
// they can be interrupted with SIGUSR1. This makes the upgrade
// a bit slower but it has the benefit that shutdown while a upgrade
// is running is possible (with a small delay)
//Unattended-Upgrade::MinimalSteps "true";
// Install all unattended-upgrades when the machine is shuting down
// instead of doing it in the background while the machine is running
// This will (obviously) make shutdown slower
//Unattended-Upgrade::InstallOnShutdown "true";
// Send email to this address for problems or packages upgrades
// If empty or unset then no email is sent, make sure that you
// have a working mail setup on your system. A package that provides
// 'mailx' must be installed.
Unattended-Upgrade::Mail "root";
// Set this value to "true" to get emails only on errors. Default
// is to always send a mail if Unattended-Upgrade::Mail is set
Unattended-Upgrade::MailOnlyOnError "true";
// Do automatic removal of new unused dependencies after the upgrade
// (equivalent to apt-get autoremove)
Unattended-Upgrade::Remove-Unused-Dependencies "true";
// Automatically reboot *WITHOUT CONFIRMATION* if a 
// the file /var/run/reboot-required is found after the upgrade 
//Unattended-Upgrade::Automatic-Reboot "false";
// Use apt bandwidth limit feature, this example limits the download
// speed to 70kb/sec
//Acquire::http::Dl-Limit "70";


-- debconf information:
* unattended-upgrades/enable_auto_updates: true



-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org