2017年3月

SSH (指 SSH 客户端)是一个用于访问远程主机的程序,它使得用户能够 在远程主机上执行命令。这是在登录远程主机中的最受推崇的方法之一,因为其设计目的就是在非安全网络环境上为两台非受信主机的通信提供安全加密。

SSH 使用系统全局以及用户指定(用户自定义)的配置文件。在本文中,我们将介绍如何创建一个自定义的 ssh 配置文件,并且通过特定的选项来连接到远程主机。

先决条件:

  1. 你必须 在你的桌面 Linux 上安装好 OpenSSH 客户端
  2. 了解通过 ssh 进行远程连接的常用选项。

SSH 客户端配置文件

以下为 ssh 客户端配置文件:

  1. /etc/ssh/ssh_config 为默认的配置文件,属于系统全局配置文件,包含应用到所有用户的 ssh 客户端的设置。
  2. ~/.ssh/config 或者 $HOME/.ssh/config 为用户指定/自定义配置文件,这个文件中的配置只对指定的用户有效,因此,它会覆盖掉默认的系统全局配置文件中的设置。这也是我们要创建和使用的文件。

默认情况下,用户是通过在 ssh 中输入密码来获取验证的,你可以以一个简单的步骤来 使用 Keygen 来设置 ssh 无密码登录

注:如果你的系统上不存在 ~/.ssh 目录,那就手动创建它,并设置如下权限:

$ mkdir -p ~/.ssh
$ chmod 0700 ~/.ssh   

以上的 chmod 命令表明,只有目录属主对该目录有读取、写入和执行权限,这也是 ssh 所要求的设置。

如何创建用户指定的 SSH 配置文件

该文件并不会被默认创建的,所以你需要使用具有读取/写入权限的用户来创建它。

$ touch ~/.ssh/config
$ chmod 0700 ~/.ssh/config

上述文件包含由特定主机定义的各个部分,并且每个部分只应用到主机定义中相匹配的部分。

~/.ssh/config 文件的常见格式如下,其中所有的空行和以 ‘#’ 开头的行为注释:

Host  host1
ssh_option1=value1
ssh_option2=value1 value2
ssh_option3=value1
Host  host2
ssh_option1=value1
ssh_option2=value1 value2
Host  *
ssh_option1=value1
ssh_option2=value1 value2

如上格式详解:

  1. Host host1 为关于 host1 的头部定义,主机相关的设置就从此处开始,直到下一个头部定义 Host host2 出现,这样形成一个完整的定义。
  2. host1 和 host2 是在命令行中使用的主机别名,并非实际的远程主机名。
  3. 其中,如 sshoption1=value1、sshoption2=value1 value2 等配置选项将应用到相匹配的主机,可以缩进以看起来更整齐些。
  4. 对于 ssh\_option2=value1 value2 这样的选项,ssh 执行时会按照顺序优先使用 value1 的值。
  5. 头部定义 Host * (其中 * 为匹配模式/通配符,匹配零个或多个字符) 会匹配零个或者多个主机。

仍旧以上述的格式为例,ssh 也是也这样的形式类读取配置文件的。如果你执行 ssh 命令来访问远程主机 host1,如下:

$ ssh host1

以上 ssh 命令会进行一下动作:

  1. 匹配配置文件中主机别名 host1,并使用头部定义中的各个设置项。
  2. 继续匹配下一个主机定义,然后发现命令行中提供的主机名没有匹配的了,所以接下来的各个设置项会被略过。
  3. 最后执行到最后一个主机定义 Host *, 这会匹配所有的主机。这里,会将接下来的所有设置选项应用到所有的主机连接中。但是它不会覆写之前已经有主机定义的那些选项。
  4. ssh host2 与此类似。

如何使用用户指定的 SSH 配置文件

在你理解了 ssh 客户端配置文件的工作方式之后,你可以通过如下方式来创建它。记得使用你的服务器环境中对应的选项、值 (主机别名、端口号、用户名等)。

通过你最喜欢的编辑器来打开配置文件:

$ vi ~/.ssh/config

并定义必要的部分:

Host fedora25
HostName 192.168.56.15
Port 22
ForwardX11 no
Host centos7
HostName 192.168.56.10
Port 22
ForwardX11 no
Host ubuntu
HostName 192.168.56.5
Port 2222
ForwardX11 yes
Host *
User tecmint
IdentityFile ~/.ssh/id_rsa
Protocol 2
Compression yes
ServerAliveInterval 60
ServerAliveCountMax 20
LogLevel INFO

以上 ssh 配置文件的详细解释:

  1. HostName - 定义真正要登录的主机名,此外,你也可以使用数字 IP 地址,不管是在命令行或是 HostName 定义中都允许使用其中任一种。
  2. User – 指定以哪一个用户来登录。
  3. Port – 设置连接远程主机的端口,默认是 22 端口。但必须是远程主机的 sshd 配置文件中定义的端口号。
  4. Protocol – 这个选项定义了优先使用 ssh 支持的协议版本。常用的值为 ‘1’ 和 ‘2’,同时使用两个协议版本则必须使用英文逗号隔开。
  5. IdentityFile – 指定一个用于读取用户 DSA、Ed25519、ECDSA 等授权验证信息的文件。
  6. ForwardX11 – 定义 X11 连接是否自动重定向到安全通道和 DISPLAY 设置。有两个可以设置的值,即 yesno
  7. Compression – 默认值为 no,如果设置为 yes,则在连接远程主机过程中使用压缩进行传输。
  8. ServerAliveInterval – 设置当没有收到服务器响应 (或者数据))时的超时时间,单位为秒,ssh 会通过加密信道发送信息,请求服务器响应。默认值为 0,这意味着 ssh 不会向服务器发送响应请求;如果定义了 BatchMode 选项,则默认是 300 秒。
  9. ServerAliveCountMax – 设置服务器在没有接收到服务器的任何响应时,由服务器发送的活动信息数量。
  10. LogLevel – 定义 ssh 登录信息的的日志冗余级别。允许的值为:QUIETFATALERRORINFOVERBOSEDEBUGDEBUG1DEBUG2DEBUG3,默认为 INFO

连接任意远程主机的标准方法是在上述两个文件中定义第二个部分(我连接的是 CentOS 7)。一般情况下,我们这样输入命令:

$ ssh -i ~/.ssh/id_rsa -p 22 [email protected]

然而,使用了 ssh 客户端配置文件之后,我们还可以这样:

$ ssh centos7

你也可以在 man 帮助页面寻找更多的设置选项和使用实例:

$man ssh_config

至此,文毕。我们在文中向你介绍了在 Linux 中如何使用用户指定 (自定义) 的 ssh 客户端配置文件。通过下方的反馈表单来写一些与本文的相关的想法吧。


作者简介:

Aaron Kili 是一名 Linux 和 F.O.S.S 忠实拥护者、高级 Linux 系统管理员、Web 开发者,目前在 TecMint 是一名活跃的博主,热衷于计算机并有着强烈的只是分享意愿。


译者简介:

GHLandy —— 生活中所有欢乐与苦闷都应藏在心中,有些事儿注定无人知晓,自己也无从说起。


via: http://www.tecmint.com/configure-custom-ssh-connection-in-linux/

作者:Aaron Kili 译者:GHLandy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

PDF( 可移植文档格式 Portable Document Format )可谓是众所周知,并且可能是当今使用最广泛的文档类型,特别是在可靠呈现和分享文档、软硬件及系统无关性等方面有着很大优势。

事实上,它已经成为了电子文档的业界标准,特别是在互联网上。由于这样的原因,以及越来越多的电子信息分享,很多人从 PDF 文档中得到他们想要的有用信息。

建议阅读: Linux 中的八大 PDF 阅读器

在本文中,我将列举 Linux 系统中最好的六个 PDF 页面裁剪工具。

1、 Master PDF 编辑器

Master PDF 编辑器 是一个简单易用、方便却强大的多功能 PDF 编辑器,可以帮助你很好的处理 PDF 文档。

Master PDF 编辑器

Master PDF 编辑器

使用它可以很容易地查看、创建和修改 PDF 文件。它还可以将几个文档合成一个文件,以及 将源文档分割成多个文档

此外,Master PDF 编辑器还可以帮你对 PDF 文档进行注释、签名和加密等等。

Master PDF 编辑器的特性

  1. 跨平台,可以运行于 Linux、Windows 以及 MacOS
  2. 可以创建 PDF 文档
  3. 允许修改 PDF 文档中的文本和对象
  4. 支持 PDF 文档注释
  5. 支持 PDF 创建和填充表单
  6. 支持光学文本识别(OCR)
  7. 支持多页面操作
  8. 支持书签和数字签名
  9. 搭载有一个虚拟 PDF 打印机

2、 PDF Quench

PDF Quench 是一个用于 PDF 页面裁剪的图形化 Python 应用。

PDF Quench 编辑器

PDF Quench 编辑器

它可以让用户以合适的旋转角度来裁剪页面,将裁剪框定义为与 meda 框相同的位置,这有助于处理第二次裁剪的问题。

3、 PDF Shuffler

PDF-Shuffler 是一个小巧、简单和免费的 python-gtk 应用,由 python-pyPdf 进行图形界面封装而来。

PDF Shuffler 编辑器

PDF Shuffler 编辑器

通过 PDF-Shuffler,你可以使用一个直观的交互式图形用户界面,来合并或者分割 PDF 文档,以及旋转、裁剪和重组页面。

4、 Krop

Krop 是一个简单、免费的图形用户界面应用,用于裁剪 PDF 文件页面。它是使用 Python 编写的,并且只能运行于 Linux 系统。

Krop PDF 编辑器

Krop PDF 编辑器

它依赖于 PyQT、python-poppler-qt4 和 pyPdf 或 PyPDF2 来支持自身的全部功能。其主要特性之一就是可以如同 eReaders 一样,将页面分为多个子页面以适应设备屏幕尺寸的限制。

5、 Briss

Briss 是一个简单、免费的跨平台程序,用于裁剪 PDF 文档,它可以工作于 Linux、Windows 和 Mac OSX。

Briss PDF 编辑器

Briss PDF 编辑器

其中,有一个显著的特性是其直观的图形用户界面允许你直接以可视的方式在页面上调整矩形框来精确定义裁剪区域,当然还有其他更多有用的特性。

6、 PDFCrop

PDFCrop 是一个 Linux 平台的 PDF 裁剪应用,使用 Perl 语言编写。它要求系统已安装好 ghostscript (用于寻找 PDF 文件的页面边界框) 和 PDFedit (用于裁剪和重设页面尺寸)。

它能让你裁剪掉 PDF 页面中的白色边界,并重新调整页面大小以适应标准尺寸的纸张;所得到的页面打印后通常更具可读性和引人注目。

它主要用于学术界人士,使他们能够用习惯的方式来打印下载的期刊论文。PDFCrop 也适用于这些人:他们经常接收到以信纸大小来组织页面的 PDF 文档,但却需要打印为 A4 纸大小 (或者是相反的情况)。

至此,文毕。在本文中,我列举了在 Linux 中六个最好用的 PDF 页面裁剪工具及其主要特性。是不是还有其他的工具被我遗漏了呢?请通过评论向我分享哦。


作者简介:

Aaron Kili 是一名 Linux 和 F.O.S.S 忠实拥护者、高级 Linux 系统管理员、Web 开发者,目前在 TecMint 是一名活跃的博主,热衷于计算机并有着强烈的知识分享意愿。


译者简介:

GHLandy —— 生活中所有欢乐与苦闷都应藏在心中,有些事儿注定无人知晓,自己也无从说起。


via: http://www.tecmint.com/best-pdf-page-cropping-tools-for-linux/

作者:Aaron Kili 译者:GHLandy 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出

Arch Linux 是专门为 i386 和 x86-64 架构的计算机而设计的基于 Linux 内核的操作系统。其特有的软件包管理器使用 pacman 进行完整追踪来将系统应用软件升级到最新版本。 Pacman 是一个用于安装、升级和卸载软件包的管理器。这是一款完全自由而开源的软件,由 Linux 开源社区提供支持。

Arch Linux 也因其丰富的 Wiki 帮助文档而大受推崇。该系统基于二进制的软件包,这些软件包主要是为 i386 的 64 位和 32 位的系统而开发的,同时也为现代的硬件系统提供最佳的性能优化。

你可以参考这篇教程直接在你的本地电脑上安装 Arch Linux 系统,或者你也可以使用你的 Windows 电脑中的 VirtualBox 虚拟机来安装。

Arch Linux 软件仓库

要在 VirtualBox 中安装 Arch Linux 系统,你得了解该系统的基础软件仓库。软件仓库用于在安装的过程中获取软件包。对于 Arch Linux 系统来说,有很多可用的软件仓库,可以使用 pacman 工具来进行维护。下面列出的是在 VirtualBox 中安装 Arch Linux 系统时用到的一些基础软件仓库列表:

  • core 软件仓库包括所有的用于对系统进行基本设置的一些软件包,比如启动 Arch Linux 系统和编译软件包。
  • extra 软件仓库包括 core 软件仓库以外的其它软件包以及与桌面环境相关的软件包。
  • community 软件仓库包含的是由可信任的 Linux 社区用户维护的软件包,其中的大多数的软件包都会被迁移到核心软件仓库或者额外软件仓库中。
  • Multilib 软件仓库包括 32 位的软件包以及用于在 64 位操作系统中安装 32 位应用程序的类库。
  • testing 软件仓库包括那些即将成为 core 或 extra 的软件包。
  • community-testing 软件仓库主要用于 community 类的测试。
  • multilib testing 软件仓库跟 testing 软件仓库类似,但是它包含 Multilib 类。
  • gnome-unstable 软件仓库包括最新的 GNOME 桌面环境。
  • kde-unstable 软件仓库包括 KDE 最新的发布前软件包。

在 VirtualBox 虚拟机中安装 Arch Linux 系统

下载 Arch Linux 系统

要在 VirtualBox 虚拟机中安装 Arch Linux 系统,你最好使用官网下载的新版 Arch Linux 系统。你可以选择直接下载或是种子方式下载系统文件,这是一个很安全的下载方式。在安装之前,确保你系统中有 20 GB 的剩余空间和 1 GB 的内存。

Download Arch Linux

在 Oracle VirtualBox 虚拟机管理界面初始化系统安装

打开 Oracle VirtualBox 虚拟机管理界面,点击 新建 new ,输入你想创建的新系统的名称;这里输入的是 “Arch Linux” 。系统会自动选择 Arch Linux 的版本和类型,这取决于你的系统配置。单击下一步

Open VirtualBox

为你的新系统分配内存,最好是 1024 MB 。单击下一步,然后点击 创建 create 来创建一个虚拟磁盘。

Set RAM size

在下一步中,你将会被询问为新系统选择磁盘类型。通常选择 VirtualBox 磁盘镜像 VirtualBox Disk Image,VDI 类型。

Select disk file type

选择 动态分配 dynamically allocated ,单击下一步

Allocate disk space dynamically

分配 20 GB 的硬盘大小及存放位置。

Choose a hard disk size of 20GB

现在你可以看到 Arch Linux 系统已创建完成了。点击 开始 start 按钮。

Start the Virtual Machine

单击 浏览 browser 然后选择你从官网下载的启动磁盘。

Choose Arch Linux Disk image

Browse for disk image file

点击 启动 start ,然后打开全屏模式。

Open the full-screen view

Start the Arch Linux VM

在 VirtualBox 中启动并安装 Arch Linux 系统

你将会看到 Arch Linux 系统第一个打开界面。单击 “Boot Arch Linux (x86\_64)”, 它用于 64 位系统,或者单击 “Boot Arch Linux (i686)”,用于 32 位系统。

Choose to boot Arch Linux

当你单击第一个选项后,系统将开始启动。实际上只是进入到一个临时启动状态,即进入到 Arch Linux 的 Live 系统,并以 root 帐号登录了。

Booting into Arch Linux live version

输入下面的命令来检查网络连接。

ping google.com

这个单词 ping 表示网路封包搜寻。你将会看到下面的返回信息,表明 Arch Linux 已经连接到外网了。这是执行安装过程中的很关键的一点。(LCTT 译注:或许你 ping 不到那个不存在的网站,你选个存在的吧。)

Test internet connectivity with ping

输入如下命令清屏:

clear

在开始安装之前,你得先为硬盘分区。输入 fdisk -l ,你将会看到当前系统的磁盘分区情况。注意一开始你给 Arch Linux 系统分配的 20 GB 存储空间。

Partition the harddisk

硬盘分区

我们打算把这个 20 GB 的磁盘分成三个分区。第一个主分区为 root 分区,大小为 10 GB 。第二个分区为 swap 分区,大小为内存的两倍,为 2048 MB 。第三个是逻辑分区,大小为 8 GB 。

Create 3 disk partitions

输入下面的命令:

cfdisk

你将看到 gptdossgisun 类型,选择 dos 选项,然后按回车。

Create a partition of type DOS

这里你将看到主磁盘空间,大小为 20 GB 。在 剩余空间 free space 按回车来修改分区大小,输入 10 GB 。

Choose 10GB partition size

按回车并单击 主分区 primary

Select primary

在可引导选项按回车选择 可引导 bootable 类型。

Make partition bootable.

写入 write 选项按回车键将分区信息写入磁盘。

Write partition to disk

之后输入 yes 来应用更改。

Confirm changes

现在已经创建完成 10 GB 分区。单击 剩余空间 free space ,输入分区大小 2048 M 。

Create the 2GB swap partition

以同样的方式创建逻辑分区。在 退出 quit 选项按回车键,然后输入下面的命令来清屏:

clear

quit cfdisk

输入下面的命令来格式化新建的分区:

mkfs.ext4 /dev/sda1

这里的 sda1 是分区名。使用同样的命令来格式化第二个分区 sda3 :

mkfs.ext4 /dev/sda3

格式化 swap 分区:

mkswap /dev/sda2

Format the swap partition with mkswap

使用下面的命令来激活 swap 分区:

swapon /dev/sda2

输入 clear 命令清屏:

clear

Enable swap

输入下面的命令来挂载主分区以开始系统安装:

mount /dev/sda1 /mnt

Mount the partitions

引导 Arch Linux 启动

输入下面的命令来引导系统启动:

pacstrap /mnt base base-devel

可以看到系统正在同步数据包。

Bootstrap Arch Linux

安装将会开始,需要几分钟。

Arch Linux installation has been started

系统基本软件安装完成后,输入下面的命令来创建 fstab 文件:

genfstab /mnt>> /mnt/etc/fstab

Generating /etc/fstab

配置区域、时间和 root 帐号密码。

输入下面的命令来更改系统的根目录为 Arch Linux 的安装目录:

arch-chroot /mnt /bin/bash

现在来更改语言配置:

nano /etc/locale.gen

Set language in Arch Linux

通过删除 # 以及按 control + x ,按 y ,然后再按回车来选择下面的语言配置:

select language

输入下面的命令来激活它:

locale-gen

按回车。

Generate the locales in Arch Linux

使用下面的命令来创建 /etc/locale.conf 配置文件:

nano /etc/locale.conf

然后按回车。现在你就可以在配置文件中输入下面一行内容来为系统添加语言:

LANG=en_US.UTF-8

然后按 control + x ,按 y ,再按回车。

Set default language

输入下面的命令来同步时区:

ls /usr/share/zoneinfo

下面你将看到整个世界的时区列表。

Set System language default

输入下面的命令来选择你所在的时区:

ln –s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 

或者你可以从下面的列表中选择其它名称。

使用下面的命令来设置标准时间:

hwclock --systohc --utc

硬件时钟已同步。

Set time

设置 root 帐号密码:

passwd

按回车。 然而输入你想设置的密码,按回车确认。

Set the root password

设置主机名和网络

使用下面的命令来设置主机名:

nano /etc/hostname

然后按回车。输入你想设置的主机名称,按 control + x ,按 y ,再按回车 。

Set the hostname

启用 dhcpcd :

systemctl enable dhcpcd

这样在下一次系统启动时, dhcpcd 将会自动启动,并自动获取一个 IP 地址:

Enable dhcpcd

安装引导加载程序

最后一步,输入以下命令来初始化 grub 安装。输入以下命令:

pacman –S grub os-rober

然后按 y ,将会下载相关程序。

Configure grub

使用下面的命令来将启动加载程序安装到硬盘上:

grub-install /dev/sda

然后进行配置:

grub-mkconfig -o /boot/grub/grub.cfg

Install and configure grub boot loader

最后重启系统:

reboot

然后按回车 。

Reboot the system

启动进入到已安装完成的 Arch Linux 系统

选择“启动已存在的操作系统”选项来启动 Virtual Box 虚拟机中的 Arch Linux 系统。

Boot Arch Linux

使用 root 帐号和密码登录后,你将进入全新安装好的 Arch Linux 操作系统。

Arch Linux installed successfully


via: https://www.howtoforge.com/tutorial/install-arch-linux-on-virtualbox/

译者简介:

rusking:春城初春/春水初生/春林初盛/春風十裏不如妳

致谢:十分感谢 CoinkWang勘误

作者:Dimitris 译者:rusking 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

speed up odoo

Odoo 是最流行的 ERP(企业资源计划)软件,它由 Python 编写,使用 PostgreSQL 作为后端数据库。Odoo 社区版是免费的开源软件,它囊括了项目管理,生产、财务、记账和销售管理,仓储管理,人力资源管理,甚至还有更多项目。里面包含了 30 个核心模块,以及超过 3000 个社区模块。Odoo 部署了大量的模块,数据库里也包含了庞大的数据等等,这些都使得这个软件比较复杂,可能会导致效率低下。Odoo 的两个主要瓶颈在于磁盘访问,以及数据库查询时间。

为了提升 Odoo 实例的性能,你可以:

  • 使用一个快速磁盘驱动器来存储(最好是 SSD)。
  • 使用内存充足的 Linux VPS
  • 在 Odoo 中激活 多处理器模式 multiprocessing mode
  • 正确配置并优化 PostgreSQL 服务。

获得一台有着更多内存的 SSD VPS

正如我们先前提到的,随机磁盘访问速度是 Odoo 的主要瓶颈之一。因此,要确保 Odoo 部署在一台基于 SSD 的 VPS 上。由于 Odoo 是一个对资源十分敏感的应用,因此始终要把它安装在一台有着更多 RAM 的 VPS 上,如果可能,将整个 Odoo 实例及其数据库加载到 RAM 中。固态磁盘驱动器尤其以随机存取见长,而且由于 SSD 没有任何活动部件,它们能够取得数百倍于传统机械硬盘驱动器的随机存取 IOPS(LCTT译注:即每秒读写操作的次数)。如果服务器没有采用 SSD 来驱动或提速,那么不管你对 Odoo 做多少优化和配置都无济于事,它仍然会很慢。所以,获得正确的主机来部署 Odoo 是提升其性能的最重要因素。

其它 Odoo 优化包括:

在 Odoo 配置中启用多处理器选项

要实现此功能,请定位到 openerp-server 二进制文件:

#updatedb
#locate openerp-server

/usr/bin/openerp-server

执行以下命令:

#/usr/bin/openerp-server --help

该命令的输出结果如下:

Usage: openerp-server [options]

Options:
  --version             show program's version number and exit

  (...)

  Multiprocessing options:
    --workers=WORKERS   Specify the number of workers, 0 disable prefork mode.
    --limit-memory-soft=LIMIT_MEMORY_SOFT
                        Maximum allowed virtual memory per worker, when
                        reached the worker be reset after the current request
                        (default 671088640 aka 640MB).
    --limit-memory-hard=LIMIT_MEMORY_HARD
                        Maximum allowed virtual memory per worker, when
                        reached, any memory allocation will fail (default
                        805306368 aka 768MB).
    --limit-time-cpu=LIMIT_TIME_CPU
                        Maximum allowed CPU time per request (default 60).
    --limit-time-real=LIMIT_TIME_REAL
                        Maximum allowed Real time per request (default 120).
    --limit-request=LIMIT_REQUEST
                        Maximum number of request to be processed per worker
                        (default 8192).

工作进程的数量应该和分配到 VPS 的 CPU 核心数一样,或者,如果你想为 PostgreSQL 数据库、cron 任务、或者其它和 Odoo 实例安装在同一台 VPS 上的其它应用预留出一些 CPU 核心,那么你可以将工作进程数设置为一个比 VPS 上可用 CPU 核心更低的值,以避免资源耗尽。

limit-memory-softlimit-memory-hard 参数不言自明,你可以使用默认值,也可以根据 VPS 上的实际可用 RAM 来进行修改。

例如,如果你的 VPS 有 8 个 CPU 核心,以及 16 GB 内存,那么你可以将工作进程数设置为 17(CPU 核心数 x 2 + 1),limit-memory-soft 总值设置为 640 x 17 = 10880 MB,而 limit-memory-hard 总数设置为 68MB x 17 = 13056 MB,这样,Odoo 就会有总计达 12.75 GB 的 RAM。

例如,在一台拥有 16 GB RAM 和 8 个 CPU 核心的 VPS 上,编辑 Odoo 配置文件(如 /etc/odoo-server.conf),并添加以下行:

vi /etc/odoo-server.conf
workers = 17

limit_memory_hard = 805306368

limit_memory_soft = 671088640

limit_request = 8192

limit_time_cpu = 60

limit_time_real = 120

max_cron_threads = 2

别忘了重启 Odoo 让修改生效。

正确配置并优化 PostgreSQL

对于 PostgreSQL 优化,及时将它更新到最新版本是一个不错的主意。在 PostgreSQL 配置文件(pg_hba.conf)中,有两个设置需要修改:shared_bufferseffective_cache_size。将 shared_buffers 设置为可用内存的 20%,effective_cache_size 设置为可用内存的 50%。

例如,如果 Odoo 安装到了一台 16 GB RAM 的 SSD VPS 上,那么在 pg_hba.conf 中使用如下设置:

vi /var/lib/postgresql/data/pg_hba.conf
shared_buffers = 3072MB
effective_cache_size = 8192MB

重启 PostgreSQL 服务来让修改生效。

同时,也别忘了周期性手动执行 ‘VACUUM’。此操作会将陈旧或临时数据清理干净,但请牢记,它会大量占用 CPU 和磁盘使用。


via: https://www.rosehosting.com/blog/how-to-speed-up-odoo/

作者:rosehosting.com 译者:GOLinux 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出

著名的 turnoff.us 有很多有趣的漫画,比如这一副《二叉树》。

在孩子的眼中,世界是另外一种样子。可能在我们大人看来,司空见惯的一些事物,已经掩盖了我们的想象力,但是童稚未去的孩子们往往能观察到我们所忽视的一面,所以,多陪陪孩子吧(首先,你得有个……)。

比如上图中,我们看到的是一颗“普普通通”的树,而孩子看到的是“二进制的树”(二叉树)。(LCTT 译注:此处 Binary Tree 做一语双关状,孩子眼中是“二进制树”,而在搞计算机的老爸听来却是“二叉树”)

何为 GRUB 背景( Splash )?

GRUB 背景( Splash )只不过是一张图像,在 Linux 系统启动的时候显示为背景。你可能知道 Grub (GRand Unified Bootloader 的简写) 是主流 Linux 发行版中广泛使用的 启动装载程序 bootloader 。以 RedHat 为例,你会发现它在系统启动之时显示为空白或者是一个黑色背景。

GRUB 背景( Splash )的相关定义在 grub.conf 文件中,并且 splash 背景图像应该存储在 /boot 分区中。如果你觉得默认的空白屏相当无趣,同时又想按照自己的意愿来修改它,那么赶紧阅读下方的每个步骤吧。

开始前需要哪些准备工作

  1. ImageMagick (仅在命令行中使用) 或者 GIMP (GUI 中使用)
  2. 一个样例图像

使用 GUI 修改 Grub 的 Splash 背景

首先然我们来使用 GUI 来进行操作吧,这里我们使用 GIMP 来作为图像编辑器。

步骤 1、 使用 GIMP 打开图像 (路径为: 应用 Applications --> 图像 Graphics --> GIMP 程序 GNU Image Manipulation Program )

步骤 2、 现在我们需要按实际情况将图像缩放到 640x480 大小。为此,需要点击 图像 Image --> 缩放图像 Scale Image 。记住,要如下图参数进行设置。修改宽度为 640,高度为 480。其他保持不变。

缩放 image

点击 缩放 Scale 按钮

步骤 3、 然后,我们需要索引图像,让它仅使用 14 色。为此,点击 图像 Image --> 模式 Mode --> 索引 Indexed 。点选 生成最优调色板 generate optimum palette 选项,并设置 颜色最大值 maximum number of colors 为 14 (如下)。

最优调色板限制为 14 色

点击 转换 convert 按钮

步骤 4、 保存文件。这里以文件名为 “UxTechno.xpm” 来保存。

保存图像文件

步骤 5、 以 Zip 方式压缩文件。为此,转到文件的保存位置 --> 右击并选择 压缩 Compress 选项,选择 gzip 方法来压缩。

步骤 6、 现在复制或移动 "UxTechno.xpm.gz" 到 /boot/grub/UxTechno.xpm.gz

步骤 7、 这一步,打开 /boot/grub/grub.conf 文件编辑 splashimage 参数如下,并保存文件。

最后,文件的内容应该是像这样的:

# grub.conf
generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means
    that # all kernel and initrd paths are relative to /boot/, eg. # root
    (hd0,0) # kernel /vmlinuz-version ro root=/dev/sda2 # initrd
    /initrd-[generic-]version.img #boot=/dev/sda default=0 timeout=5
    splashimage=(hd0,0)/grub/UxTechno.xpm.gz
    hiddenmenu   
    title Red Hat Enterprise Linux (2.6.32-220.el6.x86_64)
    root (hd0,0)
    kernel /vmlinuz-2.6.32-220.el6.x86_64 ro root=UUID=1d8c5075-1a5b-4fdc-ba15-0458b65c6012 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD quiet SYSFONT=latarcyrheb-sun16 rhgb
    crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM initrd
    /initramfs-2.6.32-220.el6.x86_64.img

当你重启服务器之后,你讲看到如下效果的 splash 背景图像:

使用命令行修改 Grub 的 Splash 背景

如果说你是命令行的超级粉丝,那就使用如下方法吧。

步骤 1、 开始之前,我们需要修改图像的像素分辨率。为此,我们还需要在 Linux 系统上安装好 ImageMagick。在 CentOS / RHEL 上使用如下命令来进行交叉检查。

# rpm -qa|grep -i ImageMagick

如果命令没有返回输出 (即空白),这意味这你的系统上还没有安装 ImageMagick。你必须运行下面的命令来安装它。

# yum install ImageMagick

安装好了重新复核一下,你会得到类似如下的输出:

# rpm -qa|grep -i ImageMagick

ImageMagick-6.5.4.7-5.el6.x86_64

然后,继续接下来的配置。这里我使用 UxTechno 的 logo 来做 splash 背景图像。

步骤 2、 使用如下命令来转换像素深度。

# convert -depth 8 -colors 14 -resize 640x480 uxtechno_logo.jpg uxtechno_logo.xpm

上述选项的意义如下:

  1. 最大使用 14 色
  2. 分辨率为 640x480
  3. 使用 xpm 格式

步骤 3、 以 Zip 方式压缩文件。

# gzip uxtechno_logo.xpm

步骤 4、 复制文件到 /boot 分区。

# cp uxtechno_logo.xpm.gz /boot/grub/

步骤 5、 在 /boot/grub/grub.conf 文件中修改 splashimage 参数如下,并保存文件。

splashimage=(hd0,0)/grub/uxtechno_logo.xpm

步骤 6、 最后,使用 reboot 命令重启服务器。启动界面将显示使用 GUI 方式第 7 步中的图像。

(题图原图在 wallconvert.com


译者简介:

GHLandy —— 生活中所有欢乐与苦闷都应藏在心中,有些事儿注定无人知晓,自己也无从说起。


via: https://www.howtoforge.com/tutorial/how-to-change-the-linux-splash-screen/

作者:MANMOHAN MIRKAR 译者:GHLandy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出