Команда IT специалистов выполнит подготовку инфраструктуры для вашего бизнеса.
Внедрение самых передовых решений и технологий.
Поддержка и сопровождение ваших сервисов.
Выполнение работ под "ключ", от покупки сервера, до настройки автоматизации процессов.
8(977)608-78-62 adm@nixm.ru

Funtoo.Настройка для пользователя сторонних оверлеев.

Ответить
Аватара пользователя
tupoll
Уважаемый участник
Уважаемый участник
Сообщения: 231
Зарегистрирован: 19 янв 2015, 07:30
Откуда: Vladivostok

Funtoo.Настройка для пользователя сторонних оверлеев.

Сообщение tupoll »

Конфигурация использует формат, похожий на Windows файлов .ini. Каждый раздел курса (имя репозитория в квадратных скобках) означает единое хранилище, а затем с помощью одного или более пар опция ключ-значение.Кофигурация файлов по умолчанию для хранилища Funtoo:/etc/portage/repos.conf -В конечном итоге настроек чтоб успокоить ругань
portage,layman и eix и заставить их нормально работать при смене стандартных настроек получилась директория с такими конфигами:

Код: Выделить всё

/etc/portage/repos.conf/layman.conf  
[DEFAULT]
#sync-user = oleg
#sync-umask = 022

[funtoo]
location = /var/db/repos/funtoo
sync-type = git
sync-uri = git://github.com/funtoo/ports-2015.git
auto-sync = yes
priority = 1

#[gentoo]
#location = /var/db/repos/gentoo
#priority = 1

[bar]
location = /var/db/repos/bar
priority = 2
eix при такой настройке даёт возможность выбрать пакет из например двух одинаковых из разных оверлеев,а portage по умолчанию выбирает по приоритету.
Второй конфиг -save.И избавиться пока от него получилось,во всяком случае не мешает:

Код: Выделить всё

/etc/portage/repos.conf/repo:
[DEFAULT]
sync-user = oleg
sync-umask = 022

[funtoo]
location = /var/db/repos/funtoo
sync-type = git
sync-uri = git://github.com/funtoo/ports-2015.git
auto-sync = yes

#[gentoo]
#location = /var/db/repos/gentoo
#priority = 1
Изменения коснулись еще следующих конфигураций:

Код: Выделить всё

/etc/layman/layman.cfg
[MAIN]
#-----------------------------------------------------------
# Defines the directory where overlays should be installed

storage   : /var/db/repos/

#-----------------------------------------------------------
# Remote overlay lists will be stored here
# layman will append _md5(url).xml to each filename

cache     : %(storage)s/cache

#-----------------------------------------------------------
# The list of locally installed overlays

installed: %(storage)s/installed.xml

#-----------------------------------------------------------
# Prompt the user if they are installing unofficial overlays

check_official : No

# This has been renamed from the following
# old name  : value use it for updating to new one above
# local_list: %(storage)s/overlays.xml
# either rename the overlays.xml file to installed.xml
# or edit the value above to the current name of your
# installed overlay(s) file.

##### NEW ##### Repo Config Options #####
#-----------------------------------------------------------
# Defines whether or not a repos.conf or make.conf file is
# required for the repository control group. Set to No for
# non-package manager involved repository control. For normal
# portage overlay use and function, this needs to be set to
# Yes. If yes, it requires at least one conf_type to be set.

require_repoconfig : Yes

#-----------------------------------------------------------
# Path to the make.conf file that should be modified by
# layman

make_conf : %(storage)s/make.conf

#-----------------------------------------------------------
# Path to the repos.conf file that should be modified by
# layman

repos_conf : /etc/portage/repos.conf/layman.conf

#-----------------------------------------------------------
# Defines whether or not auto_sync will be set to "yes" or
# "no" in your repos.conf config. Ultimately deciding whether
# or not the portage sync plug-in will automatically sync your
# layman overlays.

auto_sync : Yes

#-----------------------------------------------------------
# Repository config types used by layman
# (repos.conf, make.conf)

conf_type : repos.conf

#-----------------------------------------------------------

#-----------------------------------------------------------
# URLs of the remote lists of overlays (one per line) or
# local overlay definitions
#
#overlays  : http://www.gentoo.org/proj/en/overlays/repositories.xml
#            http://dev.gentoo.org/~wrobel/layman/global-overlays.xml
#            http://mydomain.org/my-layman-list.xml
#            file:///var/lib/layman/my-list.xml
#
#### GPG signed lists #### COMING SOON TO A DOWNLOAD SITE NEAR YOU #####
#
#  gpg_signed_lists :
#       These can be clearsigned or signed (compressed) overlay lists
#       Each url will be one complete file to download, verify, decrypt.
#       layman will automatically verify and decrypt the list before saving
#       One url per line, indented
#
#   e.g.:
#    gpg_signed_lists :
#        http://someserver.somewhere.com/someoverlays.xml.asc
#
gpg_signed_lists :

#
# gpg_detached_lists:
#       These url's involve downloading 2 files
#       The first url listed will be the overlays xml list.
#       The second url will be the detached signature file
#           with one of {.gpg, .asc, .sig} extension
#       Both url's must be on the same line space separated and indented
#
#   e.g.:
#    gpg_detached_lists :
#        http://distfiles.gentoo.org/overlays.xml http://distfiles.gentoo.org/overlays.xml.asc
#        http://someserver.somewhere.com/someoverlays.xml http://someserver.somewhere.com/someoverlays.xml.gpg

gpg_detached_lists :
#    https://api.gentoo.org/overlays/repositories.xml https://api.gentoo.org/overlays/repositories.xml.asc

#  original unsigned lists and definitions
#  one url per line, indented

overlays  :
    https://api.gentoo.org/overlays/repositories.xml

#-----------------------------------------------------------
# The directory to scan for xml overlay definition files to include
# in the list of available overlays.  They are automatically added to the
# "overlays" parameter above.  Use either method, but do not add the same
# definition in both.
#

#overlay_defs : /etc/layman/overlays

#-----------------------------------------------------------
# Proxy support
# If unset, layman will use the http_proxy/https_proxy environment variable.
#
#http_proxy  : http://[user:pass@]www.my-proxy.org:3128
#https_proxy : https://[user:pass@]www.my-proxy.org:3128

#-----------------------------------------------------------
# Strict checking of overlay definitions
#
# The nocheck option is a bit confusing, for historical reasons.
# Hopefully this description eases the double negation trouble:
#
# nocheck : yes
# - Accepts complete overlay entries without warnings
# - Lists overlays of type foo (say Git) even with no foo installed
#
# nocheck : no
# - Checks overlay entries for missing description or contact
#     information and issue warnings as needed
# - Hides overlays of type foo (say Git) if foo not not installed
#
nocheck  : yes

#-----------------------------------------------------------
# Umask settings
#
# layman should usually work with a umask of 0022. You should
# only change this setting if you are absolutely certain that
# you know what you are doing.
#
#umask  : 0022


news_reporter: portage
/etc/portage/make.conf :

Код: Выделить всё

# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# Contains local system settings for Portage system

# Please review 'man make.conf' for more information.

# Build-time functionality
# ========================
#
# The USE variable is used to enable optional build-time functionality. For
# example, quite a few packages have optional X, gtk or GNOME functionality
# that can only be enabled or disabled at compile-time. Gentoo Linux has a
# very extensive set of USE variables described in our USE variable HOWTO at
# http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1
#
# The available list of use flags with descriptions is in your portage tree.
# Use 'less' to view them:  --> less /usr/portage/profiles/use.desc <--
#
# 'ufed' is an ncurses/dialog interface available in portage to make handling
# useflags for you. 'emerge app-portage/ufed'
#
# Example:
USE=" 3dnow 3dnowext 
     -alsa -alsa-lib 
	aac amr a52 apng awesome
	-aqua aqualung app-foo/bar app-bar/baz
	binary bindist 
	-bluetooth
	 cleartype cmake c++0x cairo
	-cups consolekit crypt 
	dbus -dolphin development
	-dso -doc -default-term
	-development -dhclient
	dhcpcd deluge dropbox 
	-emacs egl
	firmware flac ffmpeg
	-fbcondecor flaggie
	git g3dvl gstreamer -gnome-keyring
	gtk gtk3 -gnome -gnome-online-accounts gtkstyle
	grilo geany -graphite gudev
	-ghcbootstrap -gcrypt -geoloc 
	highlight hscolour heather
	-handbook -hoogle -hpn
	icu icq irc
	i18n -introspection
	jpeg jpeg2k
	kmod 
	-kerberos -kde
	lodgeit-default llvm ladspa -libav 
	-ldap lua libsamplerate librsync-bundled
	minizip mmx mp3 mpeg mms -modemmanager
     mhash minimal nls mpeg4  
	-networkmanager -nautilus
    
	openssl openvg oss opengl
	osmesa openrc optimization ogg
        plugins pdf
	perl -pulseaudio pypy2_0 png playlist pcre16
	-plasma pcre pango python policykit
    ristretto
	-qt5 -qemu
	 -qt3 -qt4
	strong-optimization spell scrobbler
	symlink sse sse2 sse3 ssse3 sse4_1
	steamruntime spamassassin sdl ssl
	-spice -systemd sync 
	-subversion -startup-notification
          threads
	truetype traker thunar
	udev udisks unicode
	-virt-network
    video-thumbnails -vala vorbis
        usb
	wavpack wallpapers
	-webkit 
	xft xvmc xa xorg  xvid x264 xkb
	xinerama X
	-yahoo
     zfs zlib
	zsh-completion"

INPUT_DEVICES="keyboard mouse evdev"
VIDEO_CARDS="nouveau"
#VIDEO_CARDS="nvidia"
#VIDEO_CARDS="radeon radeonsi"

OSS_CARDS="cmi878x  hdaudio ich imux midiloop midimix userdev"

# Please don't ruin my language settings ore sound
CONFIG_PROTECT="${CONFIG_PROTECT} /usr/share/i18n/locales /usr/lib/oss/soundon.user"




# Host Setting
# ============
#
CHOST="x86_64-pc-linux-gnu"

LINGUAS="en ru"

# Host and optimization settings 
# ==============================
#
# For optimal performance, enable a CFLAGS setting appropriate for your CPU.
#
# Please note that if you experience strange issues with a package, it may be
# due to gcc's optimizations interacting in a strange way. Please test the
# package (and in some cases the libraries it uses) at default optimizations
# before reporting errors to developers.
#
# If your gcc supports it, you can add -frecord-gcc-switches to all of the
# following *FLAGS in order to enable *FLAGS ignorance checking for ebuilds:
# CFLAGS, CXXFLAGS, FFLAGS, and FCFLAGS.
# Note that this check is only enabled if every one of these variables contains
# -frecord-gcc-switches, since otherwise the check could result in false
# positive results.
#
# -mcpu=<cpu-type> means optimize code for the particular type of CPU without
# breaking compatibility with other CPUs. GCC 3.4 has deprecated support for
# -mcpu, so use -mtune instead if using this compiler.
#
# -march=<cpu-type> means to take full advantage of the ABI and instructions
# for the particular CPU; this will break compatibility with older CPUs (for
# example, -march=athlon-xp code will not run on a regular Athlon, and
# -march=i686 code will not run on a Pentium Classic.)
#
# CPU types supported in gcc-3.2 and higher: athlon-xp, athlon-mp,
# athlon-tbird, athlon, k6, k6-2, k6-3, i386, i486, i586 (Pentium), i686
# (PentiumPro), pentium, pentium-mmx, pentiumpro, pentium2 (Celeron),
# pentium3, and pentium4.
#
# Note that Gentoo Linux 1.4 and higher include at least gcc-3.2.
#
# amd64 CPU types supported in gcc-3.4: athlon64, opteron, k8
# 
# CRITICAL WARNINGS: ****************************************************** #
# K6 markings are deceptive. Avoid setting -march for them. See Bug #24379. #
# Pentium-M CPUs should not enable sse2 until at least gcc-3.4. Bug 50616. #
# GCC 3.3 doesnt support an amd64 specific -march setting, use 3.4.         #
# ************************************************************************* #
#
# Decent examples:
#
CFLAGS="-mtune=k8 -O2 -pipe"
#CFLAGS="-march=athlon64 -O2 -pipe"

# If you set a CFLAGS above, then this line will set your default C++ flags to
# the same settings.
CXXFLAGS="${CFLAGS}"
#
# If you set a CFLAGS above, then this line will set your default FORTRAN 77
# flags to the same settings.
FFLAGS="${CFLAGS}"
#
# If you set a FFLAGS above, then this line will set your default FORTRAN
# flags to the same settings for modern build systems
FCFLAGS="${FFLAGS}"


# Advanced Masking
# ================
#
# Gentoo is using a new masking system to allow for easier stability testing
# on packages. KEYWORDS are used in ebuilds to mask and unmask packages based
# on the platform they are set for. A special form has been added that
# indicates packages and revisions that are expected to work, but have not yet
# been approved for the stable set. '~arch' is a superset of 'arch' which
# includes the unstable, in testing, packages. Users of the 'x86' architecture
# would add '~x86' to ACCEPT_KEYWORDS to enable unstable/testing packages.
# '~ppc', '~sparc' are the unstable KEYWORDS for their respective platforms.
#
# Please note that this is not for development, alpha, beta, nor cvs release
# packages. "Broken" packages will not be added to testing and should not be
# requested to be added. Alternative routes are available to developers
# for experimental packages, and it is at their discretion to use them.
#
# DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST.
# IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS.
#
ACCEPT_KEYWORDS="~amd64"

# ACCEPT_LICENSE is used to mask packages based on licensing restrictions.
# It may contain both license and group names, where group names are
# prefixed with the '@' symbol. License groups are defined in the
# license_groups file (see portage(5) man page). In addition to license
# and group names, the * and -* wildcard tokens are also supported.
#
# Accept any license except those in the EULA license group (default).
#ACCEPT_LICENSE="* -@EULA"
#
# Only accept licenses in the FREE license group (i.e. Free Software).
ACCEPT_LICENSE="-* @FREE"

# Portage Directories
# ===================
#
# Each of these settings controls an aspect of portage's storage and file
# system usage. If you change any of these, be sure it is available when
# you try to use portage. *** DO NOT INCLUDE A TRAILING "/" ***
#
# PORTAGE_TMPDIR is the location portage will use for compilations and
#     temporary storage of data. This can get VERY large depending upon
#     the application being installed.
PORTAGE_TMPDIR=/var/tmp
#
# PORTDIR is the location of the portage tree. This is the repository
#     for all profile information as well as all ebuilds.
#     ***Warning***
#     Data stored inside PORTDIR is in peril of being overwritten or deleted by
#     the emerge --sync command. The default value of PORTAGE_RSYNC_OPTS
#     will protect the default locations of DISTDIR and PKGDIR, but users are
#     warned that any other locations inside PORTDIR are not necessarily safe
#     for data storage.
#PORTDIR=/usr/portage
#
# DISTDIR is where all of the source code tarballs will be placed for
#     emerges. After packages are built, it is safe to remove any and
#     all files from this directory since they will be automatically
#     fetched on demand for a given build. If you would like to
#     selectively prune obsolete files from this directory, see
#     eclean from the gentoolkit package. Note that locations under
#     /usr/portage are not necessarily safe for data storage. See the
#     PORTDIR documentation for more information.
#DISTDIR=/usr/portage/distfiles
DISTDIR=/var/db/distfiles

# PKGDIR is the location of binary packages that you can have created
#     with '--buildpkg' or '-b' while emerging a package. This can get
#     up to several hundred megs, or even a few gigs. Note that
#     locations under /usr/portage are not necessarily safe for data
#     storage. See the PORTDIR documentation for more information.
PKGDIR=/var/db/packages
#
# PORT_LOGDIR is the location where portage will store all the logs it
#     creates from each individual merge. They are stored as
#     ${CATEGORY}:${PF}:YYYYMMDD-HHMMSS.log in the directory specified.
#     If the directory does not exist, it will be created automatically and
#     group permissions will be applied to it.  If the directory already
#     exists, portage will not modify it's permissions.
PORT_LOGDIR=""

PORTAGE_RSYNC_RETRIES="-1"
#
# PORTAGE_RSYNC_EXTRA_OPTS can be used to feed additional options to the rsync
#     command used by `emerge --sync`. This will not change the default options
#     which are set by PORTAGE_RSYNC_OPTS (don't change those unless you know 
#     exactly what you're doing).
PORTAGE_RSYNC_EXTRA_OPTS=""
#
# Advanced Features
# =================
#
# EMERGE_DEFAULT_OPTS allows emerge to act as if certain options are
#     specified on every run. Useful options include --ask, --verbose,
#     --usepkg and many others. Options that are not useful, such as --help,
#     are not filtered.
#EMERGE_DEFAULT_OPTS="--ask --ask-enter-invalid --with-bdeps=y --keep-going=y --quiet-unmerge-warn --quiet-build=y --jobs=3 --ignore-built-slot-operator-deps=y"
#
# INSTALL_MASK allows certain files to not be installed into your file system.
#     This is useful when you wish to filter out a certain set of files from
#     ever being installed, such as INSTALL.gz or TODO.gz
#INSTALL_MASK=""
#
# MAKEOPTS provides extra options that may be passed to 'make' when a
#     program is compiled. Presently the only use is for specifying
#     the number of parallel makes (-j) to perform. The suggested number
#     for parallel makes is CPUs+1.
MAKEOPTS="-j5"
#
# PORTAGE_NICENESS provides a default increment to emerge's niceness level.
#     Note: This is an increment. Running emerge in a niced environment will
#     reduce it further. Default is unset.
PORTAGE_NICENESS=3
#
# PORTAGE_IONICE_COMMAND provides a command for portage to call in order to
#     adjust the io priority of portage and it's subprocesses. Default is
#     unset.
PORTAGE_IONICE_COMMAND="ionice -c 3 -p \${PID}"
#
# AUTOCLEAN enables portage to automatically clean out older or overlapping
#     packages from the system after every successful merge. This is the
#     same as running 'emerge -c' after every merge. Set with: "yes" or "no".
#     This does not affect the unpacked source. See 'noclean' below.
#
#     Warning: AUTOCLEAN="no" can cause serious problems due to overlapping
#              packages.  Do not use it unless absolutely necessary!
#AUTOCLEAN="yes"
#
# FEATURES defines actions portage takes by default. This is an incremental
# variable. See the make.conf(5) man page for a complete list of supported
# values and their respective meanings.
#FEATURES="ccache distcc installsources \
# splitdebug test userpriv usersandbox"

# CCACHE_SIZE and CCACHE_DIR are used to control the behavior of ccache, and
#     and are only used if "ccache" is in FEATURES.
#
# CCACHE_SIZE sets the space limitations for ccache. The default size is
#     "2G", or 2 gigabytes.  Units are specified with 'G', 'M', or 'K'.
#
CCACHE_SIZE="2G"
#
# CCACHE_DIR sets the ccache path.  If not specified, portage will default
#     to "${PORTAGE_TMPDIR}/ccache".
#
#     Note that to display ccache statistics outside of portage, you must
#     remember to give the correct path to the cache.
#
#        # CCACHE_DIR=/var/tmp/ccache ccache -s 
#
CCACHE_DIR="${PORTAGE_TMPDIR}/ccache"



PORTDIR="/var/db/repos/funtoo"
PORTDIR_OVERLAY="/var/db/repos/bar"
Дерево

Код: Выделить всё

## ls /var/db
distfiles  Makefile  pkg  repos  sudo
awesome tupoll # ls /var/db/repos
cache_930c3ed4a5f89f74fd810585751a06e3.timestamp    installed.xml
cache_930c3ed4a5f89f74fd810585751a06e3.xml     bar   funtoo      make.conf
Подразумевается,что используется zfs разметка перебита следующим образом:

Код: Выделить всё

 zfs list   
NAME                    USED  AVAIL  REFER  MOUNTPOINT
free                   23,6G   205G   136K  none

free/FUNTOO             466M   205G   136K  none
free/FUNTOO/build-dir   465M   205G   465M  /var/tmp/portage
free/FUNTOO/ccache      136K   205G   136K  /var/tmp/ccache
free/HOME              13,4G   205G  13,4G  /home
free/ROOT              6,20G   205G   136K  none
free/ROOT/funtoo       6,20G   205G  4,37G  /
free/VAR               3,56G   205G   136K  none
free/VAR/db             122M   205G   122M  /var/db
free/VAR/distfiles     1,32G   205G  1,32G  /var/db/distfiles
free/VAR/repos         2,12G   205G  2,12G  /var/db/repos
-------------------------------------------------------------------
 zfs create -o mountpoint=none -o setuid=off free/VAR
 zfs create -o mountpoint=/var/db -o atime=off free/VAR/db
 zfs create -o mountpoint=/var/db/distfiles free/VAR/distfiles
 
 zfs create -o mountpoint=/var/db/repos free/VAR/repos
все настройки portage убраны из /usr /usr/local/ c удалением директорий

Добавление стороннего репозитория(оверлея) теперь отличается от гентушного

eix читает карту /etc/portage/make.conf,туда вписываем место расположения
в моем случае оверлей /bar /var/db/repos/bar
Приоритет использования выставляется в /etc/portage/repos.conf/layman.cfg
Команда на добавление оверлея стандартная

Код: Выделить всё

 layman -a bar && eix-update
Хотим обратно на gentoo-

Код: Выделить всё

layman -d funtoo layman -a gentoo
и меняем разумеется
настройки в /etc/portage/
Сделано на основании http://www.funtoo.org/Package:Portage_(Funtoo) http://www.funtoo.org/ZFS_Install_Guide
Правильный линукс-BSD.
Аватара пользователя
tupoll
Уважаемый участник
Уважаемый участник
Сообщения: 231
Зарегистрирован: 19 янв 2015, 07:30
Откуда: Vladivostok

Re: Funtoo.Настройка для пользователя сторонних оверлеев.

Сообщение tupoll »

Просьба помочь навести порядок в настройках,любой совет на вес золота.
Правильный линукс-BSD.
Ответить

Вернуться в «ОСТАЛЬНЫЕ ДИСТРИБУТИВЫ»