Re: HOWTO monitor changes in installed packages within jails?

2013-07-23 Thread Michael Grimm

On 20.07.2013, at 18:34, Michael Grimm  wrote:

> On 20.07.2013, at 14:53, Matthew Seaman  
> wrote:
>> On 20/07/2013 12:09, Michael Grimm wrote:
> 
>>> I did migrate to pkgng some month ago, and ever since I am curious
>>> how to monitor changes in installed packages within jails. I am
>>> looking for a functionality/port that works like 490.status-
>>> pkg-changes for my host.
>>> 
>>> Question: is there any functionality within the periodic system or a
>>> port that I might have missed to find?
>> 
>> You can't just run 490.status-pkg-changes directly in your jail?
> 
> Yes, I can ;-) 
> 
> But! I do have a lot of service jails running at my host, thus I would like 
> to omit modifying every jail's /etc/periodic.conf adding:
> 
> | daily_status_pkg_changes_enable="YES"# Show package changes
> | pkg_info="pkg info"  # Use this program
> 
> 
>> Try this patch:
> 
> Thanks for that approach, namely adding "pkg -j jailname info" for every jail 
> running. Due to my amount of jails I might need to add some looping over "jls 
> -N" output instead of adding a lot of $daily_status_pkg_changes_flags.
> 
> I was hoping that I could omit programming that functionality myself, but I 
> might need to do so.

I ended up in adding:
--- snip 
--- /usr/src/etc/periodic/daily/490.status-pkg-changes  2013-04-03 
17:59:35.894705550 +0200
+++ /etc/periodic/daily/490.status-pkg-changes  2013-07-23 20:19:27.833641916 
+0200
@@ -32,6 +32,24 @@
diff -U 0 $bak/pkg_info.bak2 $bak/pkg_info.bak \
| grep '^[-+][^-+]' | sort -k 1.2
fi
+
+# added jail(s) support
+#
+   for jname in `jls -N | grep -v JID | awk '{print $1}'`; do
+   if [ -f $bak/pkg_info_${jname}.bak ]; then
+   mv -f $bak/pkg_info_${jname}.bak 
$bak/pkg_info_${jname}.bak2
+   fi
+   jexec ${jname} ${pkg_info:-/usr/sbin/pkg_info} > 
$bak/pkg_info_${jname}.bak
+
+   cmp -sz $bak/pkg_info_${jname}.bak 
$bak/pkg_info_${jname}.bak2
+   if [ $? -eq 1 ]; then
+   echo ""
+   echo "Changes in installed packages (jail 
${jname}):"
+   diff -U 0 $bak/pkg_info_${jname}.bak2 
$bak/pkg_info_${jname}.bak \
+   | grep '^[-+][^-+]' | sort -k 1.2
+   fi
+   done
+
fi
;;
--- snip 

Not perfect, really, but working at my side.

Michael
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"


Re: HOWTO monitor changes in installed packages within jails?

2013-07-20 Thread Michael Grimm
On 20.07.2013, at 14:53, Matthew Seaman  wrote:
> On 20/07/2013 12:09, Michael Grimm wrote:

>> I did migrate to pkgng some month ago, and ever since I am curious
>> how to monitor changes in installed packages within jails. I am
>> looking for a functionality/port that works like 490.status-
>> pkg-changes for my host.
>> 
>> Question: is there any functionality within the periodic system or a
>> port that I might have missed to find?
> 
> You can't just run 490.status-pkg-changes directly in your jail?

Yes, I can ;-) 

But! I do have a lot of service jails running at my host, thus I would like to 
omit modifying every jail's /etc/periodic.conf adding:

| daily_status_pkg_changes_enable="YES"# Show package changes
| pkg_info="pkg info"  # Use this program


> Try this patch:

Thanks for that approach, namely adding "pkg -j jailname info" for every jail 
running. Due to my amount of jails I might need to add some looping over "jls 
-N" output instead of adding a lot of $daily_status_pkg_changes_flags.

I was hoping that I could omit programming that functionality myself, but I 
might need to do so.

Thanks for your input and with kind regards,
Michael


___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"


Re: HOWTO monitor changes in installed packages within jails?

2013-07-20 Thread Matthew Seaman
On 20/07/2013 12:09, Michael Grimm wrote:
> I did migrate to pkgng some month ago, and ever since I am curious
> how to monitor changes in installed packages within jails. I am
> looking for a functionality/port that works like 490.status-
> pkg-changes for my host.
> 
> Question: is there any functionality within the periodic system or a
> port that I might have missed to find?

You can't just run 490.status-pkg-changes directly in your jail?

Try this patch:

lucid-nonsense:/tmp:% diff -u 490.status-pkg-changes{.orig,}
--- 490.status-pkg-changes.orig 2013-07-20 13:43:44.306303775 +0100
+++ 490.status-pkg-changes  2013-07-20 13:44:42.055327506 +0100
@@ -10,7 +10,7 @@

 case "$daily_status_pkg_changes_enable" in
[Yy][Ee][Ss])
-   pkgcmd=/usr/local/sbin/pkg
+   pkgcmd=/usr/local/sbin/pkg $daily_status_pkg_changes_flags

echo
echo 'Changes in installed packages:'

Then add something like the following to /etc/periodic.conf:

daily_status_pkg_changes_flags='-j jailname'

Of course, this only lets you monitor changes in one jail at a time.
You can cover more by copying the script and changing its name eg.

sed -e 's/daily_status_pkg_changes/daily_status_pkg_changes2/g' \
< 490.status-pkg-changes > 490.status-pkg-changes2

Then add appropriate "daily_status_pkg_changes2_flags='-j otherjail'"
settings to periodic.conf

Cheers,

Matthew

-- 
Dr Matthew J Seaman MA, D.Phil.

PGP: http://www.infracaninophile.co.uk/pgpkey
JID: matt...@infracaninophile.co.uk



signature.asc
Description: OpenPGP digital signature


HOWTO monitor changes in installed packages within jails?

2013-07-20 Thread Michael Grimm
Hi --

I did migrate to pkgng some month ago, and ever since I am curious how to 
monitor changes in installed packages within jails. I am looking for a 
functionality/port that works like 490.status-pkg-changes for my host.

Question: is there any functionality within the periodic system or a port that 
I might have missed to find?

Thanks in advance and with kind regards,
Michael
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"