На этот вопрос уже есть ответ здесь:
Я видел этот вопрос раньше, и я уверен, что он все будет хорошо, но прежде чем я сделаю это, я хочу получить уверенность.
Я собираюсь запустить IRC-сервер со 128 МБ оперативной памяти и 500 ГБ BW.
Сервер обычно обслуживает не менее 15 человек в течение всего дня, но бывают случаи, когда на нем может быть не менее 50 человек, а может и больше. У меня также может быть несколько дополнительных каналов, поэтому, вероятно, как минимум 5 каналов, и те же люди на одном канале будут на других каналах.
Также я пытаюсь решить, какое программное обеспечение использовать. Я собираюсь использовать NGIRCD, но не уверен, что у кого-нибудь есть рекомендации?
Я хочу заранее поблагодарить всех, кто мне помогает. :)
Поскольку я пытался определить, что занимает так много места? много времени, я написал этот небольшой скрипт для поиска большого занятия на определенном устройстве (без аргументов это будет просматривать текущий каталог, ища > 256 МБ записей каталога):
#!/bin/bash
humansize() {
local _c=$1 _i=0 _a=(b K M G T P)
while [ ${#_c} -gt 3 ] ;do
((_i++))
_c=$((_c>>10))
done
_c=$(( ( $1*1000 ) >> ( 10*_i ) ))
printf ${2+-v} $2 "%.2f%s" ${_c:0:${#_c}-3}.${_c:${#_c}-3} ${_a[_i]}
}
export device=$(stat -c %d "${1:-.}")
export minsize=${2:-$((256*1024**2))}
rdu() {
local _dir="$1" _spc="$2" _crt _siz _str
while read _crt;do
if [ $(stat -c %d "$_crt") -eq $device ];then
_siz=($(du -xbs "$_crt"))
if [ $_siz -gt $minsize ];then
humansize $_siz _str
printf "%s%12s%14s_%s\n" "$_spc" "$_str" \\ "${_crt##*/}"
[ $d "$_crt" ] && rdu "$_crt" " $_spc"
fi
fi
done < <(
find "$_dir" -mindepth 1 -maxdepth 1 -print
)
}
rdu "${1:-.}"
Пример использования:
./rdu.sh /usr 100000000
1.53G \_lib
143.52M \_i386-linux-gnu
348.16M \_x86_64-linux-gnu
107.80M \_jvm
100.20M \_java-6-openjdk-amd64
100.17M \_jre
99.65M \_lib
306.63M \_libreoffice
271.75M \_program
107.98M \_chromium
99.57M \_lib32
452.47M \_bin
2.50G \_share
139.63M \_texlive
129.74M \_texmf-dist
478.36M \_locale
124.49M \_icons
878.09M \_doc
364.02M \_texlive-latex-extra-doc
359.36M \_latex
Маленькая проверка:
du -bs /usr/share/texlive/texmf-dist
136045774 /usr/share/texlive/texmf-dist
echo 136045774/1024^2 | bc -l
129.74336051940917968750
Примечание: с использованием -b
вместо -k
указать du
суммировать только используемые байты, но не эффективное зарезервированное пространство (блоком по 512 байтов). Для работы с размером блоков необходимо изменить строку du -xbs ...
на du -xks
, подавить b
в _a = (KMGTP)
и разделить размер аргумента на 1024.
... а 15-50 и одни и те же люди по 5 разным каналам ?? Эта рабочая нагрузка может быть легко обработана любой существующей сетью IRC (я лично вижу, что существует слишком много их).
Однако на ваш вопрос, любое программное обеспечение IRCd, которое вы выберете, может справиться с такой крошечной рабочей нагрузкой. Однако, если говорить как о человеке с почти 20-летним опытом работы в IRC, запуск сервера - это еще не все, что нужно, это не 100% удовольствие и игры, и ВЫ должны иметь дело с злонамеренными пользователями. Я серьезно рекомендую выбрать сеть и просто создать канал, а управление IRC оставить кому-то другому.
Есть сотни вариантов на выбор: http://irc.netsplit.de/networks/
Это в основном это «выбери свой яд» (если вы настаиваете):
IRCd: http: //en.wikipedia. org / wiki / Comparison_of_Internet_Relay_Chat_daemons