O problemă comună în rândul utilizatorilor sistemului de operare Debian se pare că este înlocuirea pachetului Iceweasel cu ultima versiune de Mozilla Firefox. Am ajuns la această concluzie după ce am fost abordat pe această temă în repetate rânduri, drept pentru care voi prezenta în continuare un mic ghid.
Am două precizări importante înainte de a continua, și pentru a elimina unele confuzii ușor de făcut:
Atenție: exemplele de mai jos sunt construite utilizând „sudo”, dar dacă „sudo” nu este configurat pe sistem, toate comenzile care încep astfel vor trebui executate ca „root”.
1. Primul lucru de care avem nevoie este cea mai recentă versiune stabilă a Mozilla Firefox:
wget http://releases.mozilla.org/pub/mozilla.org/firefox/releases/latest/linux-i686/en-US/firefox-15.0.1.tar.bz2
2. Arhiva astfel obținută va fi dezarhivată:
tar -xf firefox-15.0.1.tar.bz2
3. ...și mutată într-o locație tipică programelor adiționale, de exemplu /opt
sudo mv firefox/ /opt cd /opt/firefox/
4. Pentru a nu avea probleme la actualizări, recomand trecerea directorului nou creat în proprietatea utilizatorului obișnuit de lucru, pe mașinile cu un singur utilizator de mediu grafic, sau a grupului comun utilizatorilor, pe sistemele unde este cazul. Voi oferi un exemplu care le combină pe ambele:
sudo chown victor:users . -R
Opțional, dacă setarea se face pe grup:
chmod 774 . -R
5. Acum avem Firefox pe sistem, mai trebuie puțină grijă de extensii (voi păstra locația implicită a Iceweasel pentru asta):
ln -s /usr/lib/mozilla/plugins /opt/firefox/plugins
6. Pentru a înlocui comanda care lansează Iceweasel cu Firefox, am mutat-o pe cea veche:
sudo mv /usr/bin/firefox /usr/bin/firefox-iceweasel
7. ...și am creat-o pe cea nouă:
sudo ln -s /opt/firefox/firefox /usr/bin/firefox
8. Sistemul mai are câteva mici nevoi pentru a accepta liniștit schimbarea. Întâi, o intrare .desktop:
sudo nano /usr/share/applications/firefox.desktop
și lipit următorul conținut:
[Desktop Entry] Name=Firefox GenericName=Web Browser Comment=Mozilla Firefox Exec=/opt/firefox/firefox %u Terminal=false Icon=/opt/firefox/icons/mozicon128.png Type=Application Categories=Application;Network;WebBrowser; MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png; StartupWMClass=Firefox-bin StartupNotify=true'
ATENȚIE: Numele pictogramei se poate schimba de la o versiune la alta, de verificat periodic în caz că dispare brusc :-)
8'. La fiecare actualizare de sistem, Iceweasel va vrea să rescrie legătura din /usr/bin/firefox cu o legătură către el însuși. De aceea, de moment ce nu mai suntem interesați de Iceweasel, vom instrui aptitude să oprească actualizările pentru acesta(pentru asta va fi nevoie de root, probabil):
echo "iceweasel hold" | dpkg --set-selections
9. În continuare, am folosit update-alternatives pentru a obține efectul de navigator implicit pe sistem:
update-alternatives --install /usr/bin/x-www-browser x-www-browser /opt/firefox/firefox 100 update-alternatives --set x-www-browser /opt/firefox/firefox
Am făcut pașii de mai sus pe un sistem pe 32 de biți, după cum se poate vedea din calea aleasă pentru descărcare. Ar fi interesant dacă cineva mi-ar trimite o adăugire și pentru 64 de biți (e foarte posibil să fie ceva diferit la extensii sau ia32-libs), pentru a acoperi cele mai importante arhitecturi.
Pentru a ușura toate etapele, am compus un script simplu, care execută tot. Sunt două opțiiuni de utilizare:
dpkg: error: operation requires read/write access to dpkg status area
Codul este:
#!/bin/bash echo -n "Introdu numele utilizatorului care va folosi Mozilla Firefox [$(whoami)]: " read USER echo -n "Introdu grupul care va utiliza Firefox [$(id -gn)]: " read GROUP echo -n "URL-ul arhivei pentru instalare: " read URL echo -n "Vrei să blochezi actualizările Iceweasel (recomandat) - doar dacă ești logat ca root [D/n] " read DPKG if [ -n "$DPKG" ] || DPKG='Y' if [ -z "$URL" ]; then URL="http://releases.mozilla.org/pub/mozilla.org/firefox/releases/15.0.1/linux-i686/en-US/firefox-15.0.1.tar.bz2" else #if [ -n "$(curl -sr 0-1 $URL | grep '404')" || $URL =~ '[.]*firefox-([0-9\.-_]*).tar.bz2' ]; then if [ -n "$(curl -sr 0-1 $URL | grep '404')" ]; then echo 'Eroare: URL nevalid!' ; exit; else echo 'URL valid, continuă...' fi fi echo '==========[ Pasul 1/3: Descărcarea navigatorului Mozilla Firefox ]==========' curl $URL | tar -jxv echo '==========[ Pasul 2/3: Copierea navigatorului Mozilla Firefox În sistem ]==========' mv firefox/ /opt if [ -z "$USER" ]; then USER=$(id -un) fi if [ -z "$GROUP" ]; then GROUP=$(id -gn) chown $USER:$GROUP /opt/firefox/ -R chmod 754 /opt/firefox/ -R else chown $USER:$GROUP /opt/firefox/ -R chmod 774 /opt/firefox/ -R fi echo '==========[ Pasul 3/3: Crearea legăturilor în sistem ]==========' ln -s /usr/lib/mozilla/plugins /opt/firefox/plugins mv /usr/bin/firefox /usr/bin/firefox-iceweasel ln -sf /opt/firefox/firefox /usr/bin/firefox echo '[Desktop Entry] Name=Firefox GenericName=Web Browser Comment=Mozilla Firefox Exec=/opt/firefox/firefox %u Terminal=false Icon=/opt/firefox/icons/mozicon128.png Type=Application Categories=Application;Network;WebBrowser; MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png; StartupWMClass=Firefox-bin StartupNotify=true' > /usr/share/applications/firefox.desktop update-alternatives --install /usr/bin/x-www-browser x-www-browser /opt/firefox/firefox 100 update-alternatives --set x-www-browser /opt/firefox/firefox if [ "$DPKG" = "Y" ] ; then echo "iceweasel hold" | dpkg --set-selections else echo "Atenție: pentru a dezactiva actualizările Iceweasel, execută ca root comanda:" echo 'echo "iceweasel hold" | dpkg --set-selections"' fi echo '==========[ Instalarea a reușit! Mozilla Firefox este navigatorul implicit și se află în meniul cu aplicații de rețea ]=========='
Cu câteva cunoștințe minime de GNU Bash, sau cu ceva intuiție, codul se poate altera după plac pentru a ajunge la efectele dorite fără a da prea multe comenzi de mână.
Acesta trebuie copiat într-o locație unde utilizatorul curent are drepturi de scriere, apoi făcut executabil și rulat -- presupunând că fișierul se numește install_mozilla-ff.sh, ar trebui:
chmod +x install_mozilla-ff.sh ./install_mozilla-ff.sh
Notă: Acest articol liber a apărut pentru prima dată în jurnalul lui Victor Nițu din comunitatea Ceata, jurnale.fii-liber.ro/~vnitu. Codul din acest articol este licențiat sub GPLv3+.
Comentarii
sidro (neverificat)
Luni, 01 Octombrie 2012
Link permanent
Si iceweasel ce are ?
Si iceweasel ce are ?
Nu e nevoie sa faci asa daca vrei ultima versiune Firefox/Iceweseal.
Arunca privirea aici: http://mozilla.debian.net
Iceweasel e Firefox.
Chiar nu inteleg de ce tot se bat cu morile de vant si nu pricep o data pt. totdeauna.
vnitu
Luni, 01 Octombrie 2012
Link permanent
Iceweasel a avut mai multe
Iceweasel a avut mai multe probleme de-a lungul timpului, și poate cea mai dureroasă a fost că la un moment dat venea cu o versiune de libsqlite care strica partea de bookmarks (rezulta în crash de aplicație la o colecție mai mare, cu o rata de reproducere de circa 70-80% parcă).
E destul de dificil să urmărești asemenea erori, neștiind care dintre surse a greșit (Debian sau Mozilla), ambele părți fiind niște suspecți buni pentru depanare. Eliminând una dintre părți, scapi de turele prin Debbugs :-)
Eu nu folosesc Firefox de la Mozilla, în mare parte din cauza pasiunii mele pentru motorul WebKit :-) Am scris acest ghid știind că au existat probleme exclusive în Iceweasel (inclusiv de consum mare de CPU, cam cu 50-60% mai mare) și pentru că sunt destul de frecvent întrebat despre asta. Pentru cel puțin trei sferturi din utilizatorii Debian însă, Iceweasel n-ar trebui să constituie o problemă, și o spun cu cea mai mare convingere. Dar o mare parte din dezvoltatorii web care folosesc Debian au avut probleme mai mici sau mai mari cu pachetele Mozilla construite de Debian.
Nu zic că arhiva de la Mozilla ar merge bine. De fapt, habar nu am, dar mi se pare ireal să fie ăsta bun și .deb nu. Dar asta elimină un nod din traseul Firefox către utilizator, de unde mai puține șanse de a introduce erori noi. Pentru un utilizator ce preferă Firefox ca navigator implicit, ar putea fi un win categoric și productiv să pună direct din arhiva de la Mozilla.
vnitu
Luni, 01 Octombrie 2012
Link permanent
Alternativă: instalarea Mozilla Firefox din LMDE
Am mai descoperit ceva.
Poți adăuga depozitul Linux Mint Debian Edition, și au ei pachete pentru Firefox, nesparte și nealterate precum cele din Debian, și care se instalează în /opt/ de asemenea. Recent mi-a comunicat cineva asta, urmează să verific când am vreme:
/etc/apt/sources.list.d/lmde.list
Apoi, logat ca root:
Dacă se dorește localizare:
sidro (neverificat)
Marţi, 02 Octombrie 2012
Link permanent
Nu am avut probleme serioase
Nu am avut probleme serioase cu Iceweasel. Nici cu cel din depozitele oficiale, nici cu cel din depozitul mozilla.
In afara de ceva agatari in Google plus nu au fost probleme. Si acolo banuiesc sa fie de la cpufreq care imi scade frecventa la procesor sau ceva prin kernelul de la siduction.
De asta spun ca nu pot da vina pe Debian pt. agatat in google plus. Iar daca pun procesorul pe performance adio adatare.
Solutia cu depozitele LMDE e ok, dar totusi trebuie sa fii atent, eventual cu ceva pin pe el.
Chromium papa mai putin CPU, in schimb papa mai mult ram. :)
Victor Nițu (neverificat)
Marţi, 02 Octombrie 2012
Link permanent
Chromium prealocă mai multă
Chromium prealocă mai multă memorie, dar nu comnsumă neapărat din ea. Dacă are cineva nevoie de ram, cred că va ceda din resursele prealocate. E o practică comună :-)
Nici eu n-am avut probleme serioase cu Iceweasel, dar asta mai ales ca intru foarte rar în el. Mi s-au plâns mai mulți, motiv pentru care am făcut ghidul ^
BTW, eu am mai mult RAM decât CPU, de aia îmi place WebKit :-D
yo9fah
Marţi, 18 Decembrie 2012
Link permanent
Excelent articol. Chiar aveam
Excelent articol. Chiar aveam nevoie de un tutorial așa step by step.