# emerge portage

## pendolf

Здравствуйте!

   Вообщем есть один продакшен сервер на котором нужно обновить порты. Судя по всему их не обновляли с момента запуска. Обновил порты выбрал профиль далее emerge portage выдал:

```
Calculating dependencies... done!

!!! All ebuilds that could satisfy "dev-libs/libxml2" have been masked.

!!! One of the following masked packages is required to complete your request:

- dev-libs/libxml2-2.7.8-r4 (masked by: EAPI 3, invalid: SLOT is undefined)

- dev-libs/libxml2-2.7.8-r3 (masked by: EAPI 3, invalid: SLOT is undefined)

- dev-libs/libxml2-2.7.8-r2 (masked by: EAPI 3, invalid: SLOT is undefined)

- dev-libs/libxml2-2.7.8-r1 (masked by: EAPI 3, invalid: SLOT is undefined)

The current version of portage supports EAPI '2'. You must upgrade to a

newer version of portage before EAPI masked packages can be installed.

For more information, see the MASKED PACKAGES section in the emerge

man page or refer to the Gentoo Handbook.

(dependency required by "sys-devel/gettext-0.18.1.1-r3" [ebuild])

(dependency required by "sys-apps/coreutils-8.5-r1" [ebuild])

(dependency required by "sys-apps/portage-2.1.10.48" [ebuild])

(dependency required by "portage" [argument])

```

 В /usr/portage/profiles/package.mask записи о libxml2 нет. в /etc/portage/package.keywords и /etc/portage/package.unmask добавлял запись. но все равно пишет что dev-libs/libxml2 замаскирован.

```
 emerge --info

Portage 2.1.6.7 (hardened/linux/amd64/no-multilib, gcc-3.4.6, unavailable, 2.6.16-hardened-r6 x86_64)

=================================================================

System uname: Linux-2.6.16-hardened-r6-x86_64-Intel-R-_Pentium-R-_4_CPU_3.40GHz-with-glibc2.3.2

Timestamp of tree: Tue, 21 Feb 2012 19:45:01 +0000

ACCEPT_KEYWORDS="amd64 ~amd64"

CBUILD="x86_64-pc-linux-gnu"

CFLAGS="-march=x86-64 -O2 -pipe -fforce-addr"

CHOST="x86_64-pc-linux-gnu"

CONFIG_PROTECT="/etc /var/bind"

CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/java-config/vms/ /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"

CXXFLAGS="-march=x86-64 -O2 -pipe -fforce-addr"

DISTDIR="/usr/portage/distfiles"

FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"

GENTOO_MIRRORS="http://gentoo.ftp.kg"

LDFLAGS="-Wl,-O1 -Wl,--as-needed"

MAKEOPTS="-j3"

PKGDIR="/usr/portage/packages"

PORTAGE_CONFIGROOT="/"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

SYNC="rsync://gentoo.ftp.kg/gentoo-portage"

USE="acpi amd64 apache2 bzip2 crypt extensions gd gif hardened jpeg memlimit mmx mysql ncurses nls nptl pam perl pic pie png python readline rrdcgi ruby slang snmp snortsam sse sse2 ssl svg tcl threads truetype unicode xml xml2 zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga neomagic nouveau nv r128 radeon savage sis tdfx trident vesa via vmware voodoo" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"

Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

```

----------

## TigerJr

 *pendolf wrote:*   

> Здравствуйте!
> 
>    Вообщем есть один продакшен сервер на котором нужно обновить порты. Судя по всему их не обновляли с момента запуска. Обновил порты выбрал профиль далее emerge portage выдал:
> 
> ```
> ...

 

ACCEPT_KEYWORDS="amd64 ~amd64" 

А точно продакшн??? не Desktop? убери ~amd64 и перебери портейдж всё может встать на свои места...[/b]

ООО  gcc-3.4.6 - сэр вы точно хотите обновить до 4.5.3 [Yes/No]

----------

## pendolf

 *Quote:*   

> ACCEPT_KEYWORDS="amd64 ~amd64"
> 
> А точно продакшн??? не Desktop? убери ~amd64 и перебери портейдж всё может встать на свои места...[/b] 

 

А как это связано с демаскировкой пакетов? знак тильда лишь разрешает использование тестируемых версий пакетов.

----------

## TigerJr

 *pendolf wrote:*   

>  *Quote:*   ACCEPT_KEYWORDS="amd64 ~amd64"
> 
> А точно продакшн??? не Desktop? убери ~amd64 и перебери портейдж всё может встать на свои места...[/b]  
> 
> А как это связано с демаскировкой пакетов? знак тильда лишь разрешает использование тестируемых версий пакетов.

 

знак тильда это не тестированные ещё пакеты, как тебя ещё к продакшену пустили?

The current version of portage supports EAPI '2'. You must upgrade to a newer version of portage before EAPI masked packages can be installed. 

игры с обновлением продакшена ни к чему хорошему ещё ни кого не привели!

----------

## pendolf

 *TigerJr wrote:*   

>  *pendolf wrote:*    *Quote:*   ACCEPT_KEYWORDS="amd64 ~amd64"
> 
> А точно продакшн??? не Desktop? убери ~amd64 и перебери портейдж всё может встать на свои места...[/b]  
> 
> А как это связано с демаскировкой пакетов? знак тильда лишь разрешает использование тестируемых версий пакетов. 
> ...

 

Не верно выразился, но дело не в этом. "~amd64— пакет стабилен на архитекруре amd64, но еще не прошло время тестирования" 

Ты в другую степь уходишь. забей что это продакшен.  У меня вопрос в другом заключается. В мануале сказано что есть два конфигурационных файла которые маскирует и демаскирует пакеты, в чем может быть причина того что они не срабатывают. и при установки софта пишет что пакет замаскирован, хотя в /etc/portage/package.unmask он указан?

И попрошу спокойней относится и не махать руками с криками кто меня туда такого пустил. (с gentoo первый раз столкнулся)

----------

## FlaTHunTeR

 *pendolf wrote:*   

> 
> 
> ```
> 
> The current version of portage supports EAPI '2'. You must upgrade to a
> ...

 

Обновить пакет sys-apps/portage, чёрным же по белому пишет!

И к слову о прекрасном:

```

#required by =portage-2.1.6.7 (argument)

# /usr/portage/profiles/releases/10.0/package.mask:

# Zac Medico <zmedico@gentoo.org> (09 Aug 2011)

# Bug #377907 - Use package.mask for compatibility with PMS section 5.2.7, and

# future versions of sys-apps/portage.

=sys-apps/portage-2.1.6.7

```

PS: А вот использование ACCEPT_KEYWORDS="~amd64" - это дурной тон! Есть замечательный способ: /etc/portage/package.keywords - и пишем в него что надо ставить нестабильного. А то вся система и уж тем более на продакшене... до добра это не доведёт.

PPS: Чтобы узнать как пересобрать пакет без зависимостей(но я бы не советовал делать такого на продакшене) нужно почитать man-страницу emerge. Подсказка: искать ключи -1 и -O.

----------

## TigerJr

 *pendolf wrote:*   

> 
> 
> Не верно выразился, но дело не в этом. "~amd64— пакет стабилен на архитекруре amd64, но еще не прошло время тестирования" 
> 
> Ты в другую степь уходишь. забей что это продакшен.  У меня вопрос в другом заключается. В мануале сказано что есть два конфигурационных файла которые маскирует и демаскирует пакеты, в чем может быть причина того что они не срабатывают. и при установки софта пишет что пакет замаскирован, хотя в /etc/portage/package.unmask он указан?
> ...

 

 "~amd64— пакет стабилен на архитекруре amd64

В корне не так.  Пакет НЕ СТАБИЛЕН, но "может быть" заработает на архитектуре амд64 - в багзиле его неработоспособность не указывали добрые пользователи. А если у них проблем не возникало это не значит что их нет.

Если с gentoo столкнулся первый раз и ещё и пришёл на офф форум, тогда спрашивай, слушай и не спорь. Ты вопрос задал, на сколько я его понял у тебя проблема с обновлением, я написал как можно её исправить ты ещё задаешь вопросы. 

Причём ты не ответил решена ли проблема, помог ли тебе ответ, а спрашиваешь о функционировании дерева портов. 

А это вопрос глобальный, если тебе рассказывать уйдет не мало времени на обучение тебя работать с gentoo. Это не дистрибутив линукса, а как написано это метадистрибутив, который позволяет установить тебе не только Линуксовое ядро, а даже ядро FreeBSD и работать с ним. 

Для этого нужно знать работу системы дерева портов которая соизмерима с фрибсдшными портами, а если не знаешь ни то не другое, тогда как мы можем тебе помочь?

Объясним как размаскировать, ты уронишь свой продакшн, мы еще будем косвенно виноваты. А потом в твоей организации ни когда не будут использовать гентоо.

Тем более ты наверно не заметил зависимостей мы помогаем тебе одним вопросом, у тебя возникает ещё вопрос. В такую игру можно играть до бесконечности. Создавай другую тему и конкретно задавай вопросы.

 *FlaTHunTeR wrote:*   

> 
> 
> PPS: Чтобы узнать как пересобрать пакет без зависимостей(но я бы не советовал делать такого на продакшене) нужно почитать man-страницу emerge. Подсказка: искать ключи -1 и -O

 

----------

