JP Vossen on 29 Mar 2009 22:16:14 -0700 |
JP Vossen wrote: > Does anyone have a better method for determining the distro and release > for Debian/Ubuntu? /etc/issue isn't always consistent, > /etc/debian-release doesn't help for Ubuntu, /etc/lsb-release isn't > always there. > > So far I have: > > # Release code name (should be 5 lines) > codename=$(perl -ne 'print qq($1\n) if > m!^deb .*?(?:debian|ubuntu)/\s+(\w+)\s+main!;' /etc/apt/sources.list) > [ -n "$codename" ] || { > echo "Release codename not set, 'export codename=name' before > running..." > exit 2 > } > > # Debian or Ubuntu > if grep -q 'debian.org' /etc/apt/sources.list; then > # Do something > elif grep -q 'ubuntu.com' /etc/apt/sources.list; then > # Do something > else > echo "/etc/apt/sources.list doesn't look like Debian or Ubuntu, > skipping..." > exit 3 > fi BUGFIX, need a space after ^deb ": perl -ne 'print qq($1\n) if m!^deb .*?(?:debian|ubuntu)/\s+(\w+)\s+main!;' /etc/apt/sources.list I always remove deb-src from my sources.list since I *never* care about the source on production machines and I see no reason to download twice as much header info. But when "deb-src" is present it was also matching, thus $codename would be set to, e.g., "jaunty jaunty". Casey, yeah I know about uname but as you noted it doesn't help here. Sean, as Brent said, and as I thought I'd remembered, lsb_release isn't always there. Not on my Etch and 1 Lenny, but is on another Lenny, not sure why; seems to be there for Ubuntu. Jim, I get very odd & ugly results from your quick and dirty line, probably because I use a "simplified" format in my file. Also, I'd remove the "useless use of cat," like so: cut -f5 -d '/' /etc/apt/sources.list Sorry about the bug and thanks for the thoughts, JP ----------------------------|:::======|------------------------------- JP Vossen, CISSP |:::======| http://bashcookbook.com/ My Account, My Opinions |=========| http://www.jpsdomain.org/ ----------------------------|=========|------------------------------- "Microsoft Tax" = the additional hardware & yearly fees for the add-on software required to protect Windows from its own poorly designed and implemented self, while the overhead incidentally flattens Moore's Law. ___________________________________________________________________________ Philadelphia Linux Users Group -- http://www.phillylinux.org Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce General Discussion -- http://lists.phillylinux.org/mailman/listinfo/plug
|
|