Tag-Archive for » bash «

Thursday, November 12th, 2009 | Author:

If you ever find yourself updating a single application in Arch Linux (a very bad idea, btw) and it upgrades readline you might end up seeing an error along the lines of:
/bin/bash: error while loading shared libraries: libreadline.so.5: cannot open shared object file: No such file or directory
Hopefully you still have a bash prompt open and you haven’t closed them all. If you still can, immediately run the following:
pacman -S bash
else you won’t be able to run bash any more because bash would still be linking to the old version of readline.

Tsis tas li ntawd, in future, don’t run
pacman -Sy application
(python in my case)
instead, run:
pacman -Syu
which will ensure that all applications are upgraded.

Personally, I think that bash should have had a dependency set saying that it required the old specific version of readline and the same for the new bash, requiring the new version of readline. Regardless, rather play it safe. 😉

Friday, June 05th, 2009 | Author:

Well it turns out that the problem is a little more subtle than that. It is only the root user that does not have syntax highlighting.

You see, vim does have syntax highlighting but vi and vim are different binaries. A shell startup script only aliases vi to vim if the user id is higher than 100 – which excludes root. The simplest workaround is to just add an explicit alias to root’s .bashrc at /root/.bashrc :

alias vi='vim'

run the command manually or just log in again toactivatethe alias.

Btw, I’m starting to like via lot. For a long time it made no sense to mebut now I am found. 🙂

Saturday, March 28th, 2009 | Author:

Its amazing how much you can do by combining the small yet powerful commands Unix has available.

This little-used command, time, finally became useful today as a way to report the length of time that certain automated operations are running. In my example, I’m timing how long it takes to build the Linux kernel:

$ time rebuild-kernel26
==> Finished making: kernel26 x86_64 (Sat Mar 28 17:19:52 SAST 2009)
real    62m21.994s
user    43m31.846s
sys     6m1.096s

Yup, that took a little over an hour to build. The values are:

  • realthe actual time elapsed while the command was running – 62 minutes
  • userthe amount of userland time the command used – 43 minutes
  • systhe amount of system time the command used – 6 minutes

(I was busy doing other things while this was happening which is why it took 62 minutes for the desktop to do (43+6=) 49 minutes-worth of work)

If you’re using the GNU version (most likely), it also gives you the option of displaying the results in a custom fashion. Mostly, this command could be useful in scripts where you need to report how long a task tookor maybe? just a geeky way to time something random. 😛

Category: linux  | Tags: , , , , , , ,  | Leave a Comment
Wednesday, March 18th, 2009 | Author:

[edit] So much for that. It turns out that openssl is able to determine that the key and certificate are already in a single file. Therefore, no csplitting required (zoo, I hope somebody reading this at least learned about how nice csplit is). In fact, the whole script might as well be obsoleteblaargh. Well, at least it gives a nice warning about not giving a blank passphrase. 😀

Here’s the new version:

pem2pfxconverts a .pem-formatted file containing a private key and signed certificate into a Windows-compatible .pfx certificate file.

#Tricky - brendan@swiftspirit.co.za
# Converts a .pem certificate file to .pfx format
# $1 is the source file
set -e
if [ $# = 1 ]; then
  outputfile=`echo $1 | sed 's/.pem$/.pfx/'`
  echo "Please specify a password below. Windows refuses to import a .pfx certificate with a blank password."
  openssl pkcs12 -export -out $outputfile -in $1
  echo "pem2pfx - converts a .pem formatted private-key and certificate file to an IIS-compatible .pfx file."
  echo "Usage: pem2pfx inputfile.pem"


Saturday, February 21st, 2009 | Author:

and my Personal Rating (PR) out of 10 😉

I use Firefox so most of these won’t apply to non-FF users. However, I’d be very very interested to hear what other addons my friends, subscribers, and random websurfers find interesting or useful to them. Have your say and let us know why you love the addons you love. 🙂

Personally, I prefer addons that aren’t intrusive. Ideally, an addon must have a minimal interface and give me a measurable benefit for me to keep it installed.

Cacheviewer – 7

This is a GUI front-end for the Cache Firefox keeps of the last few pages and media. I’ve found this addon more interesting than useful right now so I’m probably going to remove it soon.

ColorfulTabs – 9

I love the colours. The tab colour-grouping doesn’t work very well when you reach about 30 tabs though… :-/

Download Statusbar – 10

I prefer having everything in Firefox in a single window in tabs. Having a download box in a separate window is a big no-no for me. It also saves screen real-estate since it is very minimal. 🙂

Video DownloadHelper – 10

Video DownloadHelper zoo rau streaming xov xwm – yeej nrhiav tej loj cov ntsiab lus uas yog downloaded. Thaum koj nyem rau ntawm lub icon, nws qhia tau hais tias koj tam sim no-daus ntws thiab muab koj cov kev xaiv kom queue nws raws li ib tug “ib txwm” download.

Vim koj yeej tsis paub yog hais tias txiav yog mus tsoo los yog lub hwj chim yuav txiav, Kuv yuav xum mus cawm ib daim qauv rau kuv desktop thiab kuv mam li saib tus yees duab tsis muaj siv ntau bandwidth mus download tau lub yees duab dua. Tsis tas li ntawd, ntawm kev ua hauj lwm, thaum cov neeg xa kuv mus rau youtube los yog lwm yam xov xwm, Kuv feem ntau tsis thab saib txog ntau npaum li cas tom qab – ntawm kuv tus kheej leisure los yog thaum lub sij hawm ib tug so.

expiry Canary – 9

Qhov no zoo huv si thiab tsawg heev addon qhia rau koj yog hais tias tus SSL daim ntawv pov thawj rau lub site koj nyob nraum tam sim no saib yog sai mus rau expire. Yog hais tias koj lub chaw muaj ib tug SSL daim ntawv pov thawj, Kuv pom zoo kom koj siv no addon los pab tsis txhob koj qhov chaw SSL daim ntawv pov thawj expiring vim muaj ib tug yooj yim tsis muaj kev ceeb toom los yog miscommunication.

Fasterfox – 8

Fasterfox adds some network optmisation options. Some of the options could make your corporate network admin a little mad with you though. 😉

Firebug – 9

Rau web loj hlob thiab kws nrog nplooj ntawv. Txaus rau kev soj ntsuam me ntsis me me ntawm code li zoo raws li debugging nplooj ntawv.

FoxClocks – 6

errtells you the time in other time zones. o.O Was useful for a short timenow its redundant since my head is working it out faster than I can glance. rm -f

FoxyProxy – 9

Txaus rau browsing cov nplooj ntawv los ntawm kev tso cai servers. This is useful for when some sites are blocked or the SAIX Transparent Proxy servers aren’t working properly. 🙂

Kuv siv tau qhov no rau lawv ib co tsheb tshaj npe servers tias kuv yuav theej tsis tau mus los ntawm lub neej ntawd tseem khiav. Its also very flexible. Yog hais tias koj muaj ntau tshaj ib tug neeg rau zaub mov npe muaj thiab ib qhov koj feem ntau yog siv mam li nco dheev mus rau lub blink, cia li hloov mus rau lub tom ntej no ib. 🙂

Greasemonkey – 10

Right now, I use this only for the GooglemonkeyR script. This script reformats Google‘s search results to your specifications and also has an option to show small thumbnail of the pages Google links to. Greasemonkey can do a lot more and there are plenty of scripts readily available for many many sites.

Live HTTP headers – 8

I’ve used this a few times to diagnose gzip compression issues with IIS web servers. Not much else to say though: It works.

Live PageRank – 10 (so faronly installed it yesterday)

This addon seems simple enough. It gets the PageRank from Google and shows it in the tray.

NoScript – 10

NoScript yog TXAUS ntawm thaiv cov hlab adverts. Nws yog ib tug me ntsis khaus thaum xub thawj vim koj muaj rau whitelist tag nrho cov qhov chaw uas koj xav – but in the long run it is soooo worth it. 🙂

tsa cov tuag sawv Nplooj ntawv – 10

Heev pab rau yog hais tias koj tuaj rau ib qhov chaw thiab nws tshwm sim rau yuav cia. Yog hais tias lub tsev kawm ntawv yog zoo li qub-cov ntsiab lus-taw qhia kom paub ces qhov no yuav ua rau nws yooj yim mus nrhiav tau sai sai lub ntsiab lus yog hais tias nws cached online.

Tab Mix Plus – 8

Awesome for if you have more than 7-or-so tabs.

ShowIP (using a version modified for work purposesdisplays company server’s canonical name when browsing) – 10

I cannot imagine the hell I’d have to go through to identify a server without this plugin. Okay, I can. Used to have to do this all the time. I eventually scripted it but I can’t find the original script. Here’s my 60-second attempt at recreating what was in that script:

$ cat /etc/hosts | grep `dig A $hostname @mycachingnameserver | grep . | grep -v "^;"`
$ dig -x `dig A $hostname @mycachingnameserver | grep ^$hostname | grep A | \
  awk '/[.]/{print $5}'` @mycachingnameserver | grep . | grep -v "^;"

Web Developer – 9

I used this once to diagnose some issues with a page. I don’t do much web development so I’m going to remove this one. Its no comment on its capabilities since I believe this is a top notch add-on if you’re doing a lot of web development work.