Arutelu:10 levinud viga Linuxi tarkvara paigaldamisel

Allikas: Pingviini viki

Kuigi tarkvara paigaldamine Linuxis on läbi teinud kannapöörde, leidub veel mõningaid ämbreid mille suhtes tasub silmad lahti hoida. See juhend teeb sinu elu Linuxis tunduvalt lihtsamaks ja ohutumaks.

1. Paigaldamine lähtekoodist peamiselt .rpm või .deb süsteemis
Paljud uued Linuxi kasutajad ei mõista, et rpm ja apt (või dpkg) peavad arvestust sinu arvutisse paigaldatud tarkvara üle. Nii et kui sa paigaldad mõne vähelevinud paki mida saab ainult lähtekoodina alla laadida, ning kompileerid selle ise, siis ei oska pakihaldussüsteem sellega midagi pihta hakata. Selle asemel tee parem lähtekoodist vastavalt kas .rpm või .deb fail ja paigalda see pakihaldussüsteemi abil, nii et see teaks mis sul parasjagu arvutis on.
2. Graafiliste pakihaldusliideste eiramine
Paljud ei tea isegi mitte, et Linuxi pakkide paigaldamisel võitavad graafilised liidesed suure osa mõistatamisest enda kanda. Yumi jaoks (käsurealine rpm'i pakihaldur) saab paigaldada Yumexi (paigaldamine: yum install yumex); apt jaoks saab kasutada Synapticut või või Adepti (paigaldamine: apt-get install synaptic või apt-get install adept).
3. Saadaval pakkide loendi uuendamise unustamine
apt-geti või yumi kasutades venedu, et sa uuendad saadaval pakkide loendit. Vastasel korral sinu arvutisse värskemaid uuendusi ei paigaldata. apt-getiga uuendamisel tuleb anda käsk apt-get update. yumiga uuendamisel tuleb anda käsk yum check-update.
4. Mitte yumi või apt-geti varamute lisamine
Nii yum, kui ka apt-get kasutavad varamute loendit, millest need saavad teada kust saadaolevaid pakke leida. Kuid esialgsed varamud ei sisalda kõiki pakke, mida linuxikond tunneb. Seega, kui sa üritad käsu abil rakendust paigaldada, kuid yum (või apt-get) ei suuda pakki leida, pead sa tõenäoliselt loendisse uue varamu lisama. Yumi varamute loendi asukoht on /etc/yum.conf. Apt-geti varamute loendi asukoht on /etc/apt/sources.list. Kindlasti soorita uue varamu lisamisel uuendus, et apt või rpm saaks teada, mida uuest varamust saada on.
5. Not taking advantage of installing from a browser
Täpselt nagu Windowsis, kui su arvuti leiab et sa üritad paigaldatavat rakendust alla laadida, küsitakse et kas sa soovid, et pakihaldussüsteem prooviks faili paigaldada, või sa soovid seda lihtsalt kettale salvesatda. Mõlemal juhul küsitakse sinult juurkasutaja salasõna (seega peab sul olema selleks vastav salasõna). Üks asi mis mulle selle juures on meeldinud, on et see (olgu tegu yumi- või dpkg-põhise süsteemiga) on peaaegu alati hästi toime tulnud sõltuvuste leidmise ja lisamisega..

Mõistagi, see töötab ainult siis, kui sa laadid alla faili mis sobib sinu süsteemiga. Kui sa üritad Debiani-põhises süsteemis rpm faili alla laadida, ei pakuta sulle selle paigaldamiseks võimalust.

Sa võid sellega veel kaugemale minna ja märgistada „Alati teha seda...” märkeruudu, et sinu pakihaldussüsteemiga seonduvate failide alla laadimisel küsitakse sinult alati juurkasutaja salasõna ja seejärel jätkatakse paki paigaldamisega. See lihtsustab tegevust üsnagi.

6. Käsurea unustamine
Let's say you've installed a headless server using Ubuntu or Debian (a common set-up for Linux servers) and haven't installed any of the graphical interfaces or desktops. To do any maintenance, you have to log in via ssh (because no admin would log in via telnet) and are limited to the command line only. Even so, your ability to keep your system updated or install new applications is not limited. You can still use yum or apt-get to manage your packages.

With a Debian-based system, you have another option: Aptitude. From the command line, issue the command aptitude and you will be greeted with a nice curses-based interface for apt. This system is easy to use and gives you an outstanding option for maintaining a gui-less server without losing functionality. Aptitude lists Security Updates, Upgradeable Packages, New Packages, Not Installed Packages, Obsolete Packages, Virtual Packages, and Tasks. As you scroll through the list, you will not only get the installed vs. the new package release numbers but also a description of the package. After using Aptitude, you will quickly see how simple updating Linux packages can be, even from the command line.

7. Pimesi tar-failide lahtipakkimine
Ma ei oska öelda, kui palju kordi ma olen laadinud lähtekoodi ja mõtlematult selle lahti pakkinud, teadmata mis seal sees on. Tavaliselt see töötab laitmatult. Kuid vahest paki looja/haldur pole ütelnud, et paki sisu pole kataloogis. Seega, selle asemel et paki sisu (mis võib koosneda sadadest failidest ja kataloogidest) läheks ühte kataloogi, paisatakse need kõik sinna kataloogi kus sa need lahti pakid.

Et seda ära hoida, teen ma alati ajutise kataloogi ja liigutan tar-faili sinna. Seejärel, kui ma tar-faili lahti pakin, pole vahet kas selle sisul on oma kataloog või mitte. Sedaviisi säästad sa end SUUREST puhastamistööst, mil faili autor ei ole kõik omaette kataloogi pakkinud.

8. Makefile'ide kustutamine
Lähtekoodist paigaldamisel käivitad sa tõenäoliselt „make clean” käsu, et kõikidest ebavajalikest lähtefailidest vabaneda. Kuid Makefile'i eemaldamisel muutub programmi eemaldamine keeruliseks. Kui sa selle alles hoiad, saad sa tavaliselt programmi eemaldada andes Makefile'i sisaldavas kataloogis „make uninstall” käsu. Hoiatus: ära pane kõiki oma Makefile' ühte kataloogi. Esmalt nimeta need ümber, et sa teaksid mis rakendusega tegu on. Kui sa soovid rakenduse eemaldada, liiguta Makefile teise kataloogi, taasta selle algne nimi ja siis soorita „uninstall” käsk. Kui sa oled rakenduse eemaldanud, võid Makefile'i kustutada.
9. Valele arhitektuurile paigaldamine
Võibolla oled täheldanud, et paljudel rpm-failidel on nimes i386, i586, i686, PPC, 64, jne. Sellel on ka oma põhjus. Juhul kui rpm-faili nimes pole „noarch”, siis on see rpm-fail tehtud kindlale arhitektuurile. Ning kui need failid on tehtud sellele arhitektuurile, siis need on sellele ka optimeeritud, et need paremini töötaksid. Kas see tähendab, et harilikule 386 arvutile ei saa i586 paigaldada? Muidugi mitte. Kuid see ei tööta nii tõhusalt, kui nimetatud arhitektuuris. Kuid siiski, sa ei saa paigaldada PPC rpm-faili x86 arhitektuuris. PPC arhitektuur on Motorola kiibistikule. Samuti ei saa 64-bitist paigaldada 32-bitisel. Siiski, sa saad paigaldada 32-bitist 64-bitisel arvutil (nagu näiteks juhul, kui sa soovid 64-bitises arvutis Firefoxis Flashi käivitada).
10. Failing to address problems with kernel updates
It used to be that updating kernels was a task left to the silverback geeks. No more. With the new package management systems, anyone can update a kernel. But there are some gotchas you should know about. One issue is that of space. With every update of a kernel, your old kernel is retained. If you continually update kernels, your system storage can quickly fill up. It's always a good idea to check to see what older kernels you can get rid of. If you're using rpm, issue the command rpm -qa | grep kernel to see what you have installed. You can remove all but the last two installed. It's always best to keep two in case the one you are running gets fubar'd.

Another gotcha involves Nvidia drivers. If you use the livna repositories, you will find yourself locked into the livna kernel releases as well. This isn't always a good idea. Instead, I would do this in two parts: update your kernel and then download and install the Nvidia drive associated with your kernel. This will require you to search for the proper rpm file for the Nvidia driver, but it will keep you from having to use the livna kernel. I was once locked into this system and found myself suffering from interesting kernel/video issues isolated to the livna files. Avoid this. Of course if you are using a Ubuntu system you can avoid the Nvidia trap altogether by using Envy. This handy tool will allow you to install the best Nvidia driver without having to mess up your favourite kernel.

And although this is a no-brainer, make sure you reboot after a kernel upgrade. It's the one time you will HAVE to reboot your Linux machine. Although your machine will continue to work just fine, it will be working with the older kernel and not taking advantage of the new feature or security enhancement (or whatever the newer kernel has to offer).

Välisviited