Usar colores con printf

He mirado el tema, y usado ejemplos como los de estos sitios:

http://wabiblog.wordpress.com/2007/08/15/c-colores-en-el-terminal-de-lin...
http://dlerch.blogspot.com/2009/01/bash-printf-en-color.html

no me funcionan. Creo que se refieren a algun metodo que ha quedado obsoleto, y que actualmente se usa otro. Me interesa para cosas como mensajes de confirmacion; cosas que han ido bien (color verde), cosas que sean avisos (color amarillo), y errores (color rojo).

Uso la version de gcc de Debian estable.

Sobre C, no vas a encontrar nada sobre uso de colores con printf. El método que aparece en las dos páginas web son secuencias de escape en BASH, y funcionan para bash.

De hecho, muchos usuarios usan erróneamente una librería no estándar que se llama conio.h.
Si quieres escribir interfaces de texto (en consola, claro), te recomiendo que uses la librería ncurses. Está portada a windows y te permite usar colores al imprimir en pantalla.

La librería ncurses es mucho mas efeciente, portable y funcional que conio

Lo que una vez hice fue algo similar a esto:
#define OK " \033[1;32mO.K.\033[0m "
#define FAIL " \033[1;31mFailed\033[0m "
#define ERROR " \033[1;31mError\033[0m "

luego donde vayas a usar las constantes en tu programa:
printf("Texto descriptivo\t\t\t\t[%s]\n", OK);
printf("Texto descriptivo\t\t\t\t[%s]\n", FAIL);

Con esto tendras tus mensajes de color, en este caso:
OK, de color verde y FAIL, de color rojo.

Lo que tendrias que averiguar bien son los codigos que forman los colores "\033[1;32m"

Saludos.