Tips Linux II
PCMan File Manager,
Si usas gnome en tu distro linux y deseas trabajar con un administrador de archivos alternativo a Nautilus, puedes elegir PCMan File Manager que es mas ligero, permite el uso de pestañas, admite intercambiar entre el root y el usuario normal, soporta favoritos y otras características que lo hacen mas fácil de usar y de navegar entre tus archivos, pero no cuenta con los scripts que tiene Nautilus y no se puede configurar a gran escala, pero aún así, no es tan malo, pruebalo.
Para instalarlo en Ubuntu, tan solo hay que escribir:
sudo apt-get install pcmanfm
Este se encuentra en los repositorios de la versión de Hardy Heron.
Si tienes otra distro descargalo de:
http://pcmanfm.sourceforge.net/
IDES para linux
Entornos de desarrollo integrados / RAD tools / GUI-builder sobre linux:
Warning: Some of the above are binary-only and x86-Linux-only.
General/Editors:
- CYGNUS's Source Navigator with the Insight debugger
Ada:
- TIA (for GNAT Ada 95)
C/C++:
- ICS's BX Pro (for Motif/C++)
- Code Forge's C-Forge
- Metrowerks's Code Warrior
- Bloodshed Software's Dev-C++ (for C/C++)
- CYGNUS's GNUPro
- FLTK & Fluid (for C++)
- Suite 3220 Software's Moonshine and Moonshine Professional
- QtEZ (for C++ w/Qt)
- Scintilla (for GTK+/C++)
- Wind River Systems / TakeFive Software's SNiFF+ and SNiFF Penguin
- CYGNUS's Source Navigator
- with the Insight debugger
- TogetherSoft's Together
- MicroEdge's Visual SlickEdit
- Q Software Solutions's Wedit
- VIDE (for C++ and Java)
- wxStudio (for C++ and Python)
Objective-C:
- GNUStep's ProjectCenter
ECMAScript (formerly "Javascript"):
- TrollTech AS's Qt Scripter (for the Qt Script extension of ECMAScript)
- Nombas, Inc.'s ScriptEase (for ECMAScript)
Eiffel:
- Interactive Software Engineering's EiffelBench
HTML:
Java:
- AnyJ (for Java)
- VioSoft Arriba
- Omnicore Software's CodeG
- Elixir (for Java, HTML, Scheme, TCL)
- IntelliJ's IDEA
- Borland's JBuilder aka JavaBuilder
- JCreator LE or Pro
- BulletProof's JDesignerPro
- Jedit (for Java, when used with plug-ins)
- Allaire's Kawa
- ProSyst's mBedded Builder (for embedded Java)
- Data Representations's Simplicity and Simplicity Professional
- Wind River Systems / TakeFive Software's SNiFF+ and SNiFF Penguin
- CYGNUS's Source Navigator with the Insight debugger
- Sun One Studio 4 (formerly Forte)
- SwingSoft's SwingBuilder
- TogetherSoft's Together
- VIDE (for C++ and Java)
- IST's Visaj
- Compuware's OptimalJ
- IBM's VisualAge Java
- IBM's WebSphere Application Developer (for Java J2EE)
Pascal:
- Borland's "Kylix Open Edition" (for GPL-licensed projects only, using Object Pascal aka Delphi or C++ source code, with Java to be added later)
- Lazarus (for Object Pascal/Delphi)
- fpGUI (for Object Pascal/Delphi)
Perl:
- ActiveState's Komodo
PHP:
- ActiveState's Komodo
- Maguma Workbench (proprietary)
- Bluefish (primarily an HTML editor)
- Quanta+ (primarily an HTML editor
- Screem (PHP, XML; primarily an HTML editor / site-development environment)
Python:
- ActiveState's ActivePython
- BlackAdder (for Python and Ruby)
- Guido van Rossum's IDLE
- ActiveState's Komodo
- PythonWare's PythonWorks Pro
- Archeopteryx Software's Wing IDE
- wxStudio (for C++ and Python)
- Digital Creations's Zope Studio
QT:
- QtEZ (for C++ w/Qt)
- TrollTech AS's Qt Scripter (for the Qt Script extension of ECMAScript)
Ruby:
- BlackAdder (for Python and Ruby)
Scheme/Lisp:
- Elixir (for Java, HTML, Scheme, TCL)
- Jabberwocky (for Lisp)
Smalltalk:
- Squeak (Smalltalk-80)
- Cincom's VisualWorks Smalltalk
TCL/Tk:
- Elixir (for Java, HTML, Scheme, TCL)
- ActiveState's Komodo
- Tcl Developer Studio (for Tcl/Tix)
wx (cross-platform/cross-language GUI library):
Other:
- EXOR International Inc.'s eVGS Development Suite (not ported yet)
- National Instruments's LabView
- Omnis Studio (for the Omnis 4GL)
- Runtime Revolution Ltd.'s Revolution (for Transcript)
Warning: Some of the above are binary-only and x86-Linux-only.
Tips, trucos Linux
Tips trucos Linux
- Programación en BASH
- Equivalencias Windows en Linux
- Recuperar archivos borrados con lsof y /proc
(extraido de www.linux-es.org)
En este articulo vamos a hablar de la utilidad 'lsof'. Con este programa, la informacion en /proc y un poco de suerte, probablemente podamos recuperar el fichero que por arte de magia desaparecio de vuestro sistema cuando lo borrasteis accidentalmente. La 'poca de suerte' de la que hablamos es que el fichero que habeis borrado estuviese siendo accedido por un programa en el momento de realizar la operacion de borrado. A continuacion vamos a ver un ejemplo de como podemos realizar esta recuperacion.
Primero vamos a ver un poco como podemos acceder a la informacion o estatus de un fichero. Para esto podemos utilizar el programa de sistema stat. Veamos como funciona:
Primero creamos un fichero de texto:
user@test# echo "ESTO ES UN FICHERO DE TEXTO DE PRUEBAS" > fichero_pruebas.txt
A continuacion podemos usar stat para obtener la informacion de este fichero:
user@test# stat fichero_pruebas.txt File: `fichero_pruebas.txt' Size: 39 Blocks: 8 IO Block: 4096 regular file Device: 301h/769d Inode: 512495 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 1000/ user) Gid: ( 1000/ user) Access: 2008-02-04 22:28:57.000000000 +0100 Modify: 2008-02-04 22:28:57.000000000 +0100 Change: 2008-02-04 22:28:57.000000000 +0100
Alguna de esta informacion tambien la podriamos haber obtenido usando el comando ls:
user@test# ls -li fichero_pruebas.txt 512495 -rw-r--r-- 1 root root 39 2008-02-04 22:28 fichero_pruebas.txt
De toda esta informacion, la que nos interesa en este articulo es la denominada Inode. Segun Wikipedia, un inodo (inode en ingles) se puede definir como:
"... una estructura de datos propia de los sistemas de archivos tradicionalmente empleados en los sistemas operativos tipo UNIX como es el caso de Linux. Un inodo contiene las características (permisos, fechas, ubicación, pero NO el nombre) de un archivo regular, directorio, o cualquier otro objeto que pueda contener el sistema de ficheros.
El término "inodo" refiere generalmente a inodos en discos (dispositivos en modo bloque) que almacenan archivos regulares, directorios, y enlaces simbólicos. El concepto es particularmente importante para la recuperación de los sistemas de archivos dañados.
Cada inodo queda identificado por un número entero, único dentro del sistema de ficheros, y los directorios recogen una lista de parejas formadas por un número de inodo y nombre identificativo que permite acceder al archivo en cuestión: cada archivo tiene un único inodo, pero puede tener más de un nombre en distintos o incluso en el mismo directorio para facilitar su localización."
En nuestro caso el inodo de nuestro fichero es 512495, este es el identificador de nuestro fichero en el sistema. Cuando borramos un fichero con el comando rm, lo que hacemos es borrar la referencia al inodo en cuestion, durante un tiempo dicho inodo seguira existiendo en nuestro sistema aunque no podamos verlo y parezca que el fichero borrado ha desaparecido de nuestro sistema.
Si algun programa esta accediendo el fichero que hemos borrado, estamos de suerte. El programa en cuestion tendra una referencia al inode del fichero borrado y siempre que no cerremos este programa podremos recuperar el contenido de dicho fichero. (Un caso practico que a muchos nos a pasado alguna vez es el borrar el fichero log de algun servicio del sistema (apache, postgresql, mysql. etc) mientras que el servicio esta funcionando)
A continuacion presentamos una session completa desde que borramos un fichero hasta que lo recuperamos:
Abrimos nuestro fichero ejemplo con less (por ejemplo)
user@test# less fichero_pruebas.txt ESTO ES UN FICHERO DE TEXTO DE PRUEBAS fichero_pruebas.txt (END)
Pulsamos Ctrl+z para suspender el programa less sin pararlo (el programa seguira abierto, accediendo nuestro fichero, pero suspendido)
user@test# less fichero_pruebas.txt [1]+ Stopped less fichero_pruebas.txt
Comprobamos que nuestro fichero sigue intacto:
user@test# ls -li fichero_pruebas.txt 512495 -rw-r--r-- 1 root root 39 2008-02-04 22:28 fichero_pruebas.txt
Lo borramos ... accidentalmente ;-)
user@test# rm ficheros_de prueba.txt
Comprobamos que no existe en nuestro directorio
user@test# ls -li fichero_pruebas.txt ls: fichero_pruebas.txt: No such file or directory
Como hemos comentado mas arriba, si tenemos un programa accediendo el fichero estamos de suerte. Utilizamos lsof para ver si algun programa esta accediendo el fichero que hemos borrado:
user@test# lsof |grep fichero_pruebas.txt less 28410 user 4r REG 3,1 39 512495 /home/user/fichero_pruebas.txt (deleted)
No deberia de ser una sorpresa que nuestro programa less este accediendo nuestro fichero borrado. Las columnas que nos interesan de esta linea son la primera (PID del programa accediendo el fichero, 28410), y la cuarta, el 'file descriptor' (4r) con la referencia al inodo de nuestro fichero (512495).
Con esta informacion nos vamos al sistema de ficheros virtual /proc con informacion de nuestro sistema linux.
user@test# ls -l /proc/28410/fd/4 lr-x------ 1 user user 64 2008-02-04 22:38 /proc/28410/fd/4 -> /home/user/fichero_pruebas.txt (deleted)
Como era de esperar, una referencia al fichero borrado. Lo unico que tenemos que hacer ahora es copiar los datos a los que /proc/28410/fd/4 esta haciendo referencia. Para esto podemos utilizar simplemente el comando cp
user@test# cp /proc/28410/fd/4 fichero_pruebas.txt.restaurado
Ahora no importa que nuestro programa less termine de ejecutarse, porque nuestro fichero borrado ya esta recuperado.
user@test# cat fichero_pruebas.txt.restaurado ESTO ES UN FICHERO DE TEXTO DE PRUEBA
- ..
De todo para los dinosaurios Programadores
El motivo de este blog es ayudar al programador a encontrar soluciones a grandes o pequeños problemas al momento de programar, tener en un solo sitio la lista de sites con tutoriales, trucos, manuales, forums en el cual podamos consultar a la comunidad informática nuestros problemas al programar.
En estos links encontraras tutoriales, tips, trucos, manuales(en ingles y español), que incrementare con el tiempo:
Forums:
En estos links encontraras tutoriales, tips, trucos, manuales(en ingles y español), que incrementare con el tiempo:
- Here are the most useful manuals and tutorials on REXX, SQL, DB2 UDB, JCL, JES2 and JES3, COBOL, IBM Utilities, VSAM, TSO/ISPF, SDSF, IOF, CICS, MySQL, Unix and Linux, Java, HTML, AS/400, IMS Database.
IBM Mainframe Manuals for VS COBOL II, IBM COBOL, Enterprise COBOL, MVS JCL, OS/390 JCL, z/OS JCL, TSO, ISPF, SDSF, DFSORT, ICETOOL, CLIST, REXX, PL/I, CICS/ESA, CICS/TS, DB2, DB2/UDB, IMS, SQL Codes, Abend Codes, ErrorCodes, System Messages, SOC errors, CICS Abends etc...- PL/I Virtual Reference Library
- X-4GL Reference manual
- Mundo Manuales - de todo para el que busca información.
- Programación en lenguaje ensamblador/Conceptos básicos
- AS/400 DB2/400 SQL Manual de Consulta
- Guía mínima de Ada 95
- Tutorial Cobol CICS - DB2
- CICS Application Programming Guide
- JCL TUTORIALS
- Primer programa Cobol CICs
- Tutorial to the Rexx programming language
Forums:
Suscribirse a:
Entradas (Atom)