centos libxpm 安装 centos7.6安装教程

很多朋友对于centos libxpm 安装和centos7.6安装教程不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!

debian8怎么安装php7

debian8编译安装 php7

目录(?)[-]

Please reinstall the libcurl distributionCannot find OpenSSL

configure error Unable to locate gmph

Can not find recodeh anywhere under usr usrlocal usr optCannot find pspell

Please reinstall the mysql distribution

mcrypth not found Please reinstall libmcryptxml2-config not found

安装编译器

apt-get install build-essential autoconf automake libtool bison re2c获取PHP安装包

wget 安装dev包

apt-get install libxml2-dev libssl-dev libbz2-dev libjpeg-dev libpng-dev libxpm-dev libfreetype6-dev libgmp-dev libgmp3-dev libmcrypt-dev libmysqlclient15-dev libpspell-dev librecode-dev进行编译安装

./buildconf//用来生成configure脚本

./configure\

--prefix=/usr\

--with-config-file-path=/etc\

--enable-mbstring\

--enable-zip\

--enable-bcmath\

--enable-pcntl\

--enable-ftp\

--enable-exif\

--enable-calendar\

--enable-sysvmsg\

--enable-sysvsem\

--enable-sysvshm\

--enable-wddx\

--with-curl\

--with-mcrypt\

--with-iconv\

--with-gmp\

--with-pspell\

--with-gd\

--with-jpeg-dir=/usr\

--with-png-dir=/usr\

--with-zlib-dir=/usr\

--with-xpm-dir=/usr\

--with-freetype-dir=/usr\

--with-t1lib=/usr\

--enable-gd-native-ttf\

--enable-gd-jis-conv\

--with-openssl\

--with-pdo-mysql=/usr\

--with-gettext=/usr\

--with-zlib=/usr\

--with-bz2=/usr\

--with-recode=/usr\

--with-mysqli=/usr/bin/mysql_config

备注:错误1:Cannot find OpenSSL's libraries解决:

确认已安装过 openssl、libssl-dev包,还是会提示该错误;解决办法:

root@test2:~/php-5.3.27# find/-name libssl.so输出结果为:/usr/lib/x86_64-Linux-gnu/libssl.so初步判断它可能只会在/usr/lib/下寻找 libssl.so文件,于是:

ln-s/usr/lib/x86_64-linux-gnu/libssl.so/usr/lib错误2:debian Please reinstall the libcurl distribution解决:

# RetHat CentOS or Fedora使用下面安装命令yum install curl curl-devel

# Debian or Ubuntu使用下面的安装命令

apt-get install curl

apt-get install libcurl4-gnutls-dev

错误3:Unable to locate gmp.h解决:

在下载 gmp源码包,接着./configure&& make&& make install编译安装

make&&make install

报错处理

Please reinstall the libcurl distributionaptitude search libcurl4

aptitude install libcurl4-gnutls-dev

Cannot find OpenSSL’

wget openssl-1.0.2j.tar.gz

cd openssl-1.0.2j

./config

make&& make install

configure: error: Unable to locate gmp.h

sudo apt-get install libgmp-dev libgmp3-devln-s/usr/include/x86_64-linux-gnu/gmp.h/usr/include/gmp.hCan not find recode.h anywhere under/usr/usr/local/usr/opt.

apt-get install librecode-dev

Cannot find pspell

apt-get install libpspell-dev

Please reinstall the mysql distribution

apt-get install libmysqlclient15-dev

mcrypt.h not found. Please reinstall libmcrypt.

apt-get install libmcrypt-dev

xml2-config not found

apt-get install libxml2-dev

centos 6.6怎么升级内核

1.准备工作

确认内核及版本信息

[root@hostname~]# uname-r

2.6.32-220.el6.x86_64

[root@hostname~]# cat/etc/centos-release

CentOS release 6.5(Final)

安装软件

编译安装新内核,依赖于开发环境和开发库

# yum grouplist//查看已经安装的和未安装的软件包组,来判断我们是否安装了相应的开发环境和开发库;

# yum groupinstall"Development Tools"//一般是安装这两个软件包组,这样做会确定你拥有编译时所需的一切工具

# yum install ncurses-devel//你必须这样才能让 make*config这个指令正确地执行

# yum install qt-devel//如果你没有 X环境,这一条可以不用

# yum install hmaccalc zlib-devel binutils-devel elfutils-libelf-devel//创建 CentOS-6内核时需要它们

如果当初安装系统是选择了Software workstation,上面的安装包几乎都已包含。

2.编译内核

获取并解压内核源码,配置编译项

Linux内核版本有两种:稳定版和开发版,Linux内核版本号由3个数字组成:r.x.y

r:主版本号

x:次版本号,偶数表示稳定版本;奇数表示开发中版本。

y:修订版本号,表示修改的次数

去 首页,可以看到有stable, longterm等版本,longterm是比stable更稳定的版本,会长时间更新,因此我选择 3.10.58。

[root@sean~]#wget

[root@sean~]# tar-xf linux-3.10.58.tar.xz-C/usr/src/

[root@sean~]# cd/usr/src/linux-3.10.58/

[root@sean linux-3.10.58]# cp/boot/config-2.6.32-220.el6.x86_64.config

我们在系统原有的内核配置文件的基础上建立新的编译选项,所以复制一份到当前目录下,命名为.config。接下来继续配置:

[root@sean linux-3.10.58]# sh-c'yes""| make oldconfig'

HOSTCC scripts/basic/fixdep

HOSTCC scripts/kconfig/conf.o

SHIPPED scripts/kconfig/zconf.tab.c

SHIPPED scripts/kconfig/zconf.lex.c

SHIPPED scripts/kconfig/zconf.hash.c

HOSTCC scripts/kconfig/zconf.tab.o

HOSTLD scripts/kconfig/conf

scripts/kconfig/conf--oldconfig Kconfig

.config:555:warning: symbol value'm' invalid for PCCARD_NONSTATIC

.config:2567:warning: symbol value'm' invalid for MFD_WM8400

.config:2568:warning: symbol value'm' invalid for MFD_WM831X

.config:2569:warning: symbol value'm' invalid for MFD_WM8350

.config:2582:warning: symbol value'm' invalid for MFD_WM8350_I2C

.config:2584:warning: symbol value'm' invalid for AB3100_CORE

.config:3502:warning: symbol value'm' invalid for MMC_RICOH_MMC

*

* Restart config...

*

*

* General setup

*

......

XZ decompressor tester(XZ_DEC_TEST) [N/m/y/?](NEW)

Averaging functions(AVERAGE) [Y/?](NEW) y

CORDIC algorithm(CORDIC) [N/m/y/?](NEW)

JEDEC DDR data(DDR) [N/y/?](NEW)

#

# configuration written to.config

make oldconfig会读取当前目录下的.config文件,在.config文件里没有找到的选项则提示用户填写,然后备份.config文件为.config.old,并生成新的.config文件,参考

有的文档里介绍使用make memuconfig,它便是根据需要定制模块,类似界面如下:(在此不需要)

开始编译

[root@sean linux-3.10.58]# make-j4 bzImage//生成内核文件

[root@sean linux-3.10.58]# make-j4 modules//编译模块

[root@sean linux-3.10.58]# make-j4 modules_install//编译安装模块

-j后面的数字是线程数,用于加快编译速度,一般的经验是,逻辑CPU,就填写那个数字,例如有8核,则为-j8。(modules部分耗时30多分钟)

安装

[root@sean linux-3.10.58]# make install

实际运行到这一步时,出现ERROR: modinfo: could not find module vmware_balloon,但是不影响内核安装,是由于vsphere需要的模块没有编译,要避免这个问题,需要在make之前时修改.config文件,加入

HYPERVISOR_GUEST=yCONFIG_VMWARE_BALLOON=m

(这一部分比较容易出问题,参考下文异常部分)

修改grub引导,重启

安装完成后,需要修改Grub引导顺序,让新安装的内核作为默认内核。

编辑 grub.conf文件,

vi/etc/grub.conf

#boot=/dev/sda

default=0

timeout=5

splashimage=(hd0,0)/grub/splash.xpm.gz

hiddenmenu

title CentOS(3.10.58)

root(hd0,0)

...

数一下刚刚新安装的内核在哪个位置,从0开始,然后设置default为那个数字,一般新安装的内核在第一个位置,所以设置default=0。

重启reboot:

boot-with-new-kernel

确认当内核版本

[root@sean~]# uname-r

3.10.58

升级内核成功!

3.异常

编译失败(如缺少依赖包)

可以先清除,再重新编译:

# make mrproper#完成或者安装过程出错,可以清理上次编译的现场

# make clean

在vmware虚拟机上编译,出现类似下面的错误

[root@sean linux-3.10.58]# make install

sh/usr/src/linux-3.10.58/arch/x86/boot/install.sh 3.10.58 arch/x86/boot/bzImage\

System.map"/boot"

ERROR: modinfo: could not find module vmware_balloon

可以忽略,如果你有强迫症的话,尝试以下办法:

要在vmware上需要安装VMWARE_BALLOON,可直接修改.config文件,但如果vi直接加入CONFIG_VMWARE_BALLOON=m依然是没有效果的,因为它依赖于HYPERVISOR_GUEST=y。如果你不知道这层依赖关系,通过make menuconfig后,Device Drivers-> MISC devices下是找不到VMware Balloon Driver的。(手动vi.config修改HYPERVISOR_GUEST后,便可以找到这一项),另外,无论是通过make menuconfig或直接vi.config,最后都要运行sh-c'yes""| make oldconfig'一次得到最终的编译配置选项。

然后,考虑到vmware_balloon可能在这个版本里已更名为vmw_balloon,通过下面的方法保险起见:

# cd/lib/modules/3.10.58/kernel/drivers/misc/

# ln-s vmw_balloon.ko vmware_balloon.ko#建立软连接

其实,针对安装docker的内核编译环境,最明智的选择是使用sciurus帮我们配置好的.config文件。

也建议在make bzImage之前,运行脚本check-config.sh检查当前内核运行docker所缺失的模块。

当提示缺少其他module时如NF_NAT_IPV4时,也可以通过上面的方法解决,然后重新编译。

4.几个重要的Linux内核文件介绍

在网络中,不少服务器采用的是Linux系统。为了进一步提高服务器的性能,可能需要根据特定的硬件及需求重新编译Linux内核。编译Linux内核,需要根据规定的步骤进行,编译内核过程中涉及到几个重要的文件。比如对于RedHat Linux,在/boot目录下有一些与Linux内核有关的文件,进入/boot执行:ls–l。编译过RedHat Linux内核的人对其中的System.map、vmlinuz、initrd-2.4.7-10.img印象可能比较深刻,因为编译内核过程中涉及到这些文件的建立等操作。那么这几个文件是怎么产生的?又有什么作用呢?

(1)vmlinuz

vmlinuz是可引导的、压缩的内核。“vm”代表“Virtual Memory”。Linux支持虚拟内存,不像老的操作系统比如DOS有640KB内存的限制。Linux能够使用硬盘空间作为虚拟内存,因此得名“vm”。vmlinuz是可执行的Linux内核,它位于/boot/vmlinuz,它一般是一个软链接。

vmlinuz的建立有两种方式。

一是编译内核时通过“make zImage”创建,然后通过:“cp/usr/src/linux-2.4/arch/i386/linux/boot/zImage/boot/vmlinuz”产生。zImage适用于小内核的情况,它的存在是为了向后的兼容性。

二是内核编译时通过命令make bzImage创建,然后通过:“cp/usr/src/linux-2.4/arch/i386/linux/boot/bzImage/boot/vmlinuz”产生。

bzImage是压缩的内核映像,需要注意,bzImage不是用bzip2压缩的,bzImage中的bz容易引起误解,bz表示“big zImage”。 bzImage中的b是“big”意思。

zImage(vmlinuz)和bzImage(vmlinuz)都是用gzip压缩的。它们不仅是一个压缩文件,而且在这两个文件的开头部分内嵌有gzip解压缩代码。所以你不能用gunzip或 gzip–dc解包vmlinuz。

内核文件中包含一个微型的gzip用于解压缩内核并引导它。两者的不同之处在于,老的zImage解压缩内核到低端内存(第一个640K),bzImage解压缩内核到高端内存(1M以上)。如果内核比较小,那么可以采用zImage或bzImage之一,两种方式引导的系统运行时是相同的。大的内核采用bzImage,不能采用zImage。

vmlinux是未压缩的内核,vmlinuz是vmlinux的压缩文件。

(2) initrd-x.x.x.img

initrd是“initial ramdisk”的简写。initrd一般被用来临时的引导硬件到实际内核vmlinuz能够接管并继续引导的状态。比如,使用的是scsi硬盘,而内核vmlinuz中并没有这个scsi硬件的驱动,那么在装入scsi模块之前,内核不能加载根文件系统,但scsi模块存储在根文件系统的/lib/modules下。为了解决这个问题,可以引导一个能够读实际内核的initrd内核并用initrd修正scsi引导问题。initrd-2.4.7-10.img是用gzip压缩的文件,下面来看一看这个文件的内容。

initrd实现加载一些模块和安装文件系统等。

initrd映象文件是使用mkinitrd创建的。mkinitrd实用程序能够创建initrd映象文件。这个命令是RedHat专有的。其它Linux发行版或许有相应的命令。这是个很方便的实用程序。具体情况请看帮助:man mkinitrd

下面的命令创建initrd映象文件:

(3) System.map

System.map是一个特定内核的内核符号表。它是你当前运行的内核的System.map的链接。

内核符号表是怎么创建的呢? System.map是由“nm vmlinux”产生并且不相关的符号被滤出。对于本文中的例子,编译内核时,System.map创建在/usr/src/linux-2.4/System.map。像下面这样:

nm/boot/vmlinux-2.4.7-10> System.map

下面几行来自/usr/src/linux-2.4/Makefile:

nm vmlinux| grep-v'(compiled)|(.o

)|([aUw])|(..ng

)|(LASH[RL]DI)'| sort> System.map

然后复制到/boot:

cp/usr/src/linux/System.map/boot/System.map-2.4.7-10

在进行程序设计时,会命名一些变量名或函数名之类的符号。Linux内核是一个很复杂的代码块,有许许多多的全局符号。

Linux内核不使用符号名,而是通过变量或函数的地址来识别变量或函数名。比如不是使用size_t BytesRead这样的符号,而是像c0343f20这样引用这个变量。

对于使用计算机的人来说,更喜欢使用那些像size_t BytesRead这样的名字,而不喜欢像c0343f20这样的名字。内核主要是用c写的,所以编译器/连接器允许我们编码时使用符号名,当内核运行时使用地址。

然而,在有的情况下,我们需要知道符号的地址,或者需要知道地址对应的符号。这由符号表来完成,符号表是所有符号连同它们的地址的列表。Linux符号表使用到2个文件:/proc/ksyms和System.map。

/proc/ksyms是一个“proc file”,在内核引导时创建。实际上,它并不真正的是一个文件,它只不过是内核数据的表示,却给人们是一个磁盘文件的假象,这从它的文件大小是0可以看出来。然而,System.map是存在于你的文件系统上的实际文件。当你编译一个新内核时,各个符号名的地址要发生变化,你的老的System.map具有的是错误的符号信息。每次内核编译时产生一个新的System.map,你应当用新的System.map来取代老的System.map。

虽然内核本身并不真正使用System.map,但其它程序比如klogd, lsof和ps等软件需要一个正确的System.map。如果你使用错误的或没有System.map,klogd的输出将是不可靠的,这对于排除程序故障会带来困难。没有System.map,你可能会面临一些令人烦恼的提示信息。

另外少数驱动需要System.map来解析符号,没有为你当前运行的特定内核创建的System.map它们就不能正常工作。

Linux的内核日志守护进程klogd为了执行名称-地址解析,klogd需要使用System.map。System.map应当放在使用它的软件能够找到它的地方。执行:man klogd可知,如果没有将System.map作为一个变量的位置给klogd,那么它将按照下面的顺序,在三个地方查找System.map:

/boot/System.map

/System.map

/usr/src/linux/System.map

System.map也有版本信息,klogd能够智能地查找正确的映象(map)文件。

如何在CentOS 7上安装和配置私有云

ownCloud是一个文件共享服务器,允许您将您的个人内容,如文档和图片,存储在一个集中的位置,很像Dropbox。与ownCloud的区别在于它是免费和开源的,允许任何人使用和检查它。它还将敏感数据的控制和安全性返回给您,从而消除了第三方云托管服务的利用率。

我们在CentOS 7服务器上安装和配置ownCloud实例。

先决条件

需要以下内容:

服务器上的sudo用户:您可以按照CentOS 7初始服务器设置指南创建具有sudo权限的用户。

一个LAMP堆栈:ownCloud需要一个Web服务器,一个数据库和PHP才能正常工作。设置LAMP堆栈(Linux,Apache,MySQL和PHP)服务器满足所有这些要求。按照本指南安装和配置此软件。

要充分利用ownCloud提供的所有功能,请确保安装以下PHP模块:php-gd,php-intl,php-mbstring,php-process和php-xml。

SSL证书:如何设置SSL证书取决于您是否具有解析到您的服务器的域名。

如果您有域名...安全您的网站的最简单的方法是使用Let's Encrypt,它提供免费的,受信任的证书。按照Apache的Let's Encrypt指南进行设置。

如果您没有域...并且您正在使用此配置进行测试或个人使用,则可以改为使用自签名证书。这提供了相同类型的加密,但没有域验证。按照Apache的自签名SSL指南进行设置。

步骤1-安装ownCloud

ownCloud服务器软件包不存在于CentOS的默认存储库中。然而,ownCloud为发行版维护了一个专用的存储库。

首先,使用rpm命令导入其发行密钥。该密钥授权程序包管理器yum信任存储库。

sudo rpm--import

接下来,使用curl命令下载ownCloud存储库文件:

sudo curl-L

添加新文件后,使用clean命令使yum知道更改:

sudo yum clean expire-cache

输出

加载插件:fastestmirror

清除回复:基本ce_stable其他更新

6元数据文件已删除

最后,使用yum实用程序和install命令执行ownCloud的安装:

sudo yum安装owncloud

当出现提示时,此为ok [y/ d/ N]:消息,键入Y,然后按ENTER键授权安装。

输出

。。。

安装:

owncloud.noarch 0:9.1.1-1.2

已安装依赖关系:

libX11.x86_64 0:1.6.3-2.el7 libX11-common.noarch 0:1.6.3-2.el7 libXau.x86_64 0:1.0.8-2.1.el7

libXpm.x86_64 0:3.5.11-3.el7 libpng.x86_64 2:1.5.13-7.el7_2 libxcb.x86_64 0:1.11-4.el7

libxslt.x86_64 0:1.1.28-5.el7 owncloud-deps-php5.noarch 0:9.1.1-1.2 owncloud-files.noarch 0:9.1.1-1.2

php-gd.x86_64 0:5.4.16-36.3.el7_2 php-ldap.x86_64 0:5.4.16-36.3.el7_2 php-mbstring.x86_64 0:5.4.16-36.3.el7_2

php-process.x86_64 0:5.4.16-36.3.el7_2 php-xml.x86_64 0:5.4.16-36.3.el7_2 t1lib.x86_64 0:5.1.2-14.el7

完成!

安装ownCloud服务器后,我们将继续设置数据库供其使用。

步骤2-创建MySQL数据库

要开始,请使用管理帐户登录MySQL:

mysql-u root-p

输入在安装数据库服务器时为MySQL root用户设置的密码。

ownCloud需要一个单独的数据库来存储管理数据。虽然你可以调用这个数据库任何你喜欢,我们决定了owncloud的名字保持简单。

CREATE DATABASE owncloud;

注意:每个MySQL语句必须以分号(;)结尾。如果您遇到问题,请务必检查这是否存在。

接下来,创建一个单独的MySQL用户帐户,与新创建的数据库进行交互。从管理和安全的角度来看,创建单功能数据库和帐户是一个好主意。与数据库的命名一样,选择您喜欢的用户名。我们选择在本指南中使用owncloud名称。

GRANT ALL ON owncloud。* to'owncloud'@'localhost'IDENTIFIED BY'set_database_password';

警告:确保将实际密码放在命令所在的位置:set_database_password

通过用户分配对数据库的访问权限,执行flush-privileges操作以确保MySQL的正在运行的实例知道最近的权限分配:

FLUSH特权;

MySQL的配置到此结束,因此我们将通过键入以退出会话:

出口

在ownCloud服务器安装和数据库设置完成后,我们准备将注意力转移到配置ownCloud应用程序。

步骤3-配置ownCloud

要访问ownCloud Web界面,请打开Web浏览器并导航到以下地址:

https:// server_domain_or_IP/ owncloud

如果正在使用自签名证书,您可能会收到警告,因为证书未由您的浏览器的可信授权机构签名。这是预期和正常的。我们只对证书的加密方面感兴趣,而不是对我们主机的真实性的第三方验证。点击相应的按钮或链接,进入ownCloud设置页面。

你应该看到这样的:

通过选择用户名和密码创建管理员帐户。出于安全目的,不建议对用户名使用“admin”。

在单击完成设置按钮之前,单击存储和数据库链接:

保留Data文件夹设置,并单击配置数据库部分中的MySQL/ MariaDB按钮。

输入在上一步中配置的数据库信息。下面是一个示例,它匹配我们在本指南中使用的数据库凭据:

单击完成设置按钮登录到ownCloud。一个安全的家,所有的数据闪屏应该会出现:

单击启动屏幕右上角的x以访问主界面:

在这里,您可以创建或上传文件到您的个人云。

阅读剩余
THE END