De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: André Marques Saunite
Data de Publicação: 20 de julho de 2012
Eu uso Debian Testing, mas normalmente a versão Chrome que existe nos repositórios não é a mais atual, e eu achei que era muito tempo perdido ficar sempre compilando as versões mais novas, e foi então que eu encontrei esse site onde são gerados snapshots de cada versão do Chrome, para Linux i386, x86_64, Mac, Windows e até Arm:
http://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html
É só escolher a versão, baixar, descompactar, e pronto, um chromium totalmente livre e usável!
Mas por que ter todo o trabalho de baixar, descompactar, copiar os plugins que não vem por default (como o do flash), quando eu posso ter um script para fazer tudo isso?
Foi por isso que eu escrevi o script abaixo, o uso é bem simples:
Para baixar e instalar a versão mais recente do Chromium:
getChrome install
Para somente baixar a versão mais nova:
getChrome download
Para baixar uma versão especifica:
getChrome download < versão desejada>
Para baixar e instalar uma versão especifica:
getChrome install < versão desejada>
Para somente mostrar qual é versão mais atual:
getChrome print
Caso você já tenha baixado o arquivo .zip, pode instalar com o script:
getChrome install < arquivo .zip>
E para tudo isso funcionar perfeitamente, você só precisa configurar algumas variáveis no script antes de utilizar:
WORKDIR="${HOME}/Downloads/" # O diretório para onde vão ser baixados os .zip
CHROMIUMINSTALLDIR="/opt/" # Diretório onde o Chromium será instalado (a pasta chrome-linux vai ser criada nesse diretório
ARCH=Linux_x64 # A arquitetura do Chromium, tem que ser exatamente igual ao da lista existente em http://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html
USEROWNER="andre" # Usuario que será dono do diretório do Chromium
GROUPOWNER="andre" # Grupo que será dono do diretório do Chromium
FLASHDIR="/opt/flashplayer/" # diretório onde está o plugin do flash (libflashplayer.so)
E aqui segue o script (Download direto do script)
#!/bin/bash
WORKDIR="${HOME}/Downloads/"
CHROMIUMINSTALLDIR="/opt/"
ARCH=Linux_x64
ALREADYEXISTS="false"
USEROWNER="andre"
GROUPOWNER="andre"
FLASHDIR="/opt/flashplayer/"
LASTVERSION="nolastversionyet";
# Index at:
# http://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html
downloadSpecific () {
if [ -d $WORKDIR ] ; then
cd $WORKDIR
if [ -z $1 ]; then
echo "No input specified for 'downloadSpecific' function! Aborting!";
exit 9;
fi
LASTVERSION=$1
if [ ! -e chrome-linux_${LASTVERSION}.zip ] ; then
wget http://commondatastorage.googleapis.com/chromium-browser-snapshots/${ARCH}/${LASTVERSION}/chrome-linux.zip -O ${WORKDIR}/chrome-linux.zip;
if [ ! -s chrome-linux.zip ]; then
echo "File has no contents! Apparently the file doesn't exist in the repository, please double check in ";
echo "http://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?path=${ARCH}/ to be "
echo "sure the release exist!!!";
rm chrome-linux.zip;
exit 8;
fi
mv chrome-linux.zip chrome-linux_${LASTVERSION}.zip
echo "Chromium version ${LASTVERSION} saved as chrome-linux_${LASTVERSION}.zip"
export DOWNLOADEDFILE="chrome-linux_${LASTVERSION}.zip";
else
ALREADYEXISTS="true";
fi
else
echo "Directory \"$WORKDIR\" not found";
exit 10;
fi
if [ -n "${USEROWNER}" ] && [ -n "${GROUPOWNER}" ]; then
chown -R ${USEROWNER}:${GROUPOWNER} ${WORKDIR}
fi
}
download () {
if [ -d $WORKDIR ] ; then
cd $WORKDIR
wget -q http://commondatastorage.googleapis.com/chromium-browser-snapshots/${ARCH}/LAST_CHANGE -O ${WORKDIR}/LAST_CHANGE
LASTVERSION=`cat LAST_CHANGE`;
if [ ! -e chrome-linux_${LASTVERSION}.zip ] ; then
wget http://commondatastorage.googleapis.com/chromium-browser-snapshots/${ARCH}/${LASTVERSION}/chrome-linux.zip -O ${WORKDIR}/chrome-linux.zip;
mv chrome-linux.zip chrome-linux_${LASTVERSION}.zip
echo "Chromium version ${LASTVERSION} saved as chrome-linux_${LASTVERSION}.zip"
rm LAST_CHANGE;
export DOWNLOADEDFILE="chrome-linux_${LASTVERSION}.zip";
else
ALREADYEXISTS="true";
rm LAST_CHANGE;
fi
else
echo "Directory \"$WORKDIR\" not found";
exit 1;
fi
if [ -n "${USEROWNER}" ] && [ -n "${GROUPOWNER}" ]; then
chown -R ${USEROWNER}:${GROUPOWNER} ${WORKDIR}
fi
}
unpackAndInstall () {
#echo "unpack and install: $1";
if [ ! -z $1 ]; then
export FILETOINSTALL=$1;
fi
if [[ ! $FILETOINSTALL =~ ^\/ ]]; then
FILETOINSTALLBASENAME="`basename $FILETOINSTALL`";
FILETOINSTALL="${WORKDIR}/${FILETOINSTALLBASENAME}";
unset $FILETOINSTALLBASENAME;
fi
if [ -e ${CHROMIUMINSTALLDIR}/chrome-linux.old ] ; then
rm -rf ${CHROMIUMINSTALLDIR}/chrome-linux.old
fi
if [ -e ${CHROMIUMINSTALLDIR}/chrome-linux ] ; then
mv ${CHROMIUMINSTALLDIR}/chrome-linux ${CHROMIUMINSTALLDIR}/chrome-linux.old
fi
cd ${CHROMIUMINSTALLDIR};
unzip ${FILETOINSTALL};
chown -R root:users chrome-linux
chmod -R g+r,o+r chrome-linux
chmod g+x,o+x chrome-linux
find chrome-linux -type d -exec chmod g+x,o+x {} \+
find chrome-linux -writable -exec chmod g+w,o+w {} \+
find chrome-linux -executable -exec chmod g+x,o+x {} \+
cd chrome-linux
mkdir plugins 2> /dev/null
ln -s ${FLASHDIR}/libflashplayer.so ./plugins/libflashplayer.so
ln -s /usr/lib/jvm/java-7-sun/jre/lib/amd64/libnpjp2.so ./plugins/libnpjp2.so
cd - > /dev/null
}
# main()
if [ $# -eq 0 ]; then
echo "Usage: $0 < print|download|install> [chrome-linux.zip|release number]";
exit 4;
fi
if [ $1 != "download" ] && [ $1 != "print" ] && [ $1 != "install" ] && [ $1 != "--help" ] ; then
echo "Usage: $0 < print|download|install> [chrome-linux.zip|release number]";
exit 3;
fi
if [ $1 = "print" ] ; then
wget -q http://commondatastorage.googleapis.com/chromium-browser-snapshots/${ARCH}/LAST_CHANGE -O LAST_CHANGE
echo "Last version is `cat LAST_CHANGE`";
rm LAST_CHANGE;
exit 0;
fi
if [ $1 = "download" ]; then
if [ ! -z $2 ] && [ ! -e $2 ] ; then
if [[ $2 =~ ^[0-9]+$ ]]; then
downloadSpecific $2;
if [ $ALREADYEXISTS == "true" ]; then
echo "File chrome-linux_${LASTVERSION}.zip Exists, aborting";
exit 7;
fi
exit 0;
fi
fi
if [ -z $2 ]; then
download
if [ $ALREADYEXISTS == "true" ]; then
echo "File chrome-linux_${LASTVERSION}.zip Exists, aborting";
exit 2;
fi
else
echo "$2 is not recognized!";
echo "Usage: $0 < print|download|install> [chrome-linux.zip|release number]";
fi
fi
if [ $1 = "install" ]; then
if [[ $EUID -ne 0 ]]; then
echo "The install option needs to be run as root!";
exit 5;
fi
if [ ! -z $2 ] && [ -e $2 ] ; then
unpackAndInstall $2;
exit 0;
elif [ ! -z $2 ] && [ ! -e $2 ] ; then
if [[ $2 =~ ^[0-9]+$ ]]; then
downloadSpecific $2;
if [ $ALREADYEXISTS == "true" ]; then
echo "File chrome-linux_${LASTVERSION}.zip Exists, aborting";
exit 12;
fi
unpackAndInstall ${WORKDIR}/${DOWNLOADEDFILE};
exit 0;
else
echo "Error: File $2 not found";
exit 6;
fi
fi
download;
if [ $ALREADYEXISTS == "true" ]; then
echo "File chrome-linux_${LASTVERSION}.zip Exists, aborting";
exit 11;
fi
cd $WORKDIR;
unpackAndInstall ${WORKDIR}/${DOWNLOADEDFILE};
fi
if [ $1 = "--help" ]; then
echo "Usage: $0 < print|download|install> [chrome-linux.zip|release number]";
fi