Gentoo on the laptop

Gentoo linux: Установка/Настройка/Оптимизация

Subscribe to RSS feed

CUPS 1.4 не находит принтер! Что же я делаю не так?!

На самом то деле у многих кто собирал ядро руками возникла проблема с CUPS, что мол он перестал реагировать на внешние раздражители в виде принтеров.

Ну а что бы у вас всё заработало нужно просто в .config ядра установить значение CONFIG_USB_PRINTER в NO.
Иначе у вас так ничего и не заработает. Если без этой опции вам не обойтись - делайте модулем и следите что бы при работе с принтером модуль был гарантировано выгружен.

lsmod и modprobe вам в помощь!

ODF

Я не знаю на сколько рабочей останется эта ссылка, но плагин, который нужен M$ Office для чтения ODF, я всё же выложу.

Самая короткая заметка о компиляции под МК AVR в Gentoo linux

1. crossdev -t avr
2. emerge codeblocks
3. # cd /usr/x86_64-pc-linux-gnu/avr/binutils-bin/<версия>
4. # ln -s /usr/lib/binutils/avr/<версия>/ldscripts/ .
5. Как отбросить страх и начать программировать для AVR в CodeBlocks
6. Скачать Proteus, запусить его в wine или в настоящей M$ Windows под виртуальной средой и понять что в Proteus Вы ничего не соображаете.

Сканеры в Gentoo

Меня искренне поразила гениальность пакета sane-backends. Дело в том, что если вы собираетесь пользоватся сканерами в Gentoo, то этот пакет ставить таки прийдётся, но запомните что делать это следует только с USE=usb!
Иначе у Вас ничего не получится. Так же не забываем добавлять пользователей сканера в группу scanner:

# gpasswd -a user_name scanner

Само собой все драйвера для сканера кидаем в /usr/share/sane/gt68xx/

Удачи!

man eix

(обновлено 15\08\09)
Намедни услышал о eix. Долго искал информацию по нём, но ничего более или менее толкового в рунете не нашлось. Установил я это чудо себе и решил перевести man. Собственно ниже будет публиковатся его перевод, при чём не сразу.
Прошу сильно не пинать. Сразу после перевода напишу короткий очерк на тему "что, куда и зачем".
Удачи!

НАЗВАНИЕ

eix - набор утилит для поиска, различия и обновления бинарного кэша вашего локального дерева portage.

ОБЗОР

eix [необходимые опции] [ОПЦИИ] ВЫРАЖЕНИЕ [[-a|-o|--and|--or] ВЫРАЖЕНИЕ ...]

ВЫРАЖЕНИЕ состоит из локальных опций (см. ниже), а также шаблона (который может быть опущен, тоесть пуст).

update-eix [необходимые опции] [опции update-eix]

diff-eix [необходимые опции] СТАРЫЙ-КЭШ [НОВЫЙ-КЭШ]

eix-sync

eix-test-obsolete [detail|repo|no-repo|check_always_overlays]

update-eix-remote

update-eix-layman

functions-eix.sh

versionsort

ОПИСАНИЕ

update-eix генерирует бинарный кэш из вашего локального дерева portage и оверлея. eix ищет этот кэш для пакетов, которые соответствуют заданным вами критериям. diff-eix сравнивает два бинарных кэша и ищет пакеты, которые были добавлены, удалены или для которых изменились последние стабильные версии.

Все из этих программ и скриптов читают конфигурационные файлы описанные далее: eix-sync имеет дополнительно разделённый конфигурационный файл.

eix-sync может синхронизировать деревья portage и оверлея и сравнивать их со старым кэшем используя diff-eix. Чтобы получить больше информации о eix-sync используйте eix-sync -h и смотрите документацию по /etc/eix-sync.conf, приведённую ниже.

Eix-test-obsolete — это скрипт, который вызывает eix несколько раз для отображения вывода от eit -tTc более организованным образом. Помните, что результат от выполнения eix-test-obsolete зависит от настроек таких переменных, как REDUNDANT_IF_* и NONEXISTENT_IF_*. По умолчанию значения этих переменных установлены так: в случае сомнений — пакет выходит. Исключение из этого правила - это REDUNDANT_IF_MIXED, чьи умолчания были изменены в eix-0.10.4, т.к. предыдущие значения были спутаны несколькими людьми. В случае, если вы хотите знать почему некоторые пакеты отображаются eix-test-obsolete, вы можете использовать аргумент detail, который покажет не много больше деталей.

Если вы пройдёте eix-test-obsolete для конкретного аргумента repo или non-repoи, это отобразит все версии пакетов, которые были установлены с(или без) данных репозитария (который был создан только в версии >=portage-2.1.3). Чтобы избежать ложных эвристических предположений об оверлеях используются версии без файлов репозитария. Вы, вероятно, хотите установить CHECK_INSTALLED_OVERLAYS=true (см. ниже), который, к сожалению, резко замедляет все эти вещи. Если eix-test-obsolete вызван с каким-либо аргументом не описанным выше, то для вашего удоства будет временно установлено CHECK_INSTALLED_OVERLAYS=true.

update-eix-remote может синхронизировать базу данных eix из внешнего сервера и добавлять/удалять всё это в текущую базу данных. Помните, что для хранения большого количества удалённых данных через вызов update-eix, вам может потребоваться установить KEEP_VIRTUALS=true in /etc/eixrc. Для получения большей информации по update-eix-remote, вызовите update-eix-remote -h.

update-eix-layman может добавить или удалить оверлеи layman в текущуюю базу данных. Для получения большей информации по update-eix-remote, вызовите update-eix-remote -h.

functions-eix.sh — являются функциями-помощниками, используемыми eix-sync, update-eix-remote и update-eix-layman. Вам может потребоваться использовать их для создания аналогичных скриптов. Заметьте, что сразу же после описания functions-eix.sh вы вероятно захотите вызвать read_functions [ARGS] для описания основного формата functions-eix.sh с соответствущими ARGS.

versionsort — это вспомогательный инструмент для скриптов, которые вырезают переменные версии из их аргументов и выводят их отсортированными согласно правилам portage о сортировке версий. Детали вы можете найти ближе к концу этого руководства.

ОПЦИИ

Необходимые опции
Эти опции являются необходимыми для eix, diff-eix, и update-eix.
-h, --help
Вывести помощь по программе и выйти.

-Q, --quick (переключатель) (не для update-eix)
Читать(не читать) слоты установленных версий, которые не могут быть угаданы(т.е. установленные версии пакетов с как минимум двумя разными слотами для которых утановленные версии больше не находятся в базе данных). Помните, что с этой опцией eix и diff-eix могут отобразить некорректные рекомендации для пакетов, представленных к обновлению(up-/downgrade).(ПРОВЕРИТЬ ПЕРЕВОД)

--care (не для update-eix)
Эта опция деактивирует --quick, и вдобавок, слоты установленных версий всегда читаются, вместо того, чтобы опираться на догадки этих слотов. В частности, это даёт уверенность, что Вы получите рекомендации по обновлению(up-/downgrade), если имя слота установленной версии изменилось. Помните, что это резко снижает скорость при первом использовании. (Если ваша файловая система имеет разумно необходимый кэш, последующие вызовы будут почти так же быстры как и вызовы без этой опции).

-q, --quiet (переключатель)
Не писать вывод на stderr и stdout(фатальные ошибки, котороые происходят в начале исполнения отображаются на stderr, не зависимо от этой опции)

--dump
Показать текущий eixrc-переменные, и их умолчания как комментарии.

--dump-defaults
Показать умолчания для eixrc-переменные, и их текущие значения как комментарии.

--print VAR
Печатать указанную для параметров eixrc или portage переменную VAR, полностью расширенную, так, как она будет использоваться внутри eix. Это в основном используется внутри скриптов.

--print-all-useflags
Печатать все IUSE слоа, используемые в некоторых версиях.

--print-all-keywords
Печатать все KEYWORDS, используемые в некоторых версиях.

--print-all-slots
Печатать все SLOT строки, используемые в некоторых версиях.

--print-all-provides
Печатать все PROVIDE слова, используемые в некоторых пакетах.

--print-all-licenses
Печатать все LICENSE строки , используемые в некоторых пакетах.

--print-world-sets
Печатать установки world.

-V, --version
Напечатать версию и выйти.

-n, --nocolor
Отключает использование цветных кодов ANSI. Это полезно для терминалов, которые не поддерживают ANSI-цвета. (Эта опция автоматически включается если stdout не tty, но может быть переопределена опцией --force-color)

-F, --force-color
Противоположность опции --nocolor.


Заметка для новичков по поводу SSH

Фактически в каждом установленном дистрибутиве Gentoo есть серверная и клиентская чатсти SSH. Слово "фактически" в данном контексте означает "в любом gentoo linux установленном из stage3, и в котором преднамеренно не были удалены утилиты ssh".
Для запуска серверной части используйте
/etc/init.d/sshd start
Чтобы добавить его в автозапуск используйте комманду
rc-update add sshd default

Что касается подключения к такому серверу, то(если конешно вы его не настраивали) стоит спользовать команду:
ssh <username>@<hostname\ip>
Пример:
ssh root@192.168.1.1

Удачи!

SSH — Руководство по конфигурации ssh в серверной инфраструктуре Gentoo.

Предлагаю Вам ещё один перевод. На этот раз статьи "SSH Configuration Guide for Gentoo Infrastructure Servers"
На самом деле я не знаю под какой лицензией опубликован оригинал, но тем не мение:
The contents of this document are licensed under the Creative Commons - Attribution / Share Alike license.


SSH — Руководство по конфигурации ssh в серверной инфраструктуре Gentoo.

1.Директивы для запуска ssh в инфраструктуре Gentoo linux.

Базовые директивы

SSH — в настоящее время единственный утверждённый метод получения улённого доступа коммандной оболочке на сервере: rsh, telnet и другие небезопасные мотоды недопустимы. При конфигурации ssh, следующие директивы должны соблюдаться:

Только SSHv2 — никогда не настраивайте SSH с исключительной поддержкой протокола SSH версии 1. У этой версии есть слабые стороны связанные с шифрованием данных.

DSA ключи — использование DSA ключей более предпочтительно, нежели использование RSA.

Запретить root-доступ - удалённый доступ от имени администратора не стоит допускать. Пользователи должны заходить используя их ID, и только после этого использовать команды su\sudo.

Аутентификация без использования паролей — если это возможно, пользователям необходимо использовать их DSA-ключи для входа на удалённую систему.

Замечание: все указанные выше значения по умолчанию настраиваются в /etc/ssh/sshd_config, и являются наиболее приемлемыми. Они не должны быть отменены без предварительного одобрения руководителя проекта инфраструктуры Gentoo.

Пример sshd_config

Далле приводится пример /etc/ssh/sshd_config файла, который используется для быстрой настройки SSH на новом сервере инфраструктуры Gentoo.

Листинг 1.1: /etc/ssh/sshd_config

Port 22
Protocol 2
ServerKeyBits 2048
SyslogFacility AUTH
LogLevel INFO
LoginGraceTime 60
PermitRootLogin no
RSAAuthentication no
PubkeyAuthentication yes
PasswordAuthentication no
PermitEmptyPasswords no
PAMAuthenticationViaKbdInt no
Compression yes
KeepAlive yes
ClientAliveInterval 30
ClientAliveCountMax 4

Замечание: В примере, приведённом выше, аутентификация по паролю была отключена в пользу аутентификации по ключу.

Замечание: Когда системные ресурсы сервера ограничены(в частности утилизация CPU), компрессия, вероятно, должна быть отключена, чтобы предотвратить зацикливание процессора на отправке сжатого трафика подключённым клиентам.

DistCC — Руководство по кросс-компиляции

Собственно делать было нечего, попытался сделать что-то для русскоязычного сообщества Gentoo.
Далее предлагаю Вам прочесть черновой вариант перевода статьи DistCC Cross-compiling Guide на русский язык.
Но сначала хочется сказать спасибо alinofka, которая также внесла свой вкдад в перевод, и [HL-UBL]VSJCFM, который откорректировал.

DistCC — Руководство по межархитектурной кросс-компиляции

1. Кросс-компиляция с помощью distcc

Введение

distcc — это утилита, которая позволит вам разделить бремя компиляции программ между несколькими объеденёнными по сети компьютерами. До тех пор, пока эти сетевые хосты используют одни и те же инструментарии сборки для одинаковых процессорных архитектур, никаких специфических настроек distcc не требуется. Но что же делать, если Вам потребуется скомпилировать что-то для другой архитектуры, используемой другими компьютерами? Это руководство поможет Вам правильно сконфигурировать distcc для компиляции под различные архитектуры процессоров.

Закачка необходимых утилит.

Во-первых, Вам понадобится утановить crossdev на все компьютеры, которые будут участвовать в процессе компиляции. сrossdev — это утилита, которая делает межархитектурную настройку межплатформенного инструментария (тулчейн) легче. Она была впервые написана Джошуа Кинардом (Joshua Kinard), и позже полностью переписана Майком Фрисинджером (Mike Frysinger). Понять её применение довольно просто: crossdev -t sparc соберёт полный тулчейн, нацеленный на sparc архитектуру. Это включает в себя настройку таких пакетов, как binutils, gcc, glibc, и linux-headers. Для получения более подробной справочной информации воспользуйтесь командой crossdev —help.

Далее, если вы ещё этого не сделали, Вам потребуется скачать distcc на все участвующие в процессе компиляции машины. Это включает в себя систему, на которой будет запущена установка (собственно с целевой архитектурой), и компьютеры, участвующие в кросс-компиляции. Для получения более полной информации по настройке и использованию distcc, пожалуйста, смотрите «Описание distcc в Gentoo»

Некоторые заметки по поводу специфики архитектур.

Если Вы используете кросс-компиляцию между несколькими, различными между собой, субархитектурами Intel x86 (наприм. i586 и i686), Вы всё равно должны собрать полный межплатформенный инструментарий желаемого CHOST. В противном случае компиляция не удастся. Это происходит потому, что i585 и i686 на самом деле разные CHOST'ы , вопреки тому, что оба рассматриваются как одна архитектура x86. Пожалуйста, помните это при создании своего межплатформенного инструментария. Например, если целевой архитектурой является i586, то это значит, что вам надо собрать межплатформенный инструментарий для i586 на ваших i686-впомогательных системах.

Конфигурация distcc для корректной кросс-компиляции

В начальной настройке distcc межплатформенная кросс-компиляция работает некорректно. Проблема заключается в том, что многие сборки просто вызывают основной GCC взамен использования полного имени компилятора(т.е. sparc-unknown-linux-gnu-gcc).Т.е. когда компиляция будет распределена на вспомогательныую систему с distcc, вызывается родной компилятор вместо того, чтобы вызвать Ваш новый кросс-компилятор.

К счастью, есть способ обойти эту небольшую проблему. Всё решается скриптом и несколькими символическими ссылками на вспомогательных системах. Я буду использовать мою, сконфигурированную для sparc, систему в качестве примера. Везде, где Вы увидите sparc-unknown-linux-gnu, Вам стоит вставить имя вашего собственного CHOST (например x86_64-pc-linux-gnu для amd64 системы). После того, как Вы впервые установите distcc, ваша директория /usr/lib/distcc/bin будет выглядеть так:

Помните! Последующие инструкции должны быть выполнены только на компьютере, с которого в перспективе будет выполнятся emerge.

Листинг 1.1: Доступные компиляторы
# cd /usr/lib/distcc/bin
# ls -l
total 0
lrwxrwxrwx 1 root root 15 Dec 23 20:13 c++ -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Dec 23 20:13 cc -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Dec 23 20:13 g++ -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Dec 23 20:13 gcc -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Dec 23 20:13 sparc-unknown-linux-gnu-c++ -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Dec 23 20:13 sparc-unknown-linux-gnu-g++ -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Dec 23 20:13 sparc-unknown-linux-gnu-gcc -> /usr/bin/distcc

Вот что вам необходимо сделать:

Листинг 1.2: Модификация distcc

# rm c++ g++ gcc cc

Далее, мы создадим скрипт на этой-же машине. Запустите Ваш любимый текстовый редактор и создайте файл со следующим текстом (Листинг 1.3). Далее сохраните его как sparc-unknown-linux-gnu-wrapper. Не забудьте сменить CHOST (в данном случае с sparc-unknown-linux-gnu) на необходимый Вам
CHOST той архитектуры, для которой и предполагается последующая компиляция.

Листинг 1.3: Содержание скрипта
#!/bin/bash
exec /usr/lib/distcc/bin/sparc-unknown-linux-gnu-g${0:$[-2]} "$@"

Далее мы делаем скрипт исполняемым и создаём необходимые символические ссылки:

Листинг 1.4: Создание символических ссылок
# chmod a+x sparc-unknown-linux-gnu-wrapper
# ln -s sparc-unknown-linux-gnu-wrapper cc
# ln -s sparc-unknown-linux-gnu-wrapper gcc
# ln -s sparc-unknown-linux-gnu-wrapper g++
# ln -s sparc-unknown-linux-gnu-wrapper c++

Когда вы проделаете все эти действия, директория /usr/lib/distcc/bin должна будет выглядеть следующим образом:

Листинг 1.5: Корректно настроенные компиляторы
# ls -l
total 4
lrwxrwxrwx 1 root root 25 Jan 18 14:20 c++ -> sparc-unknown-linux-gnu-wrapper
lrwxrwxrwx 1 root root 25 Jan 18 14:20 cc -> sparc-unknown-linux-gnu-wrapper
lrwxrwxrwx 1 root root 25 Jan 18 14:20 g++ -> sparc-unknown-linux-gnu-wrapper
lrwxrwxrwx 1 root root 25 Jan 18 14:20 gcc -> sparc-unknown-linux-gnu-wrapper
lrwxrwxrwx 1 root root 15 Nov 21 10:42 sparc-unknown-linux-gnu-c++ -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Nov 21 10:42 sparc-unknown-linux-gnu-g++ -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Jul 27 10:52 sparc-unknown-linux-gnu-gcc -> /usr/bin/distcc
-rwxr-xr-x 1 root root 70 Jan 18 14:20 sparc-unknown-linux-gnu-wrapper

Поздравляем! Вы только что получили рабочую межплатформенную кросскомпиляционную установку.


Как всё это работает? (возможно некорректное изложение)

Когда вызывается distcc, он проверяет, под каким он был вызван именем(т.е. i686-pc-linux-gnu-gcc, sparc-unknown-linux-gnu-g++ и т.п.). Когда distcc распределяет компиляцию на вспомогательные компьютеры, он проходит под тем именем, под которыми и был вызван. Далее distcc-демон ищет бинарный код с таким же именем на других вспомогательных системах . Если он видит просто GCC, то он ищет GCC, который скорее всего будет нативным компилятором вспомогательной системы, если это не та же архитектура, как та, что используется на компьютере запустившем emerge. Когда передаётся полное имя компилятора(напр. sparc-unknown-linux-gnu-gcc), то путаницы не возникает.

p.s. и немного бюрократии в соответствии с оригинальной статьёй - The contents of this document are licensed under the Creative Commons - Attribution / Share Alike license.

Установка. часть 1,5

Продолжаем)
значит диск мы разбили, загрузились с живого диска и тперь делаем такое вот дело:
монтрируем корневой раздел, пусть это /dev/sda2:
mount /dev/sda2 /mnt/gentoo
монтируем флэшку с stage3-amd64-...tar.bz2 и снимком дерева портажей:
mount /dev/sdb1 /media
переходим в точку монтрования корня и распаковываем минимальную среду для работы в операционной системе
cd /mnt/gentoo && tar xvjf /media/stage3-amd64-...tar.bz2
cd ./usr && tar xvjf /media/portage-latest.tar.bz2
теперь у нас есть своя установленная Gentoo на диске, которой нехватает ядра и загрузчика для работы безо всякой загрузки с диска. перейдём в неё и обновим переменные окружения
mount -t proc none ./proc
mount -o bind /dev ./dev
chroot ./ /bin/bash
env-update
source /etc/profile
после всего этого мы оказались уже в установленной ОС) Ура!
Теперь нам предстоит изменить /etc/make.conf
В общем если вы планируете в дальнейшем использовать стабильную ветку amd64 и KDE в роли окружения рабочего стола, то переписуйте Ваш make.conf, например с помощью "nano -w /etc/make.conf"

#____________________________________________________________________________________________________________________
CFLAGS="-march=nocona -pipe -O2"
CXXFLAGS="-march=nocona -pipe -O2"
ACCEPT_KEYWORDS="amd64"
PORTAGE_TMPDIR=/var/tmp
PORTDIR=/usr/portage
DISTDIR=/usr/portage/distfiles
PKGDIR=/usr/portage/packages
PORTAGE_RSYNC_RETRIES="3"
EMERGE_DEFAULT_OPTS="--ask"
PORTDIR_OVERLAY="/usr/local/portage"
#Вот дальше не уверен в строке, поэтому она закомменчена
#VIDEO_CARDS="nv nvidia vesa"
# WARNING: Changing your CHOST is not something that should be done lightly.
# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.
MAKEOPTS="-j3"
GENTOO_MIRRORS="http://gentoo.kiev.ua/ftp/ ftp://gentoo.kiev.ua/"
ALSA_CARDS="hda-intel"
CHOST="x86_64-pc-linux-gnu"
# These are the USE flags that were used in addition to what is provided by the
# profile used for building.
USE="mmx xcomposite truetype mmxext sse3 ssse3 xcb themes wma wavpack embedded suid sqlite mplayer animate visualization mp4 threads djvu smb 7zip samba vorbis ffmpeg bluetooth flac aac pascal xinerama gimp nptl nptlonly arts foomaticdb cups ghostscript gstreamer hal mp3 png jpeg gif alsa acpi kde X dbus sse sse2 udev opengl qt3"
LINGUAS="ru"
#Если будете использовать layman, то следует добавить и это
#source /usr/local/portage/layman/make.conf
#____________________________________________________________________________________________________________________

С этим - всё. Теперь настройки для /etc/fstab
#____________________________________________________________________________________________________________________
# <fs> <mountpoint> <type> <opts> <dump/pass>

# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.
/dev/sda2 / reiserfs noatime,notail 0 1
/dev/sda3 none swap sw 0 0
/dev/cdrom /media/cdrom auto noauto,ro,user,users 0 0
/dev/sda1 /media/win ntfs-3g defaults,auto,umask=0,user,users,rw 0 0
#ВНИМАНИЕ!!! предидущую строку стоит использовать после устанвки драйвера ntfs-3g, позволяющего писать NTFS-разделы, а до этого "ntfs-3g" следует заменить на "ntfs". Пакет, содержащий драйвер именуется "ntfs3g"
#/dev/fd0 /mnt/floppy auto,user noauto 0 0

# glibc 2.2 and above expects tmpfs to be mounted at /dev/shm for
# POSIX shared memory (shm_open, shm_unlink).
# (tmpfs is a dynamically expandable/shrinkable ramdisk, and will
# use almost no memory if not populated with files)
shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
#____________________________________________________________________________________________________________________

Теперь не забываем создать пароль администратора:
passwd
а также создать пользователя, например gentle
useradd -m gentle
и создать ему пароль
passwd gentle
после чего подабовлять его в различные группы вот таким вот методом:
gpasswd -a gentle wheel
Дабы долго не заморачиваться, немного позже я опишу все группы куда я добавлял себя. А на сегодня всё.

Добрый вечер!

Здравствуйте дорогие читатели!
Я начинаю писать этот блог ради владельцев ноутбуков, стремящихся выжать из своего детища максимум, не взирая на трудности. Таким образом здесь будут публиковатся статьи посвящённые установке и настройке Gentoo на ноутбуках и.. не на ноутбуках..
В общем я сам слабо понял что хотел сказать knockout

Почему Gentoo?
Ну на это есть много причин, таких как, например, несравненная скорость её работы, в результате правильной настройки. Или же система управления пакетами. Так же эта ОС во много раз, имхо, стабильнее целого ряда дитстибутивов linux.
Итак желаю вам приятного чтения..
May 2012
M T W T F S S
April 2012June 2012
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31