PDA

Показать полную графическую версию : [решено] "Как создать swap файл для Squid"


maslinaV
25-10-2007, 16:08
Перед запуском Squid необходимо создать swap-директории
# /usr/local/squid/sbin/squid -z
при запуске вышло сообщение
# /usr/local/squid/sbin/squid -z
linux:/usr/local/squid/sbin # 2007/10/25 15:31:41| Creating Swap Directories
FATAL: Failed to make swap directory /usr/local/squid/var/cache: (13) Permission denied
Squid Cache (Version 2.6.STABLE9): Terminated abnormally.
bash: 2007/10/25: No such file or directory
CPU Usage: 0.004 seconds = 0.000 user + 0.004 sys
Maximum Resident Size: 0 KB
Page faults with physical i/o: 0
--------------
На форуме нашел что советует сделать так

----Установить правильные пермишены!
chown -R squid.squid /usr/local/squid/var/cache
-----
Но у меня в этом пути нет директории /cache (будет ли она создана при запуске этой команды),
затем советуют создать

cat squid.conf | grep cache_effective_user
cat squid.conf | grep cache_effective_group
Что там?
Создайте пользователя и группу и далее по тексту.
------
Я не понял эти строки , пожайлуста поясните для чего это создается и можно ли при конфигурировании squid это создать , может есть строки в squid.conf и их редактируют

BuGfiX
25-10-2007, 20:02
Создайте директорию /usr/local/squid/var/cache, и установите ее владельцем (chown) пользователя, от которого работает squid. команды
cat squid.conf | grep cache_effective_user
cat squid.conf | grep cache_effective_group
покажут вам от какого пользователя и от какой группы он работает. Если такого пользователя и/или группы нет - создайте их (groupadd/useradd) или замените.

ruslandh
25-10-2007, 22:49
maslinaV, а что за дистрибутив в которосм squid в /usr/local находится ?

must die
26-10-2007, 08:00
ruslandh,

Похоже на Slackwarе.

maslinaV
26-10-2007, 12:31
SuSe 9.2

ruslandh
26-10-2007, 22:26
А что Squid под Suse не собран ?

maslinaV
29-10-2007, 10:48
А что Squid по Suse не собран ? »
Что вы имеете ввиду?

ruslandh
29-10-2007, 10:53
Разве в дестрибутиив Suse не входит Squid ?

maslinaV
29-10-2007, 17:54
Разве в дестрибутиив Suse не входит Squid ? »
мне не нужна версия squida в дестрибутиив Suse
Мне нужен совет по компиляции пакета из исходников

Выполнил следующее

.....iinstall-data-local will not overwrite existing /usr/local/squid/etc/cachemgr.conf
make[3]: Leaving directory `/usr/local/src/squid/tools'
make[2]: Leaving directory `/usr/local/src/squid/tools'
make[1]: Leaving directory `/usr/local/src/squid/tools'
make[1]: Entering directory `/usr/local/src/squid'
make[2]: Entering directory `/usr/local/src/squid'
make[2]: Цель `install-exec-am' не требует выполнения команд.
make[2]: Цель `install-data-am' не требует выполнения команд.
make[2]: Leaving directory `/usr/local/src/squid'
make[1]: Leaving directory `/usr/local/src/squid'
linux:/usr/local/src/squid # id sqiud
id: sqiud: Такого пользователя нет
linux:/usr/local/src/squid #


linux:/usr/local/src/squid # groupadd sqiud
groupadd: Group `sqiud' already exists.
linux:/usr/local/src/squid #

linux:/usr/local/src/squid # linux:/usr/local/src/squid # useradd -G squid squid
bash: linux:/usr/local/src/squid: No such file or directory
linux:/usr/local/src/squid #

linux:/usr/local/src/squid # id squid
uid=1000(squid) gid=100(users) группы=100(users),10009(squid)
linux:/usr/local/src/squid # cd bash: linux:/usr/local/src/squid: No such file or directory
bash: cd: bash:: No such file or directory
linux:/usr/local/src/squid

linux:/usr/local/src/squid # cd /usr/local
linux:/usr/local # ls
. .. bin games include lib man mrtg-2 rrdtool sbin share squid src
linux:/usr/local # cd squid
linux:/usr/local/squid #
linux:/usr/local/squid # groupadd sqiud
groupadd: Group `sqiud' already exists.
linux:/usr/local/squid # useradd -G squid squid
useradd: User `squid' already exists.
linux:/usr/local/squid # id squid
uid=1000(squid) gid=100(users) группы=100(users),10009(squid)
linux:/usr/local/squid # chown -R /usr/local/squid/var/cache
chown: недостаточно аргументов
Попробуйте `chown --help' для получения более подробного описания.
linux:/usr/local/squid #


linux:/usr/local/squid # cd /usr/local/squid
linux:/usr/local/squid # groupadd sqiud
groupadd: Group `sqiud' already exists.
linux:/usr/local/squid # groupadd sqiud
groupadd: Group `sqiud' already exists.
linux:/usr/local/squid # groupadd squid
groupadd: Group `squid' already exists.
linux:/usr/local/squid # useradd -G squid squid
useradd: User `squid' already exists.
linux:/usr/local/squid #

linux:/usr/local/squid # id squid
uid=1000(squid) gid=100(users) группы=100(users),10009(squid)
linux:/usr/local/squid # chown -R squid:squid /usr/local/squid/var/cache
linux:/usr/local/squid #

linux:/usr/local/squid # chown -R squid:squid /usr/local/squid/var/cache
linux:/usr/local/squid # cd /usr/local/squid/sbin
linux:/usr/local/squid/sbin # /usr/local/squid/sbin/squid -z
2007/10/29 14:18:40| Creating Swap Directories
FATAL: Failed to make swap directory /usr/local/squid/var/cache/00: (13) Permission denied
Squid Cache (Version 2.6.STABLE16): Terminated abnormally.
CPU Usage: 0.001 seconds = 0.000 user + 0.001 sys
Maximum Resident Size: 0 KB
Page faults with physical i/o: 0
linux:/usr/local/squid/sbin #


+++++++++++++++++
#Default:
# cache_dir ufs /usr/local/squid/var/cache 100 16 256
+++++++++++++++++++++++++


но опять вышла ошибка

ruslandh
29-10-2007, 23:24
Возьмите src.rpm из Suse, подкорректируйте в spec что вам нужно и компилируйте и ставьте свой пакет.

maslinaV
05-11-2007, 14:02
Устранение ошибки при создании swap файла
команды

cat squid.conf | grep cache_effective_user
cat squid.conf | grep cache_effective_group

покажут вам от какого пользователя и от какой группы работает squid. Если такого пользователя и/или группы нет - создайте их (groupadd/useradd) или замените

Было так


linux:/usr/local/squid/etc # cat squid.conf | grep cache_effective_user
# TAG: cache_effective_user
# to UID to nobody. If you define cache_effective_user, but not
# cache_effective_user.
# cache_effective_user nobody

linux:/usr/local/squid/etc # cat squid.conf | grep cache_effective_group
# cache_effective_group, Squid sets the GID to the effective
# TAG: cache_effective_group


Создаем группу sqiud

groupadd squid


Команда groupadd создает новое определение группы в системе путем добавления соответствующей записи в файл /etc/group

Создаем пользователя sqiud

useradd -G squid squid


useradd - добавление нового регистрационного имени пользователя в системе

СИНТАКСИС

useradd -G группа рег_имя

ОПИСАНИЕ

Вызов useradd обычно добавляет новую запись о пользователе в файлы данных системы идентификации и проверки идентичности (Identification and Authentication - I&A). Исключением являются пользователи сетевой информационной службы (Network Information Service или, сокращенно, NIS). Она также позволяет задать принадлежность к дополнительным группам для пользователя (опция -G) и создать для него начальный каталог (опция -m)

Создаем директорию

cd /usr/local/squid/var

mkdir cache

mkdir logs (только вот может я и не надо было создавать Logs , может сама потом была бы создана ?)


Даем права на папку
cache
logs

пользователю squid и группы squid

----Установить правильные пермишены!


chown -R squid.squid /usr/local/squid/var/cache

chown -R squid.squid /usr/local/squid/var/logs




chown - изменяет владельца и группу-владельца файлов

chown изменяет владельца и/или группу-владельца каждого
заданного параметра файл. В качестве имени
владельца/группы берется первый аргумент, не являющийся
опцией. Если задано только имя пользователя (или его
номер), то данный пользователь становится владельцем
каждого из указанных файлов, а группа этих файлов не
изменяется. Если за именем пользователя через двоеточие
следует имя группы (или ее номер) без пробелов между ними,
то изменяется также и группа файла
-R, --recursive
Рекурсивно измененяет владельца каталогов и их
содержимого.(то есть меняется права и на вложенные директории и фалы в этих дерикториях по всему дереву данной директории , в нашем случае директории /cache )
++++++++++++++++++++++++++++++++++++++++
Проверяем существует ли пользователь squid и группа squid

id squid
uid=1000(squid) gid=100(users) группы=100(users),10009(squid)

++++++++++++++++++++++++++++++++++++++++++++++++++
строки
cache_effective_user и cache_effective_group
раскоментируем или добавим

cache_effective_user squid
cache_effective_group squid

Сохраняем конфигурационный

# TAG: cache_effective_user
# If you start Squid as root, it will change its effective/real
# UID/GID to the user specified below. The default is to change
# to UID to nobody. If you define cache_effective_user, but not
# cache_effective_group, Squid sets the GID to the effective
# user's default group ID (taken from the password file) and
# supplementary group list from the from groups membership of
# cache_effective_user.
#
#Default:
# cache_effective_user nobody
cache_effective_user squid
# TAG: cache_effective_group
# If you want Squid to run with a specific GID regardless of
# the group memberships of the effective user then set this
# to the group (or GID) you want Squid to run as. When set
# all other group privileges of the effective user is ignored
# and only this GID is effective. If Squid is not started as
# root the user starting Squid must be member of the specified
# group.
#
#Default:
# none
cache_effective_group squid

+++++++++++++++++++++++++++++
Проверяем

linux:/usr/local/squid/etc # cat squid.conf | grep cache_effective_user
# TAG: cache_effective_user
# to UID to nobody. If you define cache_effective_user, but not
# cache_effective_user.
# cache_effective_user nobody
cache_effective_user squid
linux:/usr/local/squid/etc # cat squid.conf | grep cache_effective_group
# cache_effective_group, Squid sets the GID to the effective
# TAG: cache_effective_group
cache_effective_group squid


Запускаем Squid с ключем -z:

# /usr/local/squid/sbin/squid -z


Появится сообщение
………………….| Creating Swap Directories

Возьмите src.rpm из Suse, подкорректируйте в spec что вам нужно и компилируйте и ставьте свой пакет

Я только начинаю разбираться в Linux , и сложно для меня понять что вы имели ввиду.




© OSzone.net 2001-2012