Posts

Showing posts with the label utility

Procenv 0.27 released

Procenv 0.27 has been released. This release introduces a raft of new features... IPC  It is now possible to display details of the following IPC mechanisms: message queues semaphores shared memory Alas, this feature is not available on BSD's as yet partly since there appears to be no documented way to query these mechanisms. Output Categories The introduction of the IPC categories brings the total number of output categories to 32: meta arguments capabilities cgroups clocks compiler confstr environment file descriptors libraries limits locale misc message queues mounts network oom platform process ranges rusage semaphores shared memory signals sizeof stat sysconf threads time timezone tty uname Highly-Structured Output The code that handles procenv has been completely rewritten so that all output is highly structured. So, rather than displaying file descriptors like this: $ procenv --fds fds: fd 0: terminal=yes ('/dev...

procenv 0.26 released

Version 0.26 of the procenv utility is now available. Changes: Check to determine if running on a console now works for FreeBSD/kFreeBSD too. Added ability to show all arguments ( -A / --arguments ) (useful when using --exec ). Added ability to display network details ( -N / --network ). Added BSD/Hurd-specific signals. Corrected output sort order. Mount details now include block, inode and fsck details. There are now 29 categories of environment information displayed when procenv is run (on Linux). Grab it from: https://launchpad.net/procenv/ This update should appear in Debian, Ubuntu and FreeBSD soon...

Counting down to Ubuntu and Debian releases with distro-info

A while back I though, "wouldn't it be great if the Ubuntu release schedule could be accessed as some form of web service?" That would allow all sorts of fun scripts to be written. Yes, you could write code to parse the wiki page, but I think the technical term for that is "gross". However, there is now a much simpler alternative in the form of distro-info . If you've never used this awesome tool written by Benjamin Drung you've been missing out! It can tell you all sorts of interesting information. A few examples... Examples of how to use distro-info What is the current development release on the system I am running on? $ distro-info --devel saucy What is the current Debian development release? $ debian-distro-info --devel sid What are the currently supported Ubuntu releases? $ ubuntu-distro-info --supported lucid precise quantal raring saucy What's the latest Ubuntu LTS release? $ ubuntu-distro-info --lts precise What's the c...

Upstart User Sessions in Ubuntu Raring

Image
Overview Ubuntu Raring now includes Upstart 1.8 . Upstart 1.7 and 1.8 combined mark a major milestone since they bring the proven power of Upstart to the user as never before: not only is Upstart now managing the system, but it is also capable of managing the default Ubuntu user's desktop sessions too. Why? Question:  Why reuse a system facility at the user level in this way? The modern Linux desktop environment is a very dynamic one: users start and stop applications, switch workspaces, search the dash, adjust personal settings in the panel, connect to different networks, hot-plug USB devices and so on. All of these activities can be represented by "events". Stepping back a second, recall that Upstart was written  from the outset  to take advantage of  the dynamic nature of a modern Linux system . Long gone are the days when a system booted serially. A modern Linux system abounds with "events" from all sorts of different sources: The user plugs or ...

A basic Upstart Events GUI (and cli!:-) tool

Image
It didn't quite make it into the release, but we now have a very basic Upstart GUI that should appear in Ubuntu along with the Upstart 1.7 release soon. What is it? upstart-monitor is a simple application that shows Upstart events as they are emitted. It can be used to view both system-level events and also session-level events when Upstart is running as a Session Init. It requires Upstart 1.7. What can I use it for? The tool allows you to see events as they occur which is an aid to understanding. It also helps with writing new jobs since, if you are not sure which event to use, provoke the scenario you want, then just copy the appropriate event that appears in upstart-monitor to your .conf file (more details on this in a future post...). How do I use it? Just start it to see events being emitted: If you'd prefer a command-line version, run it with the ' -n ' option: Where can I get it? If you can't wait for it to land in Ubuntu, you ca...

A bazaar hook to reduce VCS meta-data asynchrony

What changed? Sometimes, when using VCS systems such as bazaar, there is a tendency to forget to perform the necessary 'book-keeping' for those not using it because you get so focused on the tooling itself. Most VCS systems expect the author to provide a brief explanatory message per commit. This log is invaluable since it (hopefully!) provides insightful context into the programmers intentions. However, that meta-data is only available to those with a copy of the branch/checkout/stream/view or whatever your VCS calls it. But what about those who only come into contact with the project via release tarballs for example? I'm thinking specifically of changelogs. Debian and Ubuntu provide the incredibly useful ' dch ' (aka debchange ) tool which synchronises the VCS commit message with the latest ' debian/changelog ' file entry. But what if you're not working on a Debian project? When you're working on a fast-paced project, or just working at a...

procenv now in Debian and Ubuntu: how you can use it

The procenv utility covered in a previous post is now at version 0.15 and also available in Debian Sid and Ubuntu Raring . So, you can do the usual " sudo apt-get install procenv " followed by simply " procenv " to run it. However, due to the way this utility is built, there is a little more you can do. Read on... procenv runs itself as part of its build (at the end of course :-). What this means is that you can now see what that build environment is like by looking at the build logs: Debian build logs Ubuntu build logs (you need to expand the "twistie" to see the log files. If you haven't already heard, for the Ubuntu Raring cycle, autopkgtest ( DEP-8 ) tests -- where package builds automatically trigger tests that run on an environment very similar to a "normal" system -- are a hot topic. procenv is DEP-8 enabled, so again, we get to see exactly what such an autopkgtest environment provides . With this information, you can...

Procenv 0.8 released

Changes: expanded man page, more sizeof types shown and resource usage details added. Code is available here: https://launchpad.net/procenv If anyone is interested in contributing patches for the following, let me know: code to show network details. support for other platforms (I'd like to add AIX, HP-UX, Solaris, i5O/S, MVS/zO/S, VMS) but no longer have access to such systems).

Procenv and the Process Environment

Quiz How many attributes of a processes "environment" can you think of besides its environment variables? I'm using the term "environment" in a very loose sense here to mean "any system or process level attribute that can be queried via system calls or library calls (or " /proc -picking ") that affects a running process". I'm also including details of the process itself and details of the program that came to be a running process. We're not talking about installed packages or application configuration files in /etc here, but purely low-level program, process and system meta-data. I've got over 20 items in my list excluding environment variables. Whilst you're pondering on that... Compare and Contrast If you've been involved with computers for any appreciable length of time, chances are you have come across the scenario where some program fails to run in a particular environment, but works "perfectly...

out is out, utfout is out!

My output utility (originally called ' out ' - see previous post ) is now available in debian sid as ' utfout ': http://packages.debian.org/sid/utfout