Acerca de:

Este blog contiene los códigos, ejemplos y bases de datos que he usado cuando aprendía acerca de algún tema específico. En lugar de borrarlos (una vez dominado ya el tema), he decidido publicarlos :)
Mostrando entradas con la etiqueta Centos. Mostrar todas las entradas
Mostrando entradas con la etiqueta Centos. Mostrar todas las entradas

viernes, 5 de junio de 2020

Cómo corregir el error taskdef class com.sun.tools.ws.ant.WsImport cannot be found using the classloader AntClassLoader[] de Neatbeans 8.2

Tengo un proyecto de Netbeans 8.2, el cual incluye un cliente o referecia a un webservice. Todo estába bien hasta que quise depurarlo en Centos 7, donde fue que me saltó este error al querer compilarlo:

taskdef class com.sun.tools.ws.ant.WsImport cannot be foundusing the classloader AntClassLoader[]

Como dije, en mi Windows estaba todo bien ¿que pasó?
Rebuscando en la web halle la solución luego de tres intensos minutos de pruebas, justo aquí.

Seguimos las instrucciones:
  1. ir a  Herramientas->Opciones->Java->Ant.
  2. Hacer clic en "Add JAR/ZIP..." bajo la sección Classpath
  3. Ir a "C:\Program Files\NetBeans x.y\enterprise\modules\ext\metro\"
  4. Seleccionar todos los archivos.
  5. Clic en Ok e intentar la importación/compilación de nuevo.
 


Mi instalación de Netbeans está en /home/pc/netbeans-8.2rc. los archivos que busco están en /home/pc/netbeans-8.2rc/enterprise/modules/ext/metro/
Se deben importar todos:



Luego, al compilar, me salió el error:

/nbproject/jaxws-build.xml:22: class com.sun.tools.ws.ant.WsImport2 doesn't support the "encoding" attribute.

El Netbeans indica que el error sucede en la línea 22 del archivo jaxws-build.xml, para ir allí hay que hacerle clic al enlace en la línea donde se muestra el error (en la ventana Output):



Lo que se debe hacer aquí es borrar la etiqueta encoding en todas las líneas donde salte el error. Ya con esto, el netbeans me permitió compilar mi proyecto.

viernes, 20 de abril de 2018

Cómo darle privilegios de sudo a un usuario en Centos 7

Esto es un resumen de 5 páginas web que explicaban cómo darle privilegios de sudo a un usuario con la terminal, a qué grupo añadirlo (no hay grupo "sudo" o "sudoers" en Centos) y cómo trabajar con el visudo, el editor que nos permitirá modificar los privilegios sin que haya condiciones de carrera con otros usuarios logueados.

En Centos, el grupo equivalente al "sudoers" es "wheel". Tengo un usuario llamado "pc" el cual quiero que pueda ejecutar comandos de "sudo", pero en mi instalación de Centos por defecto "pc" no tiene privilegios, y tampoco los tiene el grupo "wheels".

Para empezar a dar privilegios, primero hay que loguearse en la terminal como root con el comando su root, y luego ejecutar visudo:




Una vez dentro del visudo, con las teclas del cursos buscamos la línea donde dice "allows people in group wheel to run all commands", la siguiente línea es la que le da privilegios al grupo "wheel". Si empieza con el caracter #, está comentada y debemos borrarlo:



 Yo prefiero ir hasta el final del archivo para guardar y salir, esto se hace con el comando :wq



Luego se ejecuta el comando usermod -aG wheel pc el cual añadirá el usuario "pc" al grupo wheel:


Y eso es todo! Si el usuario sigue sin poder ejecutar comandos de sudo se debe reiniciar el sistema.
Lo he probado en Centos 7, pero también debería funcionar en Centos 6.

miércoles, 17 de mayo de 2017

Instalar nautilus-open-terminal en Centos 6 y Ubuntu 14.04

Uno de los problemas que tengo con Centos 6 y Ubuntu 14 es que el menú secundario del Nautilus no tiene la opción de ejecutar la terminal en la carpeta que se tiene abierta. Luego de una intensa investigación (5 minutos en google) encontré los comandos para instalar el paquete nautilus-open-terminal. Para no tener que memorizarlos, escribí un par de scripts en python para que los instalaran por mí.

Script para Centos 6:

# coding=utf-8
import subprocess;
import shlex

def main():
    subprocess.call(shlex.split('yum install nautilus-open-terminal'))
    subprocess.call(shlex.split('killall nautilus'))

if __name__ == "__main__":
    main()



Script para Ubuntu 14:

# coding=utf-8
import subprocess;
import shlex

def main():
    subprocess.call(shlex.split('sudo apt-get install nautilus-open-terminal'))
    subprocess.call(shlex.split('killall nautilus'))

if __name__ == "__main__":
    main()


Para ejecutar estos comandos se deben guardar en un archivo con extensión .py, abrir la terminal con un usuario sudo y ejecutar el comando:

python script_para_instalar_open_terminal.py

martes, 3 de noviembre de 2015

Cómo instalar Gnome en Centos 7 Minimal

En mi Centos 7 Minimal (el que no tiene manejador de ventanas), virtualizado con Virtual Box, quise instalar Gnome; pero cuando ingresaba los comandos de yum para descargar e instalar los paquetes, me tiraba que las direcciones de los repositorios estaban mal configuradas y no era capaz de encontrarlas.

Rebuscando en internet hallé la raiz del problema, mi conexión Ethernet no estaba activa. Para activarla se debe ingresar en la terminal:

nmcli & nmtui

lo cual abrirá un menú al mejor estilo DOS donde se podrá activar la conexión Ethernet.

Ya conectado, se puede invocar al instalador de Gnome con este comando:

sudo yum groupinstall "GNOME Desktop"

"sudo" es opcional si ya se está logueado con un usuario con suficientes privilegios.
Con esto, yum descargará los 650 megas de Gnome y los instalará (hay que tenerle un poco de paciencia pues incluye Firefox y LibreOffice).

Luego de descargr los 650 megas de paquetes, yum nos pedirá confirmar un par de veces si se desea incluir una clave con el hash de las descargas, y continuar. Si por error se presiona algo que nos haga salir de la instalación, sólo se debe volver a ingresar el comando yum groupinstall "Gnome Desktop", como los paquetes ya están descargados, esta vez el instalador revisará las dependencias e iniciará la instalación después de pedirnos confirmación.

Para iniciar Gnome (no es necesario reiniciar el sistema) se ingresa:

sudo systemctl start graphical.target

Agradezco el tutorial a nixCraft :D