我https://github.com/reddit/reddit/blob/master/install-reddit.sh
在多台机器上使用过一个脚本,每次都能完美运行。现在,一台具有 Ubuntu 64 位的服务器,我遇到了脚本的一部分问题。
###############################################################################
# Configure PostgreSQL
###############################################################################
SQL="SELECT COUNT(1) FROM pg_catalog.pg_database WHERE datname = 'reddit';"
IS_DATABASE_CREATED=$(sudo -u postgres psql -t -c "$SQL")
if [ $IS_DATABASE_CREATED -ne 1 ]; then
cat <<PGSCRIPT | sudo -u postgres psql
CREATE DATABASE reddit WITH ENCODING = 'utf8' TEMPLATE template0;
CREATE USER reddit WITH PASSWORD 'password';
PGSCRIPT
fi
sudo -u postgres psql reddit < $REDDIT_HOME/reddit/sql/functions.sql
这基本上破坏了整个安装过程。我已经尝试从脚本手动运行这些行,sudo -u postgres psql
但我根本没有得到任何输出。似乎数据库创建不完整,因为如果我按照手动设置 POSTGRESQL 的指南进行操作,命令将sudo -u postgres initdb -D /usr/local/pgsql/data
失败并显示以下输出:
sudo: initdb: command not found
我也尝试在路径中添加东西,export PATH=$PATH:/usr/lib/postgresql/bin
但也没有帮助,initdb 将无法启动。安装了 Postgresql,所以我真的不知道是什么原因造成的。
的输出/etc/init.d/postgresql status
是Running clusters: 9.1/main
服务正在运行。
我什至尝试安装 ia32-libs 和 libc6-i386 但这也没有太大区别。
更新:在处理完该问题后,如评论中所述,我遇到了另一个问题。我也将其放在这里,因为我认为它也与此密切相关。然后我收到以下错误:
+ sudo -u reddit make pyx
[+] including definitions from Makefile.py
python setup.py build_ext --inplace
/home/reddit/reddit/r2/ez_setup.py:101: UserWarning: Module ez_setup was already imported from /home/reddit/reddit/r2/ez_setup.pyc, but /usr/lib/pymodules/python2.7 is being added to sys.path
import pkg_resources
running build_ext
skipping './r2/models/_builder.c' Cython extension (up-to-date)
building 'r2.models._builder' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c ./r2/models/_builder.c -o build/temp.linux-x86_64-2.7/./r2/models/_builder.o
unable to execute gcc: Permission denied
error: command 'gcc' failed with exit status 1
所以,这个 gcc 事情现在引起了问题。这行触发了这个: cd $REDDIT_HOME/reddit/r2 sudo -u $REDDIT_OWNER make pyx # generate the .c files from .pyx
$REDDIT_OWNER 是 reddit,因此它以该用户身份运行,并最终导致这些错误。任何人都可以为此提出一个潜在的解决方案吗?make: * [build/pyx-buildstamp] 错误 1
谢谢你的帮助!