Instalar o PhpSpreadsheet para trabalhar com arquivos do Microsoft Excel no PHP pode ser uma necessidade básica de um projeto.

Utilize os comandos abaixo para preparar o ambiente:

sudo apt install composer php-fdomdocument php-gd php-mbstring php-zip

sudo systemctl reload apache2

Em seguida, o comando abaixo instala o componente para uso no PHP:

composer require phpoffice/phpspreadsheet

Caso tenha um notebook sobrando, você pode, com algum esforço, criar uma unidade de backup local para seu servidor NextCloud na nuvem.

Com a versão Server do Ubuntu instalada nesse note, veja algumas dicas abaixo para configurar uma rotina de backup automatizada.

Impedindo o desligamento do notebook ao baixar a tela
  • Edite o arquivo /etc/systemd/logind.conf
  • localiza e altere o parâmetro: HandleLidSwitch=ignore
  • Finalize com o comando: sudo service systemd-logind restart
Acessar dados do backup na rede local Windows

Permitir o acesso aos arquivos do backup na rede local através de uma pasta compartilhada é recomendável.

Um HD externo formatado com NTFS pode ser usado para gravar os dados em pasta compartilhada usada como SambaShare.

  • mapeie essa unidade na fstab para ser carregada automaticamente no boot
  • crie uma pasta na unidade externa
  • crie um symlink da pasta da unidade externa na pasta home do usuário da rede que irá acessar os dados localmente
  • modifique o smb.conf para registrar o compartilhamento
    • allow insecure wide links = yes (na seção global)
    • e na seção do compartilhamento:
      • follow symlinks = yes
      • wide links = yes
Fazendo backup para uma pasta local

Antes de baixar os dados, é necessário tirar o sistema do ar, copiar as pastas do sistema e de dados para uma pasta local e finalmente reativar o sistema. Dessa forma garantimos a atomicidade dos arquivos e separamos o trabalho de transferência do backup.

Colocar o NextCloud em modo de manutenção (na pasta raiz do sistema NextCloud. ex: /var/www/nextcloud):

sudo -u www-data php occ maintenance:mode --on

Este artigo documenta o processo de configuração para executar transformações do Pentaho em um aparelho Raspberry Pi 3 (nossa estação pi) com a imagem do Raspbian Stretch Lite (sem ambiente gráfico, com foco no kitchen).

A estação pi utilizada foi a 3 Model B com 1Gb de RAM.

Iniciamos já com a imagem instalada no cartão e o aparelho ligado em rede local configurado para acessar a Internet (um servidor DHCP na sua rede local pode ajudar muita nessa hora).

Essa imagem possui apenas o essencial do sistema operacional. Dessa forma vamos instalar uma série de dependências antes de iniciar a configuração do Pentaho para rodar na arquitetura ARM7. Lembrando que o suporte à essa plataforma não é oficial e nem suportado por mim ou pelos detentores dos direitos do Pentaho.

Aconselho alterar a senha padrão do usuário pi (raspberry) para algo que lhe seja familiar e seguro.

Vamos aos comandos.

Atualização do sistema:

sudo apt update
sudo apt upgrade
reboot

Ferramentas que utilizo durante as configurações:

sudo apt install nmap mc screen p7zip-full zip

Ativação do servidor ssh para acesso remoto à estação pi:

sudo systemctl start ssh
sudo systemctl enable ssh.service

Instalação do JAVA:

sudo apt install oracle-java8-jdk

Download do Pentaho 8.2 na estação pi (este link pode expirar no futuro):

wget -c https://razaoinfo.dl.sourceforge.net/project/pentaho/Pentaho%208.2/client-tools/pdi-ce-8.2.0.0-342.zip

Extração do pacote (o nome do arquivo pode mudar no futuro):

unzip pdi-ce-8.2.0.0-342.zip

Instalação das dependências:

sudo apt install libwebkitgtk-1.0
sudo apt install libswt-gtk-4-java
sudo apt install libswt-gtk-3-java
sudo apt install libswt-cairo-gtk-3-jni
mkdir -p "/home/pi/.swt/lib/linux/arm/"
ln -s /usr/lib/jni/libswt* /home/pi/.swt/lib/linux/arm/
cp /usr/share/java/swt-gtk-3.8.jar /home/pi/data-integration/libswt/linux/armv7l

Modificação do arquivo spoon.sh para a plataforma ARM7:

adicionar esse código dentro de “Linux)”, após “case $ARCH in”:

armv7l)
           LIBPATH=$CURRENTDIR/../libswt/linux/armv7l/
           ;;

trocar os parâmetros dessa linha:

PENTAHO_DI_JAVA_OPTIONS="-Xms256m -Xmx512m -XX:MaxHeapSize=512m"

Com isso é possível executar jobs no Raspberry Pi, mesmo levando em consideração as limitações da plataforma.

Boa sorte!

Particularmente eu acho as notificações de atualizações dos sistemas operacionais extremamente dispersivas. Não que elas não devem existir, mas, prefiro que a execução das mesmas seja feita em um momento neutro do meu trabalho.

No Gnome, eu utilizo os seguinte comandos para desligar a busca automática:

systemctl stop packagekit

systemctl disable packagekit

No momento adequado, utilizo o comando abaixo para instalar as atualizações:

dnf update