Re: HOWTO monitor changes in installed packages within jails?
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?
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?
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?
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"