atio

 

36 lecturas

Quería que primeira nova deste ano 2018 fose algo especial. E que mellor maneira que comezalo ano presentándovos a miña maqueta Linux. Trátase de ATIO GNU/Linux 18-1 con escritorio XFCE 64 bit, baseada en Debian Buster 10 (testing). Foron varias as distribucións que estudei antes de animarme coa miña: Debian, a Maqueta Abalar Libre, Debex, pero sen dúbida a que máis me axudou foi Monarca de CotidianaPlace do meu amigo Nacho, e a experiencia que fun gañando cos servidores Linux, que dito de paso, non é moita; sendo un eterno aprendiz. Espero que vos guste.

A única finalidade da publicación desta maqueta é a didáctica, seguir aprendendo cousas deste fantástico sistema operativo e da atmosfera do software libre. Polo tanto, xa que non ten unha finalidade comercial, seredes os usuarios os únicos  responsables das consecuencias derivadas dos erros e das incidencias que puidera presentar.  Para os que nunca empregades GNU/Linux, animádevos. Aqueles usuarios que se pasan a Linux raramente volven ao sistemas operativos comerciais, xa que estes últimos carecen do máis importante: duns usuarios que pensan distinto e aprecian a liberdade e o coñecemento libre e compartido.

 

escritorio

 

Imaxino que vos preguntaredes, que aporta esta maqueta de diferente ás demais, ademais dun fondo de pantalla da miña praia favorita, Nemiña. Centreime en que os paquetes e versións de software fosen o máis actuais, procurei que o proceso de instalación resultase o máis sinxelo posible, que puidéramos conectarnos desde outro equipo, tanto desde Windows como desde Linux, empregando o escritorio remoto e por último, e non menos importante, que contáranos cun sistema operativo lixeiro e áxil. Trátase dunha imaxe Refracta que inclúe o kernel 4.14.0-3-amd64, que é kernel que emprega por defecto, pero poderíase arrancar tamén desde o 3.16 ou  4.9.

chis

 

Conta co instalador universal Calamares 3.1.10, co obxectivo de que a instalación non resulte complexa. Desde o instalador podemos engadir un usuario, definir o idioma da instalación (aínda que o Calamares non está traducido ao galego, poderemos seleccionar o galego como idioma de instalación do sistema operativo na segunda fiestra), e particionar o disco duro de destino de maneira rápida.

 

calamares

 

Conta con moitos servizos: cups (para instalar as impresoras), openssh, samba para xestionar ficheiros en remoto ou para compartir ficheiros con outros sistemas operativos e a posibilidade de conectarse a ATIO GNU/LINUX desde outro equipo empregando o protocolo RDP, contando no cliente con son reproducido no servidor e montando as unidades do cliente que desexemos no servidor. En canto ao software instalei pouco, pois é algo moi persoal, e cada usuario ten unhas necesidades particulares. Pero, como vos imaxinades, pódese incrementar ou eliminar o software que desexemos da maqueta. Entre os programas instalados, destaco LibreOffice 5.4.4, Firefox 57, Scratch e Remmina entre outros.

Unha vez descargada a  ISO, deberemos de crear un USB Live, ou como non, un DVD Live. Para os que nunca creastes ningún usb-live, adiántovos que consiste nun proceso moi sinxelo. Podedes seguir o explicado nesta entrada. No meu caso, normalmente  emprego a orde dd desde o terminal, que ainda que sendo máis lento é máis fiable. (dd if=ficheiro.iso of=/dev/sdx)

Descarga: http://atio.es/atio_os

 

 

23 lecturas

O primeiro que debemos de facer é instalar o IDE de Arduino e o IDE de MBlock, no caso de que non o teñamos instalado

1. Arduino

usuario@debian:~$ su root

root@abalar6:/home/usuario# apt install arduino

2. mBlock

No caso de mBlock, instalamos a versión 3, xa que a 5 está en versión Alpha. Descargamos a versión de 32 bits ou de 64 bits, en función da arquitectura do noso sistema operativo. Para coñecer se a arquitectura do noso equipo é de 32 bits ou de 64 bits, podemos seguir o explicado na formación de Linux

Descarga de mBlock 32

Descarga de mBlock 64

Procedín a instalalo en dúas distribucións diferentes: Linux Mint 64 bits e do Debian Jessie (maqueta Abalar). No caso do Linux Mint, quedou perfectamente instalado, co lanzador no menú, dentro do apartado Outros. Polo tanto, no caso de Mint, pasaremos ao punto nº3.

No caso do Debian Jessie, instalouno na carpeta /opt/makeblock. Dentro desta carpeta, crea outra que se chama mBlock e dentro da segunda carpeta entre outros ficheiros hai un executable chamado mblock. Co programa menulibre podemos crear un elemento no menú de programación que chame a /opt/makeblock/mBlock/mblock, para que sexa máis cómoda a súa execución.

Instalamos a aplicación menulibre

Creamos un enlace simbólico a ficheiro e colocarémolo en /usr/bin, de maneira que ao escribir mblock no terminal se abra o software de mBlock

root@debian:/home/usuario# ln -s /opt/makeblock/mBlock/mblock /usr/bin/mblock

root@debian:/home/usuario# apt install menulibre

usuario@debian:~$ menulibre

(a imaxe para a icona collémola de /opt/makeblock/mBlock/resources/web/images/mblock-ide-logo.png)

menulibre

 

3. Librerías de makeBlock para Arduino

Tamén deberemos de instalar as librerías de makeblock para Arduino. Descargámolas do seguinte enderezo:

https://github.com/Makeblock-official/Makeblock-Libraries/archive/master.zip

Descomprimimos o ficheiro master.zip, e copiamos a carpeta makeblock na carpeta na que está instalado o Arduino. Para coñecer esta carpeta, o máis sinxelo de abrir o Synaptic e buscar Arduino

sy_arduino

Cun clic co botón dereito do rato, e elixindo a opción Propiedades, podemos ver la lapela ficheiros a carpeta na que está instalado o Arduino

Ficheiros_instalados

No caso de Debian, o Arduino está instalado en /opt/arduino-1.6.7

Copiamos a carpeta das librerías en /opt/arduino-1.6.7/libraries/

cp -rp /home/usuario/Descargas/Makeblock-Libraries-master/makeblock /opt/arduino-1.6.7/libraries/

4. Enchufamos o robot a un porto usb, e acendémolo.

No mblock á dereita aparece un enlace chamado connect. Se prememos nel e escollemos a opción USB

connect

Debe de aparecer no selector, e seguidamente prememos en connect.

5. Do deseño á compilación e cargado do código  no mbot

Deseñamos o programa en mBlock. Unha vez que o teñamos deseñado, pinchamos en <>code/upload, para ver o código processing. Seguidamente pinchamos en Edit with Arduino IDE

EDIT

Automaticamente ábrese o IDE de Arduino, co código importado de mBlock. No Arduino debemos de elixir a placa Arduino UNO e en porto escollemos a opción USB0. Desde Arduino, tan só debemos de facer un clic en probar e subir.

No caso de que escollamos un programa de exemplo no arduino, debemos de cambiar a chamada á librería #include "MeOrion.h" por a librería #include "MeMcore.h"

mcore

Polo tanto, empregamos a interface de mBlock para deseñar o programa por bloques e o ide de Arduino para subilo ao mbot. Obviamente tamén podemos deseñar o programa directamente no IDE de Arduino en código processing, cando teñamos certa experiencia co deseño de bloques.

2 lecturas

Debemos de cargar esta instrución ao inicio da sesión:

kstart --iconify --window 'IWB Driver' /usr/bin/iwbv7/IWB_Driver.sh

Seguindo as seguintes imaxes, podes facelo de maneira sinxela:

xcxc2xc3xc4

 

7 lecturas

En ocasións, cando un equipo é empregando por múltiples persoas, especialmente no caso de rapaces, pode ocorrer que eliminen o panel no cal apace o menú de inicio, lanzandores, a icona da configuración do son, apagar o sistema, etc.

Co botón dereito do raton no escritorio, escollemos a opción "Abrir aqui unha terminal". Unha vez aberta a terminal escribimos a seguinte orde:

usuario@debian:~$ xfce4-panel --preferences

E aparece a ventana para engadir máis ou eliminar paneis e ademais permite engadir elementos aos paneis. Teremos que ir agregando as iconas perdidas.

 

panel

 

Outra maneira alternativa é a de restaurar o usuario, pero antes debemos de facer unha copia de seguridade dos ficheiros que teña nas diferentes carpetas do /home/usuario.

Saimos da sesión de usuario (alt + F4) e entramos como root. Para asegurarnos de que todos os procesos do usuario quedaron pechados executamos a seguinte instrución:

root@debian:~# pkill -KILL -u usuario

Eliminamos o usuario e borramos a carpeta /home/usuario

root@debian:~# deluser usuario

root@debian:~# rm -r usuario

Volvemos a crear o usuario usuario. Deste xeito copiará a configuración gardada na carpeta /etc/skel

root@debian:~# adduser usuario

 

16 lecturas

Cando dispoñemos dunha imaxe ISO dunha distribución linux e queremos crear un usb que sexa arrancable para estudar a distribución e posteriormente instalala se o consideramos, podémolo facer con varias aplicacións ou incluso co terminal no caso de que teñamos un equipo con gnu/linux.

a. Se estamos cun equipo Windows, podemos empregar o RUFUS. Nin tan sequera temos porque instalalo, xa que ten unha versión portable. Podemos descargalo desde a súa páxina: https://rufus.akeo.ie/?locale=gl_ES

rufus

Tamén podemos descargar o ETCHER desde a súa páxina: https://etcher.io/

b. No caso de que o noso equipo dispoña dun sistema operativo con Linux, podemos empregar o ETCHER, que descargamos desde a súa https://etcher.io/. Trátase dun ficheiro executable, polo que non é necesario instalalo.

etcher

Se o preferimos podemos empregar o terminal. Para iso podemos facelo con dúas intrucións: dd e cat

Antes de nada debemos de coñecer o nome da unidade. Para iso podemos facelo á súa vez con dúas aplicacións, pero con privilexios de root.

su root (indicamos o contrasinal)

fdisk -l
fdisk

 

Neste exemplo, podemos observar que a unidade de /dev/sdd cunha capacidade de 14,4 GB é na que temos o usb de 16 gb (non aproveito totalmente a súa capacidade).

A segunda opción, e nesta ocasión máis visual, é coa orde gparted, que tamén nos servirá para formatear de maneira sinxela un lápiz usb.

gparted
gparted

 

Polo tanto agora só temos que crear a usb live:

dd if=/home/usuario/Descargas/abalar_17.iso of=/dev/sdd

No caso de empregar a orde cat

cat /home/usuario/Descargas/abalar_17.iso > /dev/sdd; sync

Coa orde cat, o proceso é moito máis rápido, sen embargo tenme ocurrido que unha vez creado o lápis, non arrancaba.

 

42 lecturas

En moitas ocasións os temas dos que dispoñemos en Drupal poden resultar un tanto serios. Para algunha páxina ou blog non se axustan, xa que procuramos dar unha imaxe máis viva e alegre. Velaquí temos un exemplo:

Cra os Remuiños: http://www.edu.xunta.gal/centros/craremuinos/

IES Ramón Caamaño: http://www.edu.xunta.gal/centros/iesramoncaamano/

 

cra_web

 

ies

O proceso para a configuración dunha páxina é o seguinte:

1. Crear unha carpeta para colocar os códigos CSS que sobreescriban os propios de Drupal. Para isto debemos de activar o módulo IMCE Mkdir

Indo ao apartado "a miña conta" -> xestor de ficheiros, e facemos un clic en engadir/editar imaxe e seguidamente en examinar. No explorador de ficheiros debemos de pinchar en Directory

directory

E creamos o cartafol chamado css. Neste cartafol crearemos un ficheiro de estilos css.
 

folder_css

 

2. Analizamos cales son os nomes identificativos dos bloques, para ir escribindo o código no fichero css que podemos chamar style.css, por exemplo

Imaxinemos que na nosa web temos un bloque como o seguinte:

bloque_cra

 

Xa temos o bloque coa información necesaria, o único que queremos é mudar a cor de fondo e quitarlle o borde que o tema 0Point de Drupal lle engade por defecto. Para iso, premendo co botón dereito do rato sobre o cadro e seguidamente en "Inspeccionar elemento"

inspeccionar

 

Aparece no borde inferior o código da páxina web. Aparece un dos elementos que forma parte do bloque en cor azul. Pero debemos de procurar o div raiz no cal están tódolos elementos do bloque, tan só temos que recorrer o código cara arriba, ata atopar a etiqueta div id="block-block-xx", onde xx é un número

codigo

 

Pois esta etiqueta será a que teñamos que configurar (tamén podemos configurar por class, pero vexamos unha maneira sinxela).

3. Creamos co editor de notas (mousepad, gedit, leafpad, etc), un ficheiro que chamamos style.css. E engadimos o seguinte contido:

/*contacto*/
#block-block-22 {
    border: 0px;
    background: #66b8dd;

  }

Onde:

/*contacto*/ é un comentario que nos sirve para identificar a que bloque nos estamos referindo

#block-block-22, é o id do bloque, que procuramos no paso anterior (id="block-block-22"

border: 0px;, no caso de non querer engadirlle un borde ao bloque

background: #66b8dd; , que é unha cor de fondo azulada

Obviamente repetimos os pasos anteriores cos diferentes bloques que queremos personalizar.

4. Subimos o ficheiro ao cartafol css que creamos no apartado nº1. Subímolo desde a miña conta -> xestor de ficheiros.

mousepad

 

style_subido

 

Pinchando en style.css aparece na parte inferior o nome style.css (ver imaxe), e ao pinchar neste segundo style.css,  ábrese a fiestra do editor de imaxes, desde o cal podemos copiar a url na que se atopa o ficheiro style.css

segundo_sty

 

url_copiar

Neste exemplo trátase da seguinte url:     /centros/iesramoncaamano/system/files/css/style.css

5. Seguidamente dirixímonos á zona de administración ->Construción da páxina -> Bloques. Prememos en Engadir bloque

engadir_bloque

Ao bloque chamarémoslle css_code, por exemplo. Non lle poñemos ningún título. Prememos en Formato de entrada e escollemos PHP code e seguidamente en "Desactivar texto enriquecido", e pegamos o código:

<html>
<head>
<?php
echo '<link href="/centros/iesramoncaamano/system/files/css/style.css" rel="stylesheet">';
?>
</head>
<body>
</body>
</html>

Deberemos de modificar o enderezo que aparece na etiqueta link href=  polo enderezo do ficheiro css do teu caso. Gardamos o bloque.

Finalmente colocamos o bloque css_code recén deseñado na parte superior da Cabeceira:

cabeceira

Deste xeito, cada vez que un usuario abre a páxina, o bloque css_code chamará ao ficheiro style.css, que sobreescribirá os estilos de Drupal. O resultado é o seguinte:

contacto

 

24 lecturas
opensankore

OpenSankoré é un programa libre para o manexo dos encerados dixitais. Sen embardo o seu desarrollo detívose fai  uns anos coa version 2.5.1. e no ano 2014. Recentemente o sitio oficial pechou, deixándonos sen este servizo. Sen embargo, podemos continuar descargando programa nun servidor non oficial:

http://laurent.bellegarde.free.fr/ubuntu/

Posteriormente xurdiu un fork de Sankoré moi interesante chamado OpenBoard. Podémolo descargar na seguinte ligazón:

openBoard

http://openboard.ch/download.en.html

Sen embargo non dispoñemos dunha versión para 32 bits, sendo todas para 64 bits.

Como instalar OpenBoard en Debian Stretch 32 bits

Para isto ímonos aproveitar do traballo realizado polo equipo de desenvolvemento de PrimTux. Trátase dunha fantástica distribución destinada aos máis pequenos. Está basada en Debian Stretch 9.2. https://primtux.fr/

primtux

O primeiro que debemos de facer é engadir o repositorio de primtux ao ficheiro de fontes:

usuario@debian:~$ nano /etc/apt/sources.list

deb http://depot.primtux.fr/repo/debs/ Primtux2-Stretch main

Engadimoso a clave gpg para asegurarnos que nos estamos comunicando co auténtico servidor de primtux:

wget -q -O key http://depot.primtux.fr/repo/debs/key/PrimTux.gpg.key

apt-key add key

Actualizamos e instalamos:

apt-get update

apt-get install openboard-stretch

Se quixeramos instalar o software en Debian Jessie, teríanos que engadir no ficheiros sources.list os repositorios de Stretch, actualizar e instalar o openboard-stretch, aceptando a instalación de moitas librerías e paquetes. Finalmente, despois deste proceso, tamén funciona en Jessie.

 

21 lecturas
drupal

1. INSTALACIÓN DE COMPOSER

mv composer.phar ~/bin/composer.phar

mkdir ~/bin

cd ~/

Creamos un alias as composer. Para iso creamos o profile de bash

touch .bash_profile

nano ~/.bash_profile

alias composer="php -d suhosin.executor.include.whitelist=phar ~/bin/composer.phar"

source ~/.bash_profile

comprobamos que funciona:

composer

 

2. INSTALACIÓN DE DRUSH

cd ~/bin

mkdir drush

descargamos a última versión de drush

git clone https://github.com/drush-ops/drush.git ~/bin/drush

cd ~/bin/drush

composer install  

Cando executaba a sentencia anterior o sistema imprimía un erro de memoria con un "Allocated Memory". Para solventar esta paso observei que o meu vps non dispón de memoria suficiente (512 mb) e non dispoñía de swap. Engadín 1 GB de memoria á Swap. Para iso seguín este titorial

composer install

Se neste punto comprobamos a versión de drush, obtemos que estamos coa versión 9.x-dev. Pero esta versión non nos vale, xa que da erros ao executar as sentencias de actualización da base de datos de Drupal, escribindo un deprecated instruction. Para a actualización do Drupal 8.4.2, precisamos a versión de Drush 8.1.15

mkdir ~/bin/drush8

cd ~/bin/drush8

composer require "drush/drush:8.*"

Creamos un alias á version drush8

alias drush='~/bin/drush8/vendor/bin/drush'

Este alias debemos de metelo no .bash_profile, senón ao reiniciar o servidor perderanse os cambios

nano ~/.bash_profile

engadimos:

alias drush='~/bin/drush8/vendor/bin/drush'

e actualizamos

source ~/.bash_profile

comprobamos que funciona

drush --version

Agora obtemos a versión de drush 8.1.15 precisa

 

3. PROCESO DE ACTUALIZACIÓN

Antes de nada facemos copia de seguidade da base de datos de Drupal e do cartafol no que teñamos instalado o Drupal.

a. Poñemos o sitios en modo mantemento

cd /var/www/html/drupal

drush  sset system.maintenance_mode 1

(Tamén o podemos facer sen ir ao cartafol empregando sentencias deste xeito:

drush --root=/var/www/html/drupal/ --uri=blog.atio.es sset system.maintenance_mode 1)

b. Reconstruímos a caché

drush cr

c. Actualizamos as dependencias de composer:

Seguimos en: cd /var/www/html/tic/drupal

composer update

d. Actualizar Drupal

composer require drupal/core:8.4.2 --update-with-dependencies

drush updb

Sen embargo aquí atopei moitos fallos. Por exemplo o seguinte:

root@debian:/var/www/html/drupal# drush pm-uninstall mbase
Drupal\Core\Extension\InfoParserException: Unable to parse themes/mbase/mbase.info.yml The reserved indicator "@" cannot   [error]

Neste caso dirixinme ao cartafol dos temas e eliminei a carpeta mbase

Tamén se presentaron fallos co módulo imce a co tagadelic. Neste caso elimineinos da base de datos coas seguintes instrucións:

drush sql-query "DELETE FROM key_value WHERE collection='system.schema' AND name='imce';"
drush sql-query "DELETE FROM key_value WHERE collection='system.schema' AND name='tagadelic';"

Aínda así non resolvín o erro tagadelic_list. Sen embargo executoume correctamente as dúas sentencias seguintes de actualización:

drush updb

drush pm-update

e. Quitamos o modo mantemento do sitio:

drush sset system.maintenance_mode 0

f. Reconstruímos a caché

drush cr

Con isto xa accedemos ao sitio e visualizase ben, sen embargo ao crear contidos, imprimía un erro inesperado. Ao dirixirme a Informes -> Mensaxes recentes de rexisto e filtrando os erros obtiña o seguinte:

Drupal\Component\Plugin\Exception\PluginNotFoundException: The "php_code" plugin does not exist. in Drupal\Core\Plugin\DefaultPluginManager->doGetDefinition() (line 52 of
/var/www/html/tic/drupal/core/lib/Drupal/Component/Plugin/Discovery/DiscoveryTrait.php).

Polo que parecía o erro estábao dando o módulo PHP Filter, pois estaba desactivado. Sen embargo cando o intentaba activar, o drupal non me deixaba, pois decíame que tiña un ficheiro de configuración activo. Poiden solucionalo instalando o módulo Easy Install que podemos atopar no seguinte enderezo:

https://www.drupal.org/project/easy_install

Con este módulo, ao pinchar en extend, aparece unha nova pestana que indica "Purge configurations", eleximos o módulo php_filter e eliminamos todas as configuracións

Seguidamente vamos a módulos, e activamos novamente o PHP FILTER

4. ERROS

Se despois de facer todo o proceso, aparece esta mensaxe

O sitio web atopou un erro inesperado.
Por favor, inténteo de novo máis tarde.

Podemos revisar o erros de php, para visualizar que módulos están dando fallos.

admin/reports/dblog (log de php)

Ese módulo debemos de desinstalalo, eliminar toda a configuración (co módulo easy install)e proceder a instalalo novamente.

 

 

7 lecturas
digitalocean

Deixo por aquí como actualicei o servidor de DigitalOcean no cal teño aloxado entre otras cousas este blog. Con moita probabilidade o proceso é moi parecido para outros servizos de VPS. Fixen unha actualización de Debian Jessie 8.2 a Debian Stretch 9.2. A primeira razón pola que fixen a actualización foi para enredar e pasalo ben, pois como teño sinalado noutras ocasións, GNU/Linux é divertido. A segunda razón foi para engadir PHP 7.0, que como xa lera na web, incrementa moito a velocidade de resposta do Drupal e outras páxinas, como comprobei máis tarde. Con toda seguridade hai outras formas de facelo, moito máis profesionais e sinxelas, pero este blog non deixa de ser unhas anotacións para internautas como ti que só procura aprender e disfrutar da informática.

root@debian:~:# apt update && apt upgrade

Facemos unha copia de seguridade do ficheiro sources.list:

root@debian:~:# cp /etc/apt/sources.list /etc/apt/sources.list.orig

root@debian:~:# nano /etc/apt/sources.list

E engadimos o seguinte contido:

deb http://mirrors.digitalocean.com/debian stretch main

deb-src http://mirrors.digitalocean.com/debian stretch main

deb http://security.debian.org/ stretch/updates main

deb-src http://security.debian.org/ stretch/updates main

deb http://mirrors.digitalocean.com/debian stretch-updates main

deb-src http://mirrors.digitalocean.com/debian stretch-updates main

Actualizamos as fontes e facemos un upgrade:

root@debian:~:# apt update && apt upgrade

Facemos o salto á versión Stretch

root@debian:~:# apt dist-upgrade

Reiniamos e comprobamos a versión instalada

root@debian:~:# reboot

root@debian:~:# cat /etc/debian_version

Obtendo o seguinte resultado: 9.2

Sen embargo non me funcionaba o Apache2. Decidín reinstalar LAMP (Apache, php e mysql)

O primeiro que fixen foi unha copia dos sites-avaliable e sites-enabled do Apache2 e seguidamente reinstalar os servizos.

root@debian:~:# cp -r /etc/apache2/sites* /home/copia_sites

root@debian:~:# apt remove --purge apache2

root@debian:~:# apt install apache2

root@debian:~:# apt-get remove php5

root@debian:~:# apt install php

root@debian:~:# /etc/init.d/mysql stop

root@debian:~:# apt-get --purge remove mysql-client mysql-server mysql-common

root@debian:~:# apt-get install mysql-client mysql-server mysql-common

root@debian:~:# service mariadb start

root@debian:~:# sudo apt-get install php-mysql

E ademais instalamos dúas utilidades, sendo necesaria a primeira para que funcione correctamente o phpmyAdmin

root@debian:~:# apt install php-mcrypt php-curl php7.0-gd

E finalmente debemos de cambiar a confirguación do apache2.conf. Debemos de substituir AllowOverride None por AllowOverride All

root@debian:~:# nano /etc/apache2/apache2.conf

<Directory /var/www/>
        Options Indexes FollowSymLinks
#       AllowOverride None
        AllowOverride All
        Require all granted
</Directory>