Comandos más utilizados…
Hola a todos, nuevamente…, aquí les dejo algunos de los comandos más utilizados y su explicación:
ls <– Igual que dir
mc <– Midnight Commander igual que el Norton Commander en MS-DOS, cuando lo utilice conectado por SSH (Secure SHell) con cualquier programa, como el PuTTY, entonces utilícelo con la opción -a (fuerza a usar caracteres como +,| y – para dibujar las líneas) Ejemplo: mc -a
su - <– Obtener privilegios root desde un usuario normal
locate nombre_fichero <– Buscar un fichero, primeramente deberás ejecutar el comando updatedb como usuario root para llenar los índices de la base de datos de búsqueda
cat nombre_fichero <– Listar el contenido de un fichero, igual que el comando type de MS-DOS
ln -s directorio_origen directorio_destino <– Crear un enláce simbólico (acceso directo) desde un directorio a un directorio
rpm -q paquete_rpm <– Para saber si tienes el paquete RPM ese instalado
ps -faxu | grep fetchmail <– Ver procesos fetchmail (fetchmail es solo un ejemplo)
kill ### <– Matar proceso ### sabiendo el PID del proceso con el ejemplo anterior
switchdesk Tipo_escritorio <– Iniciar siempre en un escritorio predeterminado, donde Tipo_escritorio es KDE o GNOME por ejemplo.
Bueno, espero que les resulten de gran utilidad…
Salu2,
Lester Espinosa Martínez
PD: Aquí les dejo un amplio manual de comandos bajo GNU/Linux para el que quiera profundizar en el tema… << Verlo aquí >>
Montando particiones NTFS con LINUX
¿Qué versión de LINUX tenemos?
Lo primero que debemos conocer es la versión de la distribución y el kernel, para lo cual tecleamos el siguiente comando en la terminal:
cat /etc/redhat-release
Con esto, debemos de ver sólo una de las siguientes líneas; la que corresponda a la versión que utilizamos:
Fedora Core release 5 (Bordeaux) Fedora Core release 4 (Stentz)Fedora Core release 3 (Heidelberg) Fedora Core release 2 (Tettnang) Fedora Core release 1 (Yarrow) Red Hat Linux release 9 (Shrike) Red Hat Linux release 8.0 (Psyche)
Ahora, checamos la versión del kernel:
uname -r
Con lo cual veremos también sólo una de estas líneas, que nos dice la versión de kernel con la que contamos:
2.6.16-1.2080_FC5
2.6.12.-1.1447
2.6.9-1.667
2.6.5-1.358
Puede que la versión contenga alguno de estos sufijos:
smp bigmemBOOT
Si nuestra versión termina con “smp”, entonces contamos con un equipo con multiprocesador.
Ahora veamos con qué tipo de procesador contamos (los usuarios con multiprocesador deben reemplazar “kernel” con “kernel-smp”):
rpm -q --queryformat "%{ARCH}n" kernel
Lo que probablemente nos diga que contamos con un “i686″ (si es que tenemos un equipo reciente con procesador Pentium). Otras opciones son “athlon”, “i586″ ó “i386″.
Ahora, descargamos los RPM necesarios de éste enlace, según nuestra versión de distribución, kernel y procesador que tengamos en nuestro equipo (vienen casi todas las combinaciones), y procedemos a instalar.
Instalación
Debemos contar con privilegios de root para ejecutar estos comandos. Supongamos que descargamos el rpm kernel-ntfs-2.6.12-1.447_FC4.i686.rpm. Entonces lo instalamos:
rpm -Uhv kernel-ntfs-2.6.12-1.447_FC4.i686.rpm Preparing... ############################### [100%]1:kernel-ntfs ############################### [100%]
Si éste fue el rpm correcto, entonces no debemos de tener ningún error.
Ahora cagramos el módulo en el kernel.
/sbin/modprobe ntfs
Con lo cual, tampoco nos debe mostrar ningún mensaje de error. Después checamos la versión del controlador:
dmesg | grep NTFS NTFS driver v2.2.50 [Flags: R/O MODULE]
Con esto, podemos comprobar que el kernel realmente comprenda el NTFS (el desplegado puede variar, por lo que sólo checamos que diga la palabra ntfs):
cat /proc/filesystems nodev rootfsnodev bdev nodev proc nodev sockfs nodev tmpfs nodev shm nodev pipefs ext3 ext2 nodev ramfs nodev devpts ntfs
Montar la partición
Para esto utilizaremos los mismos comandos que se describen a continuación, con los cuales chequearemos nuestras particiones:
/sbin/fdisk -l Disk /dev/hda: 64 heads, 63 sectors, 4465 cylindersUnits = cylinders of 4032 * 512 bytes Device Boot Start End Blocks Id System /dev/hda1 1 2125 4283968+ 07 NTFS/HPFS /dev/hda2 2126 19851 35735616 0f Win95 Ext'd (LBA) /dev/hda5 * 2126 4209 4201312+ 83 Linux /dev/hda6 4210 4465 516064+ 82 Linux swap
creamos un directorio como punto de partición:
mkdir /mnt/windows
Le decimos al kernel que monte la partición en ese directorio:
mount /dev/hda1 /mnt/windows -t ntfs -r -o umask=0222
Y si todo salió bien, podemos acceder a la partición de Windows desde nuestro Red Hat.
ls -l /mnt/windows ...-r-xr--r-- 1 root root 9719 Aug 24 1996 ansi.sys -r-xr--r-- 1 root root 15252 Aug 24 1996 attrib.exe -r-xr--r-- 1 root root 28096 Aug 24 1996 chkdsk.exe -r-xr--r-- 1 root root 5175 Aug 24 1996 choice.com ...
Montar la partición al arrancar el sistema
Para lograr esto, sólo agregaremos una línea al archivo “/etc/fstab” (tabla de sistemas de archivos).
La línea que ejecutamos para montar la partición:
mount /dev/hda1 /mnt/windows -t ntfs -r -o umask=0222
tiene como equivalente en el archivo /etc/fstab:
/dev/hda1 /mnt/windows ntfs ro,umask=0222 0 0
que es la línea que debemos de agregarle al archivo.
Espero que este artículo les haya sido de mucha utilidad…
Salu2,
Lester Espinosa Martínez
Nota: Probado en distros basadas en RedHat.
Problemas con YUM (Yellow dog Updater Modified)
Hola a todos…, aquí les traigo algo interesante que me sucedió. El caso es que tengo CentOS 4.0 instalado y mi conexión a INTERNET es mediante un proxy, entonces el comando yum necesario para descargar actualizaciones, instalaciones y/o dependencias no se me ejecuta correctamente, pues no sé en qué parte de la configuración debo especificarle el proxy de mi conexión. Les he traido una solución para si a algunos de ustedes les pasa lo mismo que a mi puedan solucionarla temporalmente.
Esto es lo que me pasaba antes de la solución:
[root]# yum install GFS
Setting up Install Process
Setting up repositories
Reading repository metadata in from local files
Parsing package install arguments
Resolving Dependencies
–> Populating transaction set with selected packages. Please wait.
—> Downloading header for GFS to pack into transaction set.
GFS-6.1.5-0.i386.rpm 100% |=========================| 138 kB 00:00
http://mirror.centos.org/centos/4/csgfs/i386/RPMS/GFS-6.1.5-0.i386.rpm: [Errno -1] Header is not complete.
Trying other mirror.
Error: failure: RPMS/GFS-6.1.5-0.i386.rpm from csgfs: [Errno 256] No more mirrors to try.
Tengo 2 soluciones:
1.- Crear 2 variables locales, las cuales responderán a las peticiones del proxy…
[root]# export http_proxy=http://IP_del_proxy:Puerto/
[root] # export ftp_proxy=http://IP_del_proxy:Puerto/
Probando el yum:
# yum install GFS
Setting up Install Process
Setting up repositories
Reading repository metadata in from local files
Parsing package install arguments
Resolving Dependencies
–> Populating transaction set with selected packages. Please wait.
—> Downloading header for GFS to pack into transaction set.
GFS-6.1.5-0.i386.rpm 100% |=========================| 4.6 kB 00:00
—> Package GFS.i386 0:6.1.5-0 set to be updated
–> Running transaction check
Dependencies Resolved
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
GFS i386 6.1.5-0 csgfs 138 k
Transaction Summary
=============================================================================
Install 1 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 138 k
Is this ok [y/N]: y
Downloading Packages:
(1/1): GFS-6.1.5-0.i386.r 100% |=========================| 138 kB 00:00
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: GFS ######################### [1/1]
Installed: GFS.i386 0:6.1.5-0
Complete!
Y listo, ya pueden intentar nuevamente a utilizar el yum…
2.- Esta solución está basada principalmente en descargar el paquete e instalarlo utilizando un repositorio local. La dirección URL de dónde se encuentra el paquete que queremos instalar nos la dio en el primer mensaje de error…
Obviamente, un repositorio local no tendrá ningún tipo de problemas…
# cd /tmp
# wget ftp://192.168.1.203/pub/centos/4/csgfs/i386/RPMS/GFS-6.1.5-0.i386.rpm
# yum localinstall /tmp/GFS-6.1.5-0.i386.rpm
Setting up Local Package Process
Examining /tmp/GFS-6.1.5-0.i386.rpm: GFS – 6.1.5-0.i386
Marking /tmp/GFS-6.1.5-0.i386.rpm to be installed
Resolving Dependencies
–> Populating transaction set with selected packages. Please wait.
—> Package GFS.i386 0:6.1.5-0 set to be updated
–> Running transaction check
Dependencies Resolved
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
GFS i386 6.1.5-0 /tmp/GFS-6.1.5-0.i386.rpm 327 k
Transaction Summary
=============================================================================
Install 1 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 327 k
Is this ok [y/N]: y
Downloading Packages:
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: GFS ######################### [1/1]
Installed: GFS.i386 0:6.1.5-0
Complete!
Y listo, tendremos nuestro paquete instalado!!!
Espero que les sirva de algo…
Salu2,
Lester Espinosa Martínez
Nuevo patche 1.14 para Broodwar…
Hola a todos los fans de este maravilloso game…
La Blizzard acaba de anunciar su nuevo patche 1.14 para el Starcraft/Broodwar, aquí les dejo los detalles del mismo y su enlace para la descarga…
Starcraft and Brood War Patch Information
——————————————————————————–
- patch 1.14
——————————————————————————–
Feature Changes
- European ladder now affiliated with WGTour (http://www.wgtour.com/blizz.php).
See http://www.battle.net/scladder/ for additional information about the new
European ladder.
- Ladder games disabled for all other regions.
- For Top vs. Bottom games, the default chat filter is now ‘Chat To Allies’.
- In-game chat messages now show the speaker’s name in his/her team color.
- Users can now use the mouse wheel to scroll chat and selection boxes in
Windows 98 (or later) and Macintosh OS X.
- Screen shots now use a time/date stamp; they are no longer limited to 100.
- Improved version numbering system.
- The high-color application icon from the Macintosh version is now used on PC.
- Small corrections to the Lost Temple and Dire Straits maps.
Bug Fixes
- Fixed Hatchery cancellation crash bug.
- Fixed crash that can occur when SCVs are repairing a unit boarding a Dropship.
- Fixed crash when Mac users very quickly cancel connection to Battle.net.
- Fixed a scoring bug that gave Zerg unit points for building cancellation.
- Users can now take screen shots on Macintosh OS X.
- Updated Battle.net account creation information text.
- Logging onto an account closed for a Battle.net Terms of Service violation
will now say the account is closed, rather than ‘invalid password’.
- Fixed bug preventing Portuguese StarCraft clients from receiving patches from
Battle.net. Portuguese users must still patch to this level manually, but
subsequent patches can be obtained automatically from Battle.net.
- No longer displays control characters in Battle.net’s map description pane.
- Color codes and control codes are no longer allowed in chat messages.
- Fixed a crash in StarEdit when attempting to save modified Blizzard maps.
- Fixed undesired text wrapping in Spanish and Portuguese Battle.net screens.
- Fixed a rare crash in multiplayer games.
Exploits
- Fixed the Nydus Canal cancellation bug that allowed creating a mobile exit.
- Fixed two exploits that allowed players to gain minerals very quickly.
- Fixed exploit with Arbiter that allowed Zerg buildings to become cloaked.
- Fixed exploit that allowed units to kill themselves instantly.
- Fixed exploit that allowed Command Center infestation without a Queen.
- Fixed exploit that allowed Command Center infestation from a distance.
- Fixed exploit that allowed players to float Zerg Drones over obstacles.
- Fixed exploit that allowed worker units to mine at a distance.
- Fixed exploit that allowed Terran buildings to lift off while training units.
- Fixed exploit that allowed SCVs to repair Protoss buildings.
- Fixed exploit that allowed SCVs to detach Larvae from Hatcheries.
- Fixed exploit that allowed morphing Terran and Protoss buildings.
- Fixed exploit that allowed buildings to be stacked on top of each other.
- Playing against illegally named players on Battle.net no longer results in a
disconnect game result.
Link para la descarga:
http://ftp.blizzard.com/pub/broodwar/patches/PC/BW-114.exe
Salu2,
Lester Espinosa Martínez
Truco: Finalizar una aplicación conociendo el nombre…
Hola a todos, aquí les dejo un código que finaliza una aplicación conociendo el nombre de la misma.
function KillTask(ExeFileName: string): Integer;
const
PROCESS_TERMINATE = $0001;
var
ContinueLoop: BOOL;
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
begin
Result := 0;
FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
FProcessEntry32.dwSize := SizeOf(FProcessEntry32);
ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);
while Integer(ContinueLoop) <> 0 do
begin
if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
UpperCase(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) =
UpperCase(ExeFileName))) then
Result := Integer(TerminateProcess(
OpenProcess(PROCESS_TERMINATE,
BOOL(0),
FProcessEntry32.th32ProcessID),
0));
ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
end;
CloseHandle(FSnapshotHandle);
end;
Para utilizarlo bastaría solamente con poner un botón y en su evento OnClick escribimos:
KillTask(‘ntvdm.exe’); //Donde ntvdm.exe es el nombre de la aplicación…
Salu2,
Lester Espinosa Martínez
Truco: Mandar un NET SEND desde una aplicación…
Hola a todos, he aquí otro código que puede serles útil a la hora de programar una aplicación:
Añadimos al Uses la unit ShellAPI
Insertamos 2 Edits y un Button, el Edit1 será el IP de la máquina a quien vamos a enviar el mensaje o el nombre de la misma y el Edit2 será el mensaje a enviar…
Y añadimos en el evento OnClick del Button el siguiente código…
procedure TForm1.Button1Click(Sender: TObject);
begin
Try
WinExec(Pchar(‘net send ‘ + Edit1.Text + ‘ ‘ + Edit2.Text),0);
MessageDlg(‘El mensaje ha sido enviado satisfactoriamente al usuario: [' + Edit1.Text + ']‘,mtInformation, [mbOK], 0);
Except
MessageDlg(‘El mensaje no se ha podido enviar…’, mtError, [mbOK], 0);
End;
end;
Salu2,
Lester Espinosa Martínez
Truco: Buscar ficheros y/o carpetas…
Hola a todos, aquí les dejo un código que busca carpetas y/o ficheros:
procedure BuscaFicheros(path, mask : AnsiString; var Value : TStringList; brec : Boolean);
var
srRes : TSearchRec;
iFound : Integer;
I : Integer;
begin
I := 0;
if ( brec ) then
begin
if path[Length(path)] <> ‘\’ then path := path +’\';
iFound := FindFirst( path + ‘*.*’, faAnyfile, srRes );
while iFound = 0 do
begin
if ( srRes.Name <> ‘.’ ) and ( srRes.Name <> ‘..’ ) then
if srRes.Attr and faDirectory > 0 then
BuscaFicheros( path + srRes.Name, mask, Value, brec );
iFound := FindNext(srRes);
end;
FindClose(srRes);
end;
if path[Length(path)] <> ‘\’ then path := path +’\';
iFound := FindFirst(path+mask, faAnyFile-faDirectory, srRes);
while iFound = 0 do
begin
if ( srRes.Name <> ‘.’ ) and ( srRes.Name <> ‘..’ ) and ( srRes.Name <> ” ) then
Begin
For I := 1 To Length(Path) Do
If Path[I] = ‘\’ Then Path[I] := ‘-’;
If Value.IndexOf(Copy(Path,11,Length(Path))) = -1 Then Value.Add(Copy(Path, 11,Length(Path)));
End;
iFound := FindNext(srRes);
end;
FindClose( srRes );
end;
Añadimos a nuestra aplicación un MEMO y un botón, en el evento OnClick del botón escribimos lo siguiente:
procedure TForm1.Button1Click(Sender: TObject);
var
Ficheros:TStringList;
begin
Memo1.Clear;
Ficheros := TStringList.Create;
BuscaFicheros(‘c:\’,'*.*’,Ficheros,TRUE); //podemos cambiar el path y las extensiones de los ficheros a buscar…
Memo1.Lines.Assign(Ficheros);
Memo1.Lines.SaveToFile(‘Busqueda.txt’); //Si queremos salvar los resultados de la búsqueda…
MessageDlg(‘Se encontró un total de: ‘ + IntToStr(Ficheros.Count) + ‘ carpetas’, mtInformation, [mbOK],0);
Ficheros.Free;
end;
Salu2,
Lester Espinosa Martínez
Un poco de mi…
Hola a todos nuevamente, en este apartado pondré una breve descripción de mi para que me vayan conociendo.
Nombre: Lester Espinosa Martínez
Edad: 27 años
Ciudad: Cienfuegos
País: Cuba
Profesión: Especialista en Ciencias Informáticas
Estado civil: Casado
Aquí les dejo una foto mía en mi oficina, una de mi esposa y otra de mis 2 niños (2 Pastores Alemanes [CAIXA y SEIMOL])

<< Ainery Alemán Cabrera (mi esposa) >>
Salu2,
Lester Espinosa Martínez
Hola a todos…
Bienvenidos a mi blog personal, aquí trataré de temas de todos tipos, como Linux, Programación .NET en C#, Delphi, SQL, etc…
Acompáñame…!!!
Comentarios (4)
Comentarios (8)
Dejar un comentario

