如何与PKG在FreeBSD 10.1管理linux软件包管理

找不到答案?
阿里云freebsd10.1-pkg升级到1.9.4就不能用了
阿里云freebsd10.1-pkg升级到1.9.4就不能用了
/usr/local/lib/libpkg.so.3: Undefined symbol "openat"
格盘重装还是这样,希望有高人给解释下
自己在虚拟机上装的升级是没有问题的
按投票排序
按时间排序
setenv UNAME_r "10.1-RELEASE"
freebsd-update upgrade -r 10.3-RELEASE
freebsd-update install
freebsd-update install
先升级到 10.3
setenv UNAME_r "10.3-RELEASE"
freebsd-update upgrade -r 11.0-RELEASE
freebsd-update install
freebsd-update install
再升级到最新的11.0
然后更新源码,编译内核。然后就可以愉快的玩耍了。
tips:freebsd-update命令不能夸大版本升级
cd /usr/ports/ports-mgmt/pkg
make clean deinstall reinstall -D ALLOW_UNSUPPORTED_SYSTEM
用此方法彻底清除老版本,安装最新版本后,成功修复!
先用pkg-static对付一下。这个freebsd 10.1,10.2过了维护期引起的问题。否则想办法升到10.3吧。
/freebsd/pkg/issues/1526/bapt/indexinfo/issues/8
四天前阿云上 FreeBSD 10.1 升級到 1.9.4_1 都也沒問題,就這幾天不知道為什麼 pkg upgrade 升級 pkg 至 1.9.4_1 後就會出現 /usr/local/lib/libpkg.so.3: Undefined symbol "openat"
你们都太有才啦!
在/var/cache/pkg 找到pkg历史安装包
解压 后可以看到一个usr目录
直接复制出来覆盖 就可以用老版本了
我也是这个问题,2台主机都是这个情况。我自己还有台现场的服务器是10.3的,升级没有问题的。关键是现在pkg完全挂掉了
登录后可回答问题,请
一站式提供企业即时通讯、销售管理、协同办公。
基于深度学习技术及阿里巴巴多年的海量数据支撑, 提供多样化的内容识别服务,能有效帮助用户降低违规风险。其产品包括...
凝聚阿里巴巴多年来在无线业务安全防御的成功经验和技术成果,并面向开发者和企业提供安全扫描、应用加固、安全组件、数...
为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效率,降低 IT 成本...如何在 FreeBSD 10.2 上安装使用 Nginx 的 Ghost
-07%-19%-22%-42%-63%-90%
Node.js 是用于开发服务器端应用程序的开源的运行时环境。Node.js 应用使用 JavaScript 编写,能在任何有 Node.js 运行时的服务器上运行。它跨平台支持 Linux、Windows、OSX、IBM AIX,也包括 FreeBSD。Node.js 是 Ryan Dahl 以及在 Joyent 工作的其他开发者于 2009 年创建的。它的设计目标就是构建可扩展的网络应用程序。
Ghost 是使用 Node.js 编写的博客平台。它不仅开源,而且有很漂亮的界面设计、对用户友好并且免费。它允许你快速地在网络上发布内容,或者创建你的混合网站。
在这篇指南中我们会在 FreeBSD 上安装使用 Nginx 作为 web 服务器的 Ghost。我们会在 FreeBSD 10.2 上安装 Node.js、Npm、nginx 和 sqlite3。
第一步 - 安装 Node.js npm 和 Sqlite3
如果你想在你的服务器上运行 ghost,你必须安装 node.js。在这一部分,我们会从 freebsd 移植软件库中安装 node.js,请进入库目录 "/usr/ports/www/node" 并通过运行命令 "make" 安装。
cd /usr/ports/www/node
make install clean
如果你已经安装了 node.js,那就进入到 npm 目录并安装它。npm 是用于安装、发布和管理 node 程序的软件包管理器。
cd /usr/ports/www/npm/
make install clean
下一步,安装 sqlite3。默认情况下 ghost 使用 sqlite3 作为数据库系统,但它也支持 mysql/mariadb 和 postgresql。我们会使用 sqlite3 作为默认数据库。
cd /usr/ports/databases/sqlite3/
make install clean
如果安装完了所有软件,还有检查 node.js 和 npm 的版本:
node --version
npm --version
sqlite3 --version
第二步 - 添加 Ghost 用户
我们会以普通用户 "ghost" 身份安装和运行 ghost。用 "adduser" 命令添加新用户:
adduser ghost
FILL With Your INFO
第三步 - 安装 Ghost
我们会把 ghost 安装到 "/var/www/" 目录,首先新建目录然后进入到安装目录:
mkdir -p /var/www/
cd /var/www/
用 wget 命令下载最新版本的 ghost:
wget --no-check-certificate https://ghost.org/zip/ghost-latest.zip
把它解压到 "ghost" 目录:
unzip -d ghost ghost-latest.zip
下一步,更改属主为 "ghost",我们会以这个用户安装和运行它。
chown -R ghost:ghost ghost/
都做完了的话,通过输入以下命令切换到 "ghost" 用户:
su - ghost
然后进入到安装目录"/var/www/ghost/":
cd /var/www/ghost/
在安装 ghost 之前,我们需要为 node.js 安装 sqlite3 模块,用 npm 命令安装:
setenv CXX c++ ; npm install sqlite3 --sqlite=/usr/local
注意: 以 &ghost& 用户运行,而不是 root 用户。
现在,我们准备好安装 ghost 了,用 npm 命令安装:
npm install --production
下一步,复制配置文件 "config.example.js" 为 "config.js",用 nano 编辑器编辑:
cp config.example.js config.js
nano -c config.js
更改 server 模块的第 25 行:
host: '0.0.0.0',
保存并退出。
现在用下面的命令运行 ghost:
npm start --production
通过访问服务器 ip 和 2368 号端口验证一下。
以 &ghost& 用户在 "/var/www/ghost" 目录安装了 ghost。
第四步 - 作为 FreeBSD 服务运行 Ghost
要在 freebsd 上以服务形式运行应用,你需要在 rc.d 目录添加脚本。我们会在 "/usr/local/etc/rc.d/" 目录为 ghost 创建新的服务脚本。
在创建服务脚本之前,为了以服务形式运行 ghost,我们需要安装一个 node.js 模块,用 npm 命令以 sudo/root 权限安装 forever 模块:
npm install forever -g
现在进入到 rc.d 目录并创建名为 ghost 的新文件:
cd /usr/local/etc/rc.d/
nano -c ghost
粘贴下面的服务脚本:
# PROVIDE: ghost
# KEYWORD: shutdown
PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin"
. /etc/rc.subr
name="ghost"
rcvar="ghost_enable"
extra_commands="status"
load_rc_config ghost
: ${ghost_enable:="NO"}
status_cmd="ghost_status"
start_cmd="ghost_start"
stop_cmd="ghost_stop"
restart_cmd="ghost_restart"
ghost="/var/www/ghost"
log="/var/log/ghost/ghost.log"
ghost_start() {
sudo -u ghost sh -c "cd $ghost && NODE_ENV=production forever start -al $log index.js"
ghost_stop() {
sudo -u ghost sh -c "cd $ghost && NODE_ENV=production forever stop index.js"
ghost_status() {
sudo -u ghost sh -c "NODE_ENV=production forever list"
ghost_restart() {
run_rc_command "$1"
保存并退出。
下一步,给 ghost 服务脚本添加可执行权限:
chmod +x ghost
为 ghost 日志创建新的目录和文件,并把属主修改为 ghost 用户:
mkdir -p /var/www/ghost/
touch /var/www/ghost/ghost.log
chown -R /var/www/ghost/
最后,如果你想运行 ghost 服务,你需要用 sysrc 命令添加 ghost 服务到开机启动应用程序:
sysrc ghost_enable=yes
用以下命令启动 ghost:
service ghost start
其它命令:
service ghost stop
service ghost status
service ghost restart
第五步 - 为 Ghost 安装和配置 Nginx
默认情况下,ghost 会以独立模式运行,你可以不用 Nginx、apache 或 IIS web 服务器直接运行它。但在这篇指南中我们会安装和配置 nginx 和 ghost 一起使用。
用 pkg 命令从 freebsd 库中安装 nginx:
pkg install nginx
下一步,进入 nginx 配置目录并为 virtualhost 配置创建新的目录。
cd /usr/local/etc/nginx/
mkdir virtualhost/
进入 virtualhost 目录,用 nano 编辑器创建名为 ghost.conf 的新文件:
cd virtualhost/
nano -c ghost.conf
粘贴下面的 virtualhost 配置:
listen 80;
#Your Domain
server_name ghost.
location ~* \.(?:ico|css|js|gif|jpe?g|png|ttf|woff)$ {
expires 30d;
add_header P
add_header Cache-Control "public, mustrevalidate, proxy-revalidate";
proxy_pass http://127.0.0.1:2368;
location / {
add_header X-XSS-Protection "1; mode=block";
add_header Cache-Control "public, max-age=0";
add_header Content-Security-Policy "script-src 'self' ; font-src 'self' ; connect-src 'self' ; block-all-mixed- reflected- referrer no-referrer";
add_header X-Content-Type-O
add_header X-Frame-Options DENY;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_
proxy_set_header Host $http_
proxy_set_header X-Forwarded-Proto $
proxy_pass http://127.0.0.1:2368;
location = /robots.txt { access_ log_not_ }
location = /favicon.ico { access_ log_not_ }
location ~ /\.ht {
保存并退出。
要启用 virtualhost 配置,你需要把那个文件添加到 nginx.conf。进入 nginx 配置目录并编辑 nginx.conf 文件:
cd /usr/local/etc/nginx/
nano -c nginx.conf
在最后一行的前面,包含 virtualhost 配置目录:
include virtualhost/*.
保存并退出。
用命令 "nginx -t" 测试 nginx 配置,如果没有错误,用 sysrc 添加 nginx 到开机启动:
sysrc nginx_enable=yes
并启动 nginx:
service nginx start
现在测试所有 nginx 和 virtualhost 配置。请打开你的浏览器并输入: ghost.me
Ghost.me 正在成功运行。
如果你想要检查 nginx 服务器,可以使用 "curl" 命令。
Ghost 正在 nginx 上运行。
Node.js 是 Ryan Dahl 为创建和开发可扩展服务器端应用程序创建的运行时环境。Ghost 是使用 node.js 编写的开源博客平台,它有漂亮的外观设计并且易于使用。默认情况下,ghost 是可以单独运行的 web 应用程序,并不需要类似 apache、nginx 或 IIS 之类的 web 服务器,但我们也可以和 web 服务器集成(在这篇指南中使用 Nginx)。Sqlite 是 ghost 默认使用的数据库,它还支持 msql/mariadb 和 postgresql。Ghost 能快速部署并且易于使用和配置。
作者: 译者: 校对:
原创编译, 荣誉推出
上一篇:下一篇:
评论功能关闭
根据国家法律法规要求,本站暂时关闭文章评论功能。开放时间不确定。我们将谋求一种可以让大家更好的发表意见的方式。
根据国家法律法规要求,只有实名认证后才可以发表评论。
共计翻译: 125 篇
| 共计贡献: 817 天
贡献时间: -&
Ghost 是使用 Node.js 编写的博客平台。它不仅开源,而且有很漂亮的界面设计、对用户友好并且免费。它允许你快速地在网络上发布内容,或者创建你的混合网站。
分享到微信
打开微信,点击顶部的“╋”,
使用“扫一扫”将网页分享至微信。
请将我们加入您的广告过滤器的白名单,请支持开源站点。谢谢您。博客访问: 2842344
博文数量: 659
博客积分: 15410
博客等级: 上将
技术积分: 6913
注册时间:
认证徽章:
独学而无友,则孤陋而寡闻!
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: BSD
默认安装下,pkg是不能立即使用的,跟pkg_add 系列不太一样,需要进行配置后才能使用。
参考网址:https://wiki.freebsd.org/pkgng
http://lists.freebsd.org/pipermail/freebsd-pkg/2013-October/000107.html
大致翻译如下:
-----------------------------------------------以下上面两个网址的部分翻译内容& ----------------------------------------------------
要进行远程安装二进制包,必须进行以下设置:
1、确认pkg版本大于1.1.4,可以用pkg -v查看,如果小于此版本,请升级。
2、在/usr/local/etc/pkg.conf文件中,删除掉repository相关的语句,像PACKAGESITE, MIRROR_TYPE, PUBKEY等(译注:默认就没有)。如果删除这些后pkg.conf成为空文件,那么就把它一块删除吧。
3、创建/usr/local/etc/pkg/repos文件夹,可以用mkdir -p /usr/local/etc/pkg/repos命令创建。
4、在上面的路径下,创建FreeBSD.conf,内容为:
FreeBSD: {
url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest",
mirror_type: "srv",
enabled: yes
FreeBSD: {
url: "http://pkg.FreeBSD.org/${ABI}/latest",
mirror_type: "srv",
enabled: "yes"
5、可以使用pkg install screen等命令了。
如果平时用的二进制包比较多,建议参考:
pkg.FreeBSD.org用浏览器无法访问,并且不是一个合法的域名,这只是一个SRV域名,pkg程序知道怎么样访问它,浏览器无法理解。可以使用"pkg search“命令来查找仓库中的软件。
你可以使用下面的这些镜像站点来代替pkg.FreeBSD.org:
pkg.eu.FreeBSD.org
pkg.us-east.FreeBSD.org
pkg.us-west.FreeBSD.org
手册相关信息:
--------------------------------------------------------& 翻译结束 ------------------------------------------------------------
安装远程仓库中的二进制软件:
& pkg install screen
--未完待续--
阅读(16710) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。

我要回帖

更多关于 spack 软件包管理 的文章

 

随机推荐