distros

Personalizando a ISO do Trisquel

Este artigo começou como uma tradução do artigo Customizing a Trisquel iso, disponível na página do próprio Trisquel. Este artigo foi expandido com algumas informações do Live CD Customization, do Ubuntu, além de informações próprias.


Primeiramente, uma ISO é uma imagem de um CD ou DVD. Você pode pegar um CD ou DVD e transformar todo o seu conteúdo em um arquivo, para depois copiá-lo para outro CD ou DVD, tendo duas mídias exatamente iguais. Esse arquivo é que é o iso. Para gravar um iso você deve escolher a opção que fala de "Escrever imagem no disco" ou algo parecido, no seu programa de gravação de CD e DVD.

O CD e o DVD do Trisquel (assim como o do Ubuntu, do Mint e de outros, o que inclui o DVD do CyanPack) traz o sistema operacional de modo que funcionará a partir da mídia, sem precisar instalar. Adicionalmente, permitirá instalação. É algo bem bacana e que quem é usuário de software livre já conhece há alguns anos.

O bom é que você pode personalizar esse arquivo iso, para que venha com os programas que você quer. É o que eu faço para criar a versão modificada do Trisquel, que é distribuída no CyanPack em DVD. E neste artigo, vou mostrar pra você  como fazer isso.

Pré-requisitos

Primeiro você precisa de espaço em disco. Há dois estágios na criação do arquivo iso. Além da iso original, você precisará colocar todo o conteúdo dela em uma pasta, depois replicar o maior arquivo dela para uma outra pasta. E precisa do espaço que usará para a nova iso. Para a iso internacional do Trisquel, por exemplo, para mudanças pequenas, é seguro ter pelo menos 10G livres (sem contar a iso original).

Você precisa da iso na mesma arquitetura que você está usando. Vai poder customizar uma iso de 64 bits se estiver rodando o sistema atual em 64 bits. As imagens de mídia do Trisquel você encontra na página de Downloads do site da distribuição.

Ah, claro, você precisa de uma dessas distribuições instaladas para servir de ambiente de trabalho. Trisquel, Mint, Ubuntu... Ou alguma igualmente compatível. Nela, você precisa instalar os pacotes squashfs-tools e genisoimage.

sudo apt-get install squashfs-tools genisoimage

Desempacotando

Bom, você já tem o iso? Então vamos começar.

Abra um terminal. Os comandos todos deverão ser executados como usuário root. Para isso você pode digitar

sudo bash

Agora, você precisará de um diretório vazio. Se você não mexeu muito na sua instalação, provavelmente o diretório /mnt estará disponível. Se tiver dúvidas, crie e utilize um outro. Eu geralmente utilizo o /mnt mesmo e comigo funciona.

mount -o loop trisquel-original.iso /mnt
cp -a /mnt trisquel-midia
umount /mnt

Pronto, você tem o conteúdo da imagem todo em uma pasta (trisquel-midia). Vamos então pegar o conteúdo do sistema efetivamente, que fica no arquivo squashfs:

mount -o loop trisquel-midia/casper/filesystem.squashfs /mnt
cp -a /mnt trisquel-sistema
umount /mnt

A pasta trisquel-sistema é onde vamos trabalhar.

O arquivo Preseed

O Trisquel vem com um arquivo que permite a preleitura de valores para o banco debconf. Você pode achá-lo em src/preseed/trisquel.seed. O arquivo contém exemplos comentados do que você pode fazer, como mudar o idioma padrão, configurar rede estática ou instalar automagicamente um conjunto extra de pacotes antes de o processo de instalação do live-CD ser concluído (nesse caso você precisará de internet durante a instalação).

Se as mudanças e adaptações de que você precisa puderem ser feitas smplesmente alterando este arquivo, você não precisará seguir o próximo passo.

Bom, pessoalmente não usei ainda esse arquivo, mas #ficadica.

Modificando

Vamos começar a festa. O ambiente ainda não está 100% pronto, pois vamos completá-lo:

cp /etc/resolv.conf trisquel-sistema/etc
mount --bind /dev trisquel-sistema/dev
chroot trisquel-sistema
mount -t proc none /proc
mount -t sysfs none /sys
mount -t devpts none /dev/pts

Pronto! Agora sim podemos brincar pra valer! Comece com apt-get update e apt-get upgrade. Depois você instala tudo o que você precisar, com apt-get, e pode fazer as personalizações que achar necessárias (claro, tudo em linha de comando).

Quando encerrar tudo, você precisa executar

apt-get clean
echo "" > /etc/resolv.conf
umount /dev/pts
umount /sys
umount /proc || umount -lf /proc
exit
umount trisquel-sistema/dev

Caso você tenha substituido o kernel ou os scripts de boot, copie os arquivos do kernel e initrd dessaforma:

cp trisquel-sistema/boot/vmlinuz-custom trisquel-midia/isolinux/vmlinuz
cp trisquel-sistema/boot/initrd.img-custom trisquel-midia/isolinux/initrd

Reempacotando

Depois de as mudanças serem feitas, você precisa reconstruir o squashfs e o arquivo .iso.

Comprima o sistema em um arquivo squashfs, apagando o original:

rm trisquel-midia/casper/filesystem.squashfs
mksquashfs trisquel-sistema trisquel-midia/casper/filesystem.squashfs

Pra terminar, crie o arquivo de imagem:

mkisofs -D -r -V "Meu Trisquel personalizado" -cache-inodes \
-J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot \
-boot-load-size 4 -boot-info-table -o trisquel-personalizado.iso trisquel-midia

Deixe claro para todos que a versão que você está distribuindo não é uma imagem .iso oficial.

Por fim, no caso de personalizar o Trisquel eles pedem: se qualquer software não livre foi incluído, por favor renomeie seu projeto e não use o nosso logotipo.

P. S.: Foto do post: CDs Dangling, de Bernzilla

Special: 

União Livre (de quem?)

"O objetivo desse projeto é descontinuar as atuais distribuições Linux do Brasil." É com essas palavras que o site do projeto União Livre começa a anunciar sua intenção: que o Brasil tenha uma distribuição GNU/Linux só.

Essa ideia de que existe um excesso de distribuições e que uma distribuição única seria a solução parece genial a um novato na área, mas se você analisar bem o cenário percebe facilmente o quanto é falha.

O grande problema dessa ideia é que o fato de haver muitas distribuições não é o problema. O problema acontece quando uma distribuição é criada e se mantém sem uma razão sólida. São duas situações distintas e que devem ser separadas.

Uma ideia de "unificar" ignora que distribuições tem seus motivos de existirem, não se resumem a "juntar usuários". Há distribuição que existe para atender a necessidades de certo perfil de usuários, outras que focam a divulgação de certas ferramentas ou ideais e por aí vai. É também frequente que os motivos de uma conflitem diretamente com os motivos de outra. Um exemplo simples? Uma distribuição quer facilitar ao máximo para os usuários enquanto outra quer se alinhar ao máximo com os conceitos de Software Livre. O que temos? "Facilitar ao máximo" exige abrir mão de certas liberdades, levando a equipe a embutir Adobe Flash, drivers fechados, dentre outras "facilidades". Isso não é conciliável com a outra meta.

Foi apenas um exemplo. Se considerarmos outras guerras como KDE versus GNOME (versus Unity versus GNOME 2 versus MATE versus...), por si só já justificaria divisões. Não adianta argumentar que elas podem entrar em concenso, pois as razões muitas vezes são complexas. Um dirá que adora a API do GTK+ e de todo o GNOME, enquanto outro dirá que a identidade visual do KDE é mais sólida; outro dirá que prefere o GNOME antigo, enquanto outro entende e aceita as vantagens que a Canonical defende para justificar seu Unity. Entendem? Geralmente não é só uma questão estética (só no caso de algumas ditas distribuições, que não passam de seleção de pacotes e criação de papéis de parede).

Você pode dizer: "Beleza, então faz uma distribuição que junte tudo num pacote só e fica todo mundo feliz." Será? O tamanho da distribuição resultante também pode ser um objetivo de algumas distribuições. Outras podem estar muito presas a certas distribuições internacionais específicas. Se uma distribuição quer "a melhor performance possível", não vai abrir mão de ser derivada do seu Arch Linux (suposição).

A despeito disso, "uma distribuição única" costuma ser algo pedido pelos usuários, por terem a percepção de que há desperdício de forças em um cenário tão amplo. Há mesmo? Muitas vezes sim, mas há outras soluções para isso. Os projetos podem se ajudar mais, trocar informações e ferramentas menores entre si, publicar mais o que é feito (muitas vezes ferramentas interessantes são criadas por pequenas distribuições e mantidas como "diferencial" ao invés de serem amplamente divulgadas como ferramentas para serem incorporadas por outros projetos).

Percebem como a multiplicidade de distribuições é algo complexo? Se ainda quiserem ver mais sobre a ideia de unificar distribuições, leiam uma discussão antiga minha com Sergio Tucano. Pois bem, vamos voltar ao caso específico da União Livre. O que vemos aqui? Um chamado anônimo aos mantenedores das milhares (?) de distribuições nacionais. Ao invés de assinar embaixo (identificando-se o/os autor/es da proposta perante a sociedade), ele(s) cria(m) um abaixo-assinado.

Por que não, ao invés de querer unificar, fazer uma consulta a cada distribuição, fazendo um levantamento das razões de sua existência? E a partir daí se tentar um MMC das distribuições (o que provavelmente não significaria uma distribuição única)? Não é preciso uma fundação para isso, nem é preciso unificar todas em uma só (e uma nova, ainda mais).

O que vejo é uma distribuição relativamente antiga no Brasil e uma mais nova: respectivamente, Big Linux e SimbiOS. As duas parecem ter os mesmos objetivos de agradar usuários leigos, agregando facilidades, de modo que não duvido que a ideia tenha surgido entre eles. E é uma boa ideia as duas integrarem esforços (mudando ou não de nome), só acho que não havia necessidade desse auê todo. Toda prepotência.

E ainda adotando o pomposo nome de União Livre (que adota drivers, browsers e outros aplicativos privativos). Quem vai entrar nessa canoa?

GNU/Linux também é para os sem-rede e diversidade é algo bom

Tudo começou às 14:46 do dia 3 de maio, quando o Sérgio Tucano do Livre Pensamento publicou em seu blog que Linux não é para pobre. Nele é dito que o Linux tem 100% de dependência de uso da Internet para se poder tirar benefício deles. O argumento foi criado com base nos sistemas de instalação de pacotes por rede.

O Mandriva One 2007 Spring, por exemplo, com apenas 1 clique ativamos o seu desktop 3D. É um desktop maravilhoso com efeitos de deixar de boca aberta qualquer usuário de Windows...

Mas a verdade é que o Pinguim não é para quem é pobre.

O Grande problema ainda existe, somos 100% dependentes da internet para poder instalar programas ou qualquer coisa que desejamos.

Instalar um programa em uma conexão de 56K com apt-get é no mínimo falta de senso...

Maravilhoso para quem tem uma conexão ADLS, Wireless etc. O GNU/Linux se comporta extremamente bem, é o Sistema dos Sonhos de qualquer usuário.

Mas para nós pobres mortais que usamos conexão discada ele se torna um mero Sistema Operacional com qualidades inegaveis porém sem uso.

Por isso eu digo, Linux não é para pobre.

Isso é uma impressão errada. Dá pra instalar GNU/Linux e seus pacotes a partir de CD ou DVD. Se você for à página do Linux Mall vai encontrar distribuições em CD-R com mais de um CD, já para poder instalar pacotes além dos básicos sem precisar de rede.

No caso do Debian, o famoso apt-get também funciona a partir de CDs. Foi assim que eu comecei a utilizar GNU/Linux, sem Internet e com 3 CDs gravados à disposição. Ainda hoje utilizo desta forma nos laboratórios de informática que administro em outras cidades, em prédios onde ainda não temos Internet por enquanto.

O Debian oferece 21 CDs para que você tenha acesso a todos os pacotes. Mas - isso o Sérgio parece não ter entendido direito na ocasião - é uma possibilidade, não necessidade. Com o primeiro CD, você já tem o sistema básico. Com o segundo, a tradução de quase tudo para vários idiomas, incluindo o Português. Isso porque o Debian tem um projeto de popularidade de pacotes, juntando os pacotes mais utilizados nos primeiros CDs.

Ou seja, dificilmente você precisará de mais do que meia dúzia de CDs. Para instalar nos laboratórios de que falei, uso até o CD 5 e por causa de um pacote só que é pouco utilizado e está justamente no quinto CD. Você não vai precisar de muitos CDs, mas se precisar, os arquivos ISO estão lá, para todos os pacotes que constam no repositório. Não me parece coerente reclamar que não tem acesso aos pacotes por CD e depois que eu falo dos CDs dizer "ah, mas 21 CDs é muita coisa"!

Ainda no caso do Debian, em seu site oficial há até mesmo uma lista de quem vende os CDs no Brasil.

Citar o Debian não prova que todo Linux pode ser instalado com todos os acessórios sem precisar de Internet, mas creio que a existência de uma distribuição assim (e logo uma com tantos pacotes) invalide a afirmação categórica mostrada no artigo do Sergio.

Round 2

No dia 9, o Sérgio publicou o artigo Desenvolvedores teimosos e usuários sem noção, onde diz:

Eu ainda não entendo por que os desenvolvedores de Softwares Livres, pessoas que ajudam na evolução do GNU, enfim, todos que trabalham de alguma forma com GNU ainda teimam em achar lindo e maravilhoso o Sistema ter várias formas de se instalar um único aplicativo e cada distribuição ter o seu tipo de extensão para instalação.

Vejam bem, não é prático, não é usável e torna o GNU/Linux mais complicado do que deveria ser.

Aqui a crítica é direcionada aos vários modos de se instalar um pacote de programa. A crítica aparentemente nasceu da impressão de que é por isso que distribuidores não fornecem programas para GNU/Linux em CD. Bem, neste caso prefiro publicar na íntegra os comentários que trocamos no artigo do Sérgio:

Bardo

Primeiro, no Windows não existe um padrão para instalação de novos programas. Isso é fato. Cada fabricante cria seu próprio instalador, o que leva a problemas de uns programas não desinstalarem completamente e cada um poder ter interface totalmente diferente do outro.

No GNU/Linux o Sistema Operacional tem um modo de instalação para suas partes internas e aplica esse modo a todos os aplicativos. Não existe o "instalador do programa tal", só o "pacote" que instalado usando ferramentas padrão da própria distribuição em uso. Assim, quando falamos de uma distribuição específica, temos um padrão de fato. Quem souber instalar um programa naquela distribuição saberá instalar todos os outros, pois o procedimento é estável e não muda.

Para resolver esse problema, cada distribuição seguiu seu caminho, pois são problemas não triviais. Hoje a projetos que tentam padronizar isso. E a bem da verdade, a maioria das distribuições hoje usa RPM ou DEB.

Como eu falei ao citar os 21 CDs, o Debian coloca os pacotes mais utilizados nos primeiros CDs, até o primeiro CD pode ser suficiente em alguns casos. Fico curioso sobre como atualizar um sistema em GNU/Linux pode ser muito mis difícil que Windows. No Debian, por exemplo, você pode usar uns três CDs como fonte principal de informações e usar apenas repositórios de segurança.

A diversidade é um preço da liberdade. Do lado dos usuários, não se pode ter liberdade se você não quer decidir as coisas. Liberdade está diretamente ligada a oportunidades de você decidir por si só. Se existem várias distribuições e você não quer aprender como fazer em cada uma delas, escolha uma, ué! Reclamar disso é como ir numa lanchonete e reclamar com o garçon que tem muitos tipos de refrigerantes diferentes, e que tem em lata e em garrafa, e que tudo isso confunde... :-P

Sérgio

Bardo, eu não estou comprarando a instalacão de aplicativos do Pinguim com o do Windows..

Temos metodos diferentes no debian, red hat, suse, gentoo , o resto das distribuicões são derivadas dessas então...

O que eu queria passar é que é muito mais simples eu ter um programa para qualquer distribuicão do que várias versões para cada tipo de GNU/Linux que utilizo.

Veja bem, eu não tenho problemas nenhum em apenas utilizar pacotes do Debian ou do Red Hat, .deb, ,rpm, mas eu desde que iniciei minhas discussões sobre GNU/Linux com o evento Desktop Livre etc, sempre pensei na facilitade de uso para um usuário qualquer.

Uma instalacão gráfica para todo e qualquer programa, programas vendidos em CDs etc.

Simples, para que complicar? Pode ser muito mais fácil do que já é...

FALOW

Bardo

Mas é possível ter um programa que se instale em qualquer distribuição. Os programas Mozilla, por exemplo, são distribuídos oficialmente assim. O problema é que isso traz desvantagens, como a questão de atualizações, por exemplo.

É muito simples para os usuários instalarem software em uma certa distribuição, quando aprendem uma vez, porque será sempre do mesmo jeito. A única dificuldade seria para quem vai distribuir o software, mas ora, existem formas de automatizar criação de pacotes. Quem distribui pode muito bem usar scripts que facilitem essa criação e, após preparar uma nova versão para liberação, rodar um só comando e ter a mão um .deb, um .rpm, um .tgz... Continua sendo simples pro usuário. Para o fabricante, bastam poucos padrões, afinal, quem usa uma distribuição mais hardcore está acostumado a se virar com os fontes. ;-)

Se a sua idéia for padronizar o sistema de pacotes, bem... Cada sistema de pacotes tem suas vantagens e desvantagens (relevantes apenas em discussões técnicas, tanto faz para um leigo), de modo que acho difícil algum dos principais ceder e abandonar seu sistema de pacotes tradicional em detrimento de outro que não supre as necessidades que se considera importantes.

Sobre o Debian, hoje precisei checar a posição de algumas coisas nos CDs e aproveitei a viagem pra constatar algo interessante, que só confirma o que eu disse antes: no CD 1 já vem GNOME, OpenOffice.org e Iceweasel, dentre outros pacotes; no CD 2, vem tradução pra todos eles e o pacote do BrOffice.org. Quando eu comecei a utilizar o Debian, eu usava CDs. Três CDs, para ser mais preciso. E era muito simples e funcional.

Em suma, ainda não entendi a simplicidade proposta por você. Seria um padrão de pacotes único? Cada fabricante ter seu próprio instalador? Se o problema é quem distribui programas em CD, não tem problema, faz como o Mozilla, a Adobe (com o Flash) e a Sun (com o Java), que desenvolveram seus instaladores: fica uma porcaria para organização (com um bocado de desvantagens), mas funciona... :-/

Sérgio

Sim, seria um padrão de pacotes únicos e também aplicativos vindo em CDs e não apenas baixados pela internet.

Agora, só reforçando: isso já acontece de alguns distribuírem software sem utilizar o padrão da distribuição, mas há muita desvantagem nisso para o meu gosto, dentre as quais se destaca uma: você perde a noção de quando foi publicada uma atualização (inclusive de segurança) para o programa.

Round 3

Ontem o Sérgio publicou o terceiro artigo da série, este entitulado A dificuldade de um usuário, do qual reproduzo a passagem:

São tantas distribuições, tantas escolhas que usuários ficam perdidos, muitos tentam uma convergencia para um único sistema chamado UBUNTU, outros desistem de usar Pingüim e os que sobram experimentão a angustia de escolher uma distro com a "sua cara".

A possibilidade de termos um sistema aberto, modular e que nos permite infinitas modificações, customizações etc apresenta um ponto crítico para quem tenta utiliza-lo pela primeira vez.

A escolha do Sistema a ser instalado na máquina.

Para um usuário 300 sabores de GNU/Pingüim não facilita em nada a escolha.

Conheço usuários que escolheram usar o Kalango por que acharam o logotipo uma gracinha...

Outros usam o UBUNTU simplesmente porque ele é muito usado ou usam o Mandriva porque é bonitinho.

Foi a partir deste ponto que preferi escrever um artigo no meu próprio blog ao invés de continuar discutindo nos comentários. Vamos lá.

Primeiro, sim, o fato de haver muitas opções pode assustar o usuário iniciante, realmente. Principalmente hoje em dia, quando as pessoas não querem mais liberdade e preferem que terceiros decidam por suas próprias vidas. Mas devemos evitar a situação eliminando as opções?

Quando alguém não conhece o ambiente e vê que há muitas possibilidades, tem duas opções:

  1. Estudar um pouco sobre;
  2. Procurar ajuda e pedir a sugestão de um amigo que entenda.

Quem estudar um pouco sobre vai ver que o Ubuntu é atualmente o mais utilizado e provavelmente vai querer começar com ele. É a melhor opção para aquele usuário? Não sei, mas é um começo. Algo importante que as pessoas ainda não perceberam é que o computador não é mais "aquele negócio pra passar o tempo". Faz tempo que se tornou uma ferramenta de grande importância na vida de cada um de nós. Saber compilar o kernel pode não ter utilidade nenhuma para um profissional de saúde, por exemplo, mas conhecer um pouco o cenário de possiblidades é sempre útil.

Bem, aí vem a parte mais delicada do novo artigo do Sérgio, que reproduzo:

Uma convergencia entre as Distribuições?

O Ego dos desenvolvedores são grandes de mais para permitir isso. Eles são os verdadeiros culpados pelo GNU/Pingüim não ser o preferido da grande massa de usuários.

Muitos vão argumentar, para usar Linux o usuário já tem que saber que isso ou aquilo.
bq. Quem quer usar já sabe disso ou daquilo outro... etc etc.

Hipócritas mais uma vez...

Desenvolvedores de GNU/Pingüim não conseguem atingir o grande público simplesmente por que não pensam como eles, criam e pensam para Nerds, Xiitas e Entusiastas.

Mas me falam que GNU/Linux não é para todo mundo, que ele não deve ser usado pelo grande público.

Bando de bobos....

Bem, vamos lá:

  • Slackware é uma distribuição que tem como filosofia que você tem que ter controle sobre o seu sistema. Com base nessa filosofia, ela anda.
  • Debian é uma distribuição que tem um compromisso social e uma série de metas: rodar em várias arquiteturas, oferecer um conjunto enorme de pacotes livres, etc.
  • Ubuntu é uma distribuição com a filosofia "Linux para seres humanos".
  • Kurumin tem como meta rodar a partir do CD-ROM e oferecer suporte ao hardware que é vendido no Brasil.
  • Movix é uma distribuição que foca única e exclusivamente multimídia.
  • Gentoo é uma distribuição que tem como objetivo permitir que (ou "esperar que") o usuário compile toda a sua distribuição para assim ficar otimizada para o seu computador.
  • DSL é uma distribuição com o objetivo de caber em pouquíssimo espaço (50M) e fornecer um SO com interface gráfica leve para computadores antigos.
  • E por aí vai...

Definitivamente, não é questão de ego, é questão de que cada distribuição tem suas próprias metas. Algumas delas convergem, tanto que há projetos de padronização e algumas utilizam um mesmo tipo de pacote, por exemplo. É justo querer que todos eles virem uma coisa só?

Quantas pessoas gostariam que houvesse um "Windows otimizado para jogo" ou um "Windows já pronto para Cyber Café", etc. Do tipo que basta instalar e usar que está tudo pronto? O fato de não existirem variantes do Windows não quer dizer que seja a situação ideal para os usuários de Windows. No caso de Windows, a Lei simplesmente não permite que terceiros criem derivações e a MS não tem interesse em manter derivações (e está certíssima: note que cada distribuição GNU/Linux tem seu próprio mantenedor ou equipe).

Também me desagrada seu teor hostil. Note que ao invés de tentar dar mais consistência a seus argumentos, o que vimos são ataques preventivos, onde o Sérgio classifica antecipadamente todos os que dele discordarem de xiitas, hipócritas e outras coisas mais.

Conclusão

Há pessoas que não estão preparadas para serem livres, como pássaros que viveram na gaiola toda a vida. Isso não quer dizer que o conceito de Liberdade é que está equivocado.

Liberdade exige decisão. Se você quer medir rapidamente quão livre você é, tente ver com quantas situações de decisão você se depara no seu dia a dia e por quantas situações você passa porque outros decidiram por você antes.

É inevitável que haja muitas distribuições diferentes de GNU/Linux (embora elas possam se tornar mais próximas do mais do que estão hoje), assim como é inevitável que usuários não acostumados a ter que decidir sintam dificuldade no início, é aí que entram os grupos locais de usuários, que devem tentar dar direções para os novatos. A questão final é não existe Liberdade sem o poder escolha.

Subscribe to RSS - distros

Warning: PHP Startup: Unable to load dynamic library '/opt/php56/lib/php/extensions/no-debug-non-zts-20131226/pdo.so' - /opt/php56/lib/php/extensions/no-debug-non-zts-20131226/pdo.so: cannot open shared object file: No such file or directory in Unknown on line 0

Warning: PHP Startup: Unable to load dynamic library '/opt/php56/lib/php/extensions/no-debug-non-zts-20131226/pdo_mysql.so' - /opt/php56/lib/php/extensions/no-debug-non-zts-20131226/pdo_mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0

Warning: PHP Startup: Unable to load dynamic library '/opt/php56/lib/php/extensions/no-debug-non-zts-20131226/php_pdo_odbc.dll' - /opt/php56/lib/php/extensions/no-debug-non-zts-20131226/php_pdo_odbc.dll: cannot open shared object file: No such file or directory in Unknown on line 0