Handbook:Parts/Working/Portage/ta

Portage ற்கு வரவேற்கிறோம்
Portage என்பது ஜென்டூவின் மென்பொருள் மேலாண்மையில் மிகவும் குறிப்பிடத்தக்கக் கண்டுபிடிப்புகளுள் ஒன்றாகும். இதன் உயர்ந்த நெகிழ்வுத்தன்மை மற்றும் மாபேரளவான தனிச்சிறப்புகள் காரணமாக இது லினக்ஸிற்காக கிடைக்கும் மென்பொருள் மேலாண்மை கருவிகளுள் சிறந்ததாக பெரும்பாலும் கருதப்படுகிறது.

Portage முற்றிலும் பைதான் மற்றும் பாஷ் ஆல் எழுதப்பட்டுள்ளது. இவை இரண்டும் உரைநிரல் மொழிகள் என்பதால் பயனர்களால் இவற்றை முழுமையாகக் காண முடியும்.

பெரும்பாலான பயனர்கள் கருவி மூலம் Portage உடன் வேளை செய்வர். இந்த பகுதி emerge இன் கைமுறை பக்கத்தில் உள்ள தகவல்களை நகலெடுத்தவாறு கூறுவதற்காக வடிவமைக்கப்படவில்லை. emerge ற்கான விருப்பத்தேர்வுகளின் முழு அறிக்கையைக் காண, கைமுறை பக்கத்தை நாடவும்:

Ebuilds
When Gentoo's documentation talks about packages, it means software titles that are available to the Gentoo users through the Gentoo repository. This repository is a collection of ebuilds, files that contain all information Portage needs to maintain software (install, search, query, etc.). These ebuilds reside in by default.

Whenever someone asks Portage to perform some action regarding software titles, it will use the ebuilds on the system as a base. It is therefore important to regularly update the ebuilds on the system so Portage knows about new software, security updates, etc.

ஜென்டூ கருவூலத்தை புதுப்பித்தல்
The Gentoo repository is usually updated with, a fast incremental file transfer utility. Updating is fairly simple as the command provides a front-end for :

Sometimes firewall restrictions apply that prevent from contacting the mirrors. In this case, update the Gentoo repository through Gentoo's daily generated snapshots. The tool automatically fetches and installs the latest snapshot on the system:

An additional advantage of using is that it allows the administrator to only pull in Gentoo repository snapshots that are signed by the Gentoo release engineering GPG key. More information on this can be found in the Portage features section on fetching validated Gentoo repository snapshots.

மென்பொருட்களை தேடுதல்
There are multiple ways to search through the Gentoo repository for software. One way is through itself. By default, returns the names of packages whose title matches (either fully or partially) the given search term.

எடுத்துக்காட்டாக, "pdf" என்பதை தங்கள் பெயரில் கொண்டுள்ள எல்லா தொகுப்புகளையும் தேடுவதற்கு:

To search through the descriptions as well, use the  (or  ) option:

வெளியீடு பல தகவல்களை அளிப்பதைக் கவனிக்கவும். புலங்கள் தெளிவாக முத்திரையிடப்பட்டுள்ளதால் இதன் பொருள்களுக்குள் நாம் மேலும் செல்லப் போவதில்லை:

மென்பொருட்களை நிறுவுதல்
When a software title has been found, then the installation is just one command away. For instance, to install gnumeric:

Since many applications depend on each other, any attempt to install a certain software package might result in the installation of several dependencies as well. Don't worry, Portage handles dependencies well. To find out what Portage would install, add the  option. For instance:

During the installation of a package, Portage will download the necessary source code from the Internet (if necessary) and store it by default in. After this it will unpack, compile and install the package. To tell Portage to only download the sources without installing them, add the  option to the emerge command:

நிறுவப்பட்ட தொகுப்பின் ஆவணப்படுத்தலைக் கண்டறிய
Many packages come with their own documentation. Sometimes, the  USE flag determines whether the package documentation should be installed or not. To see if the  USE flag is used by a package, use :

The best way of enabling the  USE flag is doing it on a per-package basis via, so that only the documentation for the wanted packages is installed. For more information read the USE flags section.

Once the package installed, its documentation is generally found in a subdirectory named after the package in the directory:

A more sure way to list installed documentation files is to use 's  option. is used to query Portage's database and comes as part of the package:

The  option can be used with other rules to view the install locations for many other types of files. Additional functionality can be reviewed in 's man page:.

மென்பொருட்களை நீக்குதல்
To safely remove software from a system, use. This will tell Portage a package is no longer required and it is eligible for cleaning through.

When a package is no longer selected, the package and its dependencies that were installed automatically when it was installed are still left on the system. To have Portage locate all dependencies that can now be removed, use emerge's  functionality, which is documented later.

முறைமையை புதுப்பித்தல்
To keep the system in perfect shape (and not to mention install the latest security updates) it is necessary to update the system regularly. Since Portage only checks the ebuilds in the Gentoo repository, the first thing to do is to update this repository. When the Gentoo repository is updated, the system can be updated using. In the next example, the  option is also used which will tell Portage to display the list of packages it wants to upgrade and ask for confirmation:

Portage will then search for newer version of the applications that are installed. However, it will only verify the versions for the applications that are explicitly installed (the applications listed in ) - it does not thoroughly check their dependencies. To update the dependencies of those packages as well, add the  option:

Still, this does not mean all packages: some packages on the system are needed during the compile and build process of packages, but once that package is installed, these dependencies are no longer required. Portage calls those build dependencies. To include those in an update cycle, add :

Since security updates also happen in packages that are not explicitly installed on the system (but that are pulled in as dependencies of other programs), it is recommended to run this command once in a while.

If the USE settings of the system have been altered, it is recommended to add  as well. Portage will then verify if the change requires the installation of new packages or recompilation of existing ones:

மீ தொகுப்புகள்
Some packages in the Gentoo repository don't have any real content but are used to install a collection of packages. For instance, the package will install the KDE Plasma desktop on the system by pulling in various Plasma-related packages as dependencies.

To remove such a package from your system, running on the package won't have much effect as the dependencies remain on the system.

Portage has the functionality to remove orphaned dependencies as well, but since the availability of software is dynamically dependent it is important to first update the entire system fully, including the new changes applied when changing USE flags. After this one can run to remove the orphaned dependencies. When this is done, it might be necessary to rebuild the applications that were dynamically linked to the now-removed software titles but don't require them anymore, although recently support for this has been added to Portage.

இவற்றை எல்லாம் பின்வரும் இரண்டு கட்டளைகள் மூலம் கையாளலாம்:

உரிமங்கள்
Beginning with Portage version 2.1.7, it is possible to accept or reject software installation based on its license. All packages in the tree contain a LICENSE entry in their ebuilds. Running will show the package's license.

இயல்பாக, Portage ஆனது கட்டற்ற மென்பொருள் அறக்கட்டளை, திறந்த மூல முன்னெடுப்பு களால் வெளிப்படையாக ஏற்றுக்கொள்ளப்பட்ட உரிமங்கள் அல்லது கட்டற்ற மென்பொருள் வரையறுத்தல் ஐ பின்பற்றும் உரிமங்கள் ஆகியவற்றை அனுமதிக்கிறது.

அனுமதிக்கப்பட்ட உரிமங்களைக் கட்டுப்படுத்தும் மாறியானது ACCEPT_LICENSE என அழைக்கப்படுகிறது. இதை கோப்பில் அமைக்கலாம். அடுத்த எடுத்துக்காட்டில் முன்னிருப்பு மதிப்பு காண்பிக்கப்பட்டுள்ளது:

இந்த உள்ளமைவு மூலம், கட்டற்ற மென்பொருள் அல்லது ஆவணப்படுத்தல் உரிமத்தைக் கொண்டுள்ள தொகுப்புக்கள் நிறுவ முடியும். கட்டற்ற மென்பொருள் அல்லாதவற்றை நிறுவ முடியாது.

ACCEPT_LICENSE மாறியை கோப்பில் உலகம் முழுமைக்கும்,  கோப்பில் ஒரு தொகுப்புக்குத் தனியாக அமைக்க முடியும்.

எடுத்துக்காட்டாக, தொகுப்பிற்கான  உரிமத்தை அனுமதிப்பதற்கு, பின்வருவதை  இல் சேர்க்கவும்:

This permits the installation of the package, but prohibits the installation of the  package, even though it has the same license.

License groups defined in the ACCEPT_LICENSE variable are prefixed with an  sign. A possible setting (which was the previous Portage default) is to allow all licenses, except End User License Agreements (EULAs) that require reading and signing an acceptance agreement. To accomplish this, accept all licenses (using ) and then remove the licenses in the EULA group as follows:

இந்த அமைப்பு கட்டற்ற மென்பொருள் மற்றும் ஆவணப்படுத்தல் அல்லாதவையும் அனுமதிக்கும் என்பதை நினைவில் கொள்க.

கலைச்சொல்
முன்பு கூறியது போல், Portage மற்ற மென்பொருள் மேலாண்மை கருவிகள் அளிக்கத் தவறும் சிறப்பியல்புகளைக் கொண்ட மிக்க திறன் வாய்ந்த கருவியாகும். இதைப் புரிந்துகொள்வதற்காக நாங்கள் Portage இன் சில இயல்புகளை விரிவாக இல்லாமல் சற்று எளிமையாக விளக்கியுள்ளோம்.

With Portage different versions of a single package can coexist on a system. While other distributions tend to name their package to those versions (like freetype and freetype2) Portage uses a technology called SLOTs. An ebuild declares a certain SLOT for its version. Ebuilds with different SLOTs can coexist on the same system. For instance, the freetype package has ebuilds with SLOT="1" and SLOT="2".

There are also packages that provide the same functionality but are implemented differently. For instance, metalogd, sysklogd, and syslog-ng are all system loggers. Applications that rely on the availability of "a system logger" cannot depend on, for instance, metalogd, as the other system loggers are as good a choice as any. Portage allows for virtuals: each system logger is listed as an "exclusive" dependency of the logging service in the logger virtual package of the virtual category, so that applications can depend on the package. When installed, the package will pull in the first logging package mentioned in the package, unless a logging package was already installed (in which case the virtual is satisfied).

Software in the Gentoo repository can reside in different branches. By default the system only accepts packages that Gentoo deems stable. Most new software titles, when committed, are added to the testing branch, meaning more testing needs to be done before it is marked as stable. Although the ebuilds for those software are in the Gentoo repository, Portage will not update them before they are placed in the stable branch.

Some software is only available for a few architectures. Or the software doesn't work on the other architectures, or it needs more testing, or the developer that committed the software to the Gentoo repository is unable to verify if the package works on different architectures.

Each Gentoo installation also adheres to a certain profile which contains, amongst other information, the list of packages that are required for a system to function normally.

தடுக்கப்பட்ட தொகுப்புகள்
Ebuilds contain specific fields that inform Portage about its dependencies. There are two possible dependencies: build dependencies, declared in the DEPEND variable and run-time dependencies, likewise declared in RDEPEND. When one of these dependencies explicitly marks a package or virtual as being not compatible, it triggers a blockage.

While recent versions of Portage are smart enough to work around minor blockages without user intervention, occasionally such blockages need to be resolved manually.

To fix a blockage, users can choose to not install the package or unmerge the conflicting package first. In the given example, one can opt not to install postfix or to remove ssmtp first.

Sometimes there are also blocking packages with specific atoms, such as. In this case, updating to a more recent version of the blocking package could remove the block.

It is also possible that two packages that are yet to be installed are blocking each other. In this rare case, try to find out why both would need to be installed. In most cases it is sufficient to do with one of the packages alone. If not, please file a bug on Gentoo's bugtracking system.

மறைக்கப்பட்ட தொகுப்புகள்
When trying to install a package that isn't available for the system, this masking error occurs. Users should try installing a different application that is available for the system or wait until the package is marked as available. There is always a reason why a package is masked:

தேவையான USE கொடி மாற்றங்கள்
அமைக்கப்படவில்லை என்றால் பிழைச் செய்தி பின்வருமாறு திரையில் காட்டப்படும்:

Such warning or error occurs when a package is requested for installation which not only depends on another package, but also requires that that package is built with a particular USE flag (or set of USE flags). In the given example, the package app-text/feelings needs to be built with USE="test", but this USE flag is not set on the system.

To resolve this, either add the requested USE flag to the global USE flags in, or set it for the specific package in.

காணாமல் போன சார்புநிலைகள்
The application to install depends on another package that is not available for the system. Please check Bugzilla if the issue is known and if not, please report it. Unless the system is configured to mix branches, this should not occur and is therefore a bug.

தெளிவற்ற ebuild பெயர்
The application that is selected for installation has a name that corresponds with more than one package. Supply the category name as well to resolve this. Portage will inform the user about possible matches to choose from.

சுழல் சார்புநிலைகள்
Two (or more) packages to install depend on each other and can therefore not be installed. This is most likely a bug in one of the packages in the Gentoo repository. Please re-sync after a while and try again. It might also be beneficial to check Bugzilla to see if the issue is known and if not, report it.

Fetch தோல்வியடைந்துவிட்டது
Portage was unable to download the sources for the given application and will try to continue installing the other applications (if applicable). This failure can be due to a mirror that has not synchronized correctly or because the ebuild points to an incorrect location. The server where the sources reside can also be down for some reason.

சிக்கல் இன்னும் நீடித்தால் ஒரு மணி நேரம் கழித்து மீண்டும் முயற்சி செய்து பார்க்கவும்.

முறைமை தனியமைப்பு பாதுகாப்பு
The user has asked to remove a package that is part of the system's core packages. It is listed in the profile as required and should therefore not be removed from the system.

Digest சரிபார்த்தல் தோல்வியடைதல்
This is a sign that something is wrong with the Gentoo repository - often, caused by a mistake made when committing an ebuild to the Gentoo ebuild repository.

When the digest verification fails, do not try to re-digest the package personally. Running will not fix the problem; it quite possibly could make it worse.

Instead, wait an hour or two for the repository to settle down. It is likely that the error was noticed right away, but it can take a little time for the fix to trickle down the rsync mirrors. Check Bugzilla and see if anyone has reported the problem yet or ask around on (IRC). If not, go ahead and file a bug for the broken ebuild.

வழு சரிசெய்யப்படவுடன், நிலையான digest ஐ எடுப்பதற்கு ஜென்டூ ebuild கருவூலத்தை மறு ஒத்திசைவு செய்யவும்.