分类 ubuntu 下的文章

fork后同步github来源

时间有点久了,以前fork了大佬的https://github.com/wdmsyf/docker 源码,今天更新了README中一个致命的命令,所以需要跟 一下新:

当时是这么fork的:
1、浏览器打开 https://github.com/wdmsyf/docker.git 再fork点击右上角的fork到自己名下得到https://github.com/leangjia/docker.git

2、把源码clone到本地:

git clone https://github.com/leangjia/docker.git

3、得到docker目录,cd docker进去,再执行:

git remote 和git remote -v看看都有哪些版本:

返回来一个origin,

4、在你本地增加名为wdmsyf的远程分支(也就是wdmsyf的分支)。

git remote add wdmsyf https://github.com/wdmsyf/docker.git

可以再看看都有哪些分支版本:

Administrator@IT MINGW64 /d/github/leangjia/docker (master)
$ git remote -v
origin  https://github.com/leangjia/docker.git (fetch)
origin  https://github.com/leangjia/docker.git (push)
wdmsyf  https://github.com/wdmsyf/docker.git (fetch)
wdmsyf  https://github.com/wdmsyf/docker.git (push)

其中,括号(master)是本地master主的,origin本地的(fetch)分支和(push)分支,
还多出wdmsyf的fetch和push两个分支;

5、现在wdmsyf修正了一个致命的源码,所以先把wdmsyf远程源码拉回来本地:

git fetch wdmsyf

(这里说一下,从git remote -v返回的wdmsyf https://github.com/wdmsyf/docker.git (fetch)这句就在这里git fetch wdmsyf用上了);

合并对方的代码:

git merge wdmsyf/master

再将本地合并了的最新的源代码推送到自己github上面去:

git push origin master

跳出来的用户名和密码自行输入即可。

不同版本Odoo共存一台阿里云ECS服务器上的方法笔记记录

今天玩一个大的:想在一台阿里云ECS上,同时运行odoo的多个版本,同时运行8.0、9.0、10.0、11.0、12.0,看看能不能行。
1、用docker来玩,基于Ubuntu 16 64-bit,安装最新版本docker:

更新一下:sudo apt-get update

2、让apt也能https:

$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common

3、添加Docker’s 官方的 GPG key:

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

4、按X86_64安装docker(ubuntu其他版本请参见docker官方安装文档https://docs.docker.com/install/linux/docker-ce/ubuntu):

$ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

刷新下:

sudo apt-get update

5、安装最新版docker:

sudo apt-get install docker-ce

6、试玩build个hello-world看看是否正常:

sudo docker run hello-world

7、获取Dockerfile及相关文件

git clone https://github.com/wdmsyf/docker.git

感谢【康虎云报表】群主的github分享和远程协助帮忙,加群交流:https://jq.qq.com/?_wv=1027&k=5jmI7Mc
进入odoo10目录:

cd 10.0

8、编译镜像

docker build --force-rm -t wdmsyf/odoo:10.0 .

9、创建容器

由于本镜像不含PostgreSQl,所以需要先创建一个PostgreSQL容器:

docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo --name odoo_db postgres:9.4

然后创建odoo容器,数据库则连接到刚才创建的PostgreSQL容器,8069端口映射到宿主机的8869,8071映射到宿主机的8871:

a、
使用镜像内官方的源代码和默认的配置文件:

docker run -d --name odoo10_wdmsyf -p 8869:8069 -p 8871:8071 --link odoo_db:db wdmsyf/odoo:10.0

c、
使用自定义配置文件和自定义odoo源代码(比如可以换成企业版),配置文件在宿主的路径可变,文件名不能变;源代码在宿主机的路径可变:

docker run -d --name odoo10_wdmsyf -p 8869:8069 -p 8871:8071 --link odoo_db:db -v ~/odoo_conf:/etc/odoo -v ~/odoo_src/odoo:/usr/lib/python2.7/dist-packages/odoo wdmsyf/odoo:10.0

阿里云ECS管理后台也要放行8869才能正常访问。

【GoodERP实施笔记一】:Ubuntu14.04源码安装GoodERP最新版记录

如果还没部署可参考站内前文 :第一篇:GoodERP首测win2003server纯净+GoodERP20170302绿色版
部署后简体中文语言等参数配置:第二篇:部署GoodERP启动成功! 修改为默认简体中文语言
【GoodERP实施笔记一】 :Ubuntu14.04源码安装GoodERP最新版记录
GoodERP绿色版升级更新方法(含32位和64位):GoodERP绿色版升级更新
案例:用GoodERP替代用友U8普及版

参考官方:http://best.gooderp.org/d/7
记录如下:

1、纯净安装ubuntu14.04 server 64-bit之后,

sudo apt install git -y
sudo apt install npm -y
ln -s /usr/bin/nodejs /usr/bin/node
npm install -g less

把git和npm安装上(要点时间)。

2、安装postgresql数据库 (根据你的操作系统),Ubuntu 14.04中的版本是9.3的postgresql数据库:

sudo apt-get install postgresql

3、
安装依赖环境:

安装python-pip依赖:

sudo apt install python-pip
sudo pip install -r base/requirements.txt
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.2.1/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
dpkg -i wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
cp /usr/local/bin/wkhtmltopdf /usr/bin

安装 ppsycopg2报错, Error: You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application

解决:

sudo apt-get install libpq-dev

3、开始拉源码:

adduser good
su good
cd ~
git clone http://github.com/osbzr/gooderp_addons
git clone http://github.com/osbzr/base

一定要切到good自己有权限的目录下才能git clone拉源码回来。

ubuntu 14.04 server 安装IT资产管理系统

ubuntu 14.04 server 安装IT资产管理系统

环境:lnmp.org军哥出品的一键包,用的nginx没用apache(官方好像推荐是用apache的)。

步骤:

1、将itdb1.23最新版本的源码拿到手放到wwwroot目录下:

git clone https://github.com/leangjia/itdb.git

注意:会得到一个itdb目录。

2、打开浏览器输入http://abc.com/itdb/

报错提示找不到默认SQLite数据库文件,

/mnt/wwwroot/abc.com/itdb/data/itdb.db not found
if this is a fresh install, copy pure.db to /mnt/wwwroot/abc.com/itdb/data/itdb.db
in unix:
cd /mnt/wwwroot/abc.com/itdb/data; cp pure.db itdb.db

用命令 cp pure.db itdb.db 解决。

3、刷新浏览器后再提示:

Ubuntu14.04如何备份和恢复系统

Ubuntu14.04如何备份和恢复系统

安装好Ubuntu之后,别忘了安装 for linux 防火墙和杀毒软件。
在备份系统前,请保证系统是无错和干净的:
本人操作系统是ubuntu14.04,不知道是系统出了问题还是装的软件有问题,每次开机都出现:System program problem detected 我初步感觉是显卡驱动的问题。
看着很心烦,关闭方法:
管理员权限打开/etc/default/apport

# set this to 0 to disable apport, or to 1 to enable it
# you can temporarily override this with
# sudo service apport start force_start=1
enabled=1

把原先的1改成0就可以了。

清理Ubuntu14.04的系统的垃圾:
先清空回收站,软件升级到最新。
Ubuntu系统与Windows系统所采用的文件系统不同, Ubuntu系统在使用或更新过程中不会产生文件碎片和垃圾文件,所以在使用 Ubuntu系统中不用考虑清理系统的文件垃圾和整理文件碎片。
如果你确实想去清理一下Ubuntu系统的话,那么请你参照下述方法去做吧:

1、按“Ctrl+Alt+T”,调出终端。
2、在终端输入下面的命令(复制到终端窗口即可)——按回车键——输入帐户密码——按回车键。
sudo apt-get autoclean(清理旧版本的软件缓存)
sudo apt-get clean(清理所有软件缓存)
sudo apt-get autoremove(删除系统不再使用的孤立软件)

在备份Windows系统的时候你可能想过,我能不能把整个C盘都放到一个ZIP文件里去呢。这在Windows下是不可能的,因为在Windows中有很多文件在它们运行时是不允许拷贝或覆盖的,因此你需要专门的备份工具对Windows系统进行特殊处理。
和备份Windows系统不同,如果你要备份Ubuntu系统(或者其它任何Linux系统),你不再需要像Ghost这类备份工具。事实上,Ghost这类备份工具对于Linux文件系统的支持很糟糕,例如一些Ghost版本只能完善地支持Ext2文件系统,如果你用它来备份Ext3和Ext4文件系统,你可能会丢失一些宝贵的数据。

一. 备份系统
我该如何备份我的Ubuntu系统呢?很简单,就像你备份或压缩其它东西一样,使用TAR。和Windows不同,Linux不会限制root访问任何东西,你可以把分区上的所有东西都扔到一个TAR文件里去!
备份第一步:

打开一个终端,并运行  sudo su(回车后要求输入密码)
第二步:继续在终端中输入  cd /(注意中间有一个空格)
第三步:(开始备份系统)
在终端中输入:
# tar cvpzf Ubuntu.tgz –exclude=/proc –exclude=/lost+found –exclude=/Ubuntu.tgz –exclude=/mnt –exclude=/sys /

让我们来简单看一下这个命令:
'tar' 是用来备份的程序
c - 新建一个备份文档
v - 详细模式, tar程序将在屏幕上实时输出所有信息。
p - 保存许可,并应用到所有文件。
z - 采用‘gzip’压缩备份文件,以减小备份文件体积。
f - 说明备份文件存放的路径, Ubuntu.tgz 是本例子中备份文件名。
“/”是我们要备份的目录,在这里是整个文件系统。
在档案文件名“Ubuntu.gz”和要备份的目录名“/”之间给出了备份时必须排除在外的目录。有些目录是无用的,例如“/proc”、“/lost+ found”、“/sys”。当然,“Ubuntu.gz”这个档案文件本身必须排除在外,否则你可能会得到一些超出常理的结果。如果不把“/mnt”排 除在外,那么挂载在“/mnt”上的其它分区也会被备份。另外需要确认一下“/media”上没有挂载任何东西(例如光盘、移动硬盘),如果有挂载东西, 必须把“/media”也排除在外。
有人可能会建议你把“/dev”目录排除在外,但是我认为这样做很不妥,具体原因这里就不讨论了。
执行备份命令之前请再确认一下你所键入的命令是不是你想要的。执行备份命令可能需要一段不短的时间。
备份完成后,在文件系统的根目录将生成一个名为“Ubuntu.tgz”的文件,它的尺寸有可能非常大。现在你可以把它烧录到DVD上或者放到你认为安全的地方去。

你还可以用Bzip2来压缩文件,Bzip2比gzip的压缩率高,但是速度慢一些。如果压缩率对你来说很重要,那么你应该使用Bzip2,用“j”代替命令中的“z”,并且给档案文件一个正确的扩展名“bz2”。完整的命令如下:
# tar cvpjf Ubuntu.tar.bz2 –exclude=/proc –exclude=/lost+found –exclude=/Ubuntu.tar.bz2 –exclude=/mnt –exclude=/sys /

二. 恢复系统
切换到root用户,并把文件“Ubuntu.tgz”拷贝到分区的根目录下。
在 Linux中有一件很美妙的事情,就是你可以在一个运行的系统中恢复系统,而不需要用boot-cd来专门引导。当然,如果你的系统已经挂掉不能启动了, 你可以用Live CD来启动,效果是一样的。
使用下面的命令来恢复系统:

# tar xvpfz Ubuntu.tgz -C /

如果你的档案文件是使用Bzip2压缩的,应该用:

# tar xvpfj Ubuntu.tar.bz2 -C /

注意:上面的命令会用档案文件中的文件覆盖分区上的所有文件。
参数x是告诉tar程序解压缩备份文件。 -C 参数是指定tar程序解压缩到的目录。( 在本例中是/ ),这会花一段时间。只需确保在你做其他任何事情之前,重新创建你剔除的目录: ( /proc, /lost+found, /mnt, /sys, 等等。)

# mkdir /proc /lost+found /mnt /sys

或者这样:

# mkdir proc
# mkdir lost+found
# mkdir mnt
# mkdir sys

执行恢复命令之前请再确认一下你所键入的命令是不是你想要的,执行恢复命令可能需要一段不短的时间。触类旁通,熟练以上操作后,对用户和部分升级文件进行定期备份,可以节省大量时间和提高安全性。