linux服务器编译
服务器CPU事实已经被Intel垄断了,就那么几种型号,编来编去生成的机器码是一样的。Intel宣传自己的编译工具Intel C++ Compiler 比GCC编译出来性能要提升10%-20%,这就是一广告,生产环境很少用人用它,何况它还要收费
性能真不是问题,比如 strip 命令可以大大减小可执行文件的size,但是我装过几千遍软件,都没有见有人在安装脚本里面使用。
软件需要编译安装的真实理由有如下3点:
1.软件在编译期间需要配置,比如说nginx,需要在编译的时候指定包含哪些mole,php,apache 也是一样。
同样的是数据库,mysql 通过编译安装,因为要定制存储引擎(是否支持innodb .. ),而sqlite却绝少有人编译,都是直接下载二进制文件来用。
2.软件需要统一安装路径,每个team都会自己的安装目录约定,有些喜欢装在 /opt/下面,有些喜欢装在 /usr/local/ ,编译安装可以方便的指定这些路径(configure --prefix=xxx )
3.需要最新的版本,软件仓库的版本一般都比较低,这个理由其实不充分,生产环境倾向保守,不追求最新版本,但是对于geek来说,这可能是最重要的原因
弄明白原因之后,就很容易判断编译还是下载:
nginx/apache/php/mysql 编译安装
python/ruby/java 直接下载
Ⅱ 如何在linux服务器中使用GCC编译器
首先确定你用的是标准的c/c++ ,没有设计VC中的内容(例如MFC库函数,windows API等)
如果文件很少,你 用gcc hello.c -o hello 这类的语句就可以。
如果文件比较多,还是写一个makefile文件,批量解决。
希望能帮到你。
Ⅲ 如何在linux系统的服务器上进行编译
方法/步骤
打开Myeclipse编辑器,在已经完成的web项目上面点击右键,选择export,然后选择导出成war包,将导出的war包放在桌面或者其他文件夹。
Ⅳ linux系统中dns服务编译安装配置详细
用LINUX拱建DNS服务器有三种类型:缓存域名服务器,主域名服务器,从域名服务器。
缓存的是类似于内存的服务器,可以提高访问速度,比如同一个网页,第一次要从互连网上连,然后就会存到缓存里,后面的再有访问同一个网页就直接从缓存服务器上读取了。
主/从域名服务器就像是一个公司的总经理和副总经理。主服务器上有相关的配置文件,从服务器就没有,要从主服务器上复制的。
一般的企业要有缓存和主服务器就好了。对于大型的,搭建个从的更好咯。
Ⅳ 如何编译linux的x86内核
Gcc编译器, Linux-2.6.29内核
步骤:
(一):清除临时文件,中间文件和配置文件等(刚从网上下载下来的文件这步可省略)。
make clean
删除大多数的由编译生成的文件、但会保留内核的配置文件.config。
make mrproper
删除所有的编译生成的文件,还有内核配置文件,再加上各种备份文件。
make distclean
mrproper删除的文件,加上编辑备份文件和一些补丁文件。
(二)选择参考配置文件
使用正在运行的内核配置文件作为参考配制文件,该配置文件在/boot目录下,使用命令
cp /boot/config-2.6.18-53.el5 .config。
(三)配置内核
配置内核有如下命令:
make config:基于文件模式的交互式配置(也就是一问一答)。
make menuconfig:基于文本模式的菜单式配置(强烈推荐)。
make oldconfig:使用已有的配置文件(.config)但是会询问新增的配置选项。
make xconfig:图形化配置(需要安装图形化系统)。
make menuconfig是最为常用的内核配置方式,使用方法如下:
1、使用方向键在各选项间移动;
2、使用“Enter”键进入下一层选单;每个选项上的高亮字母是键盘快捷方式,使用它可以快速地到达想要设置的选单项。
3、在括号中按“y”将这个项目编译进内核中,按“m”编译为模块,按“n”为不选择(按空格键也可在编译进内核、编译为模块和不编译三者间进行切换),按“h”将显示这个选项的帮助信息,按“Esc”键将返回到上层选单。
内核配置通常在一个已有的配置文件基础上,通过修改得到新的配置文件Linux内核提供了一系列可供参考的内核配置文件,位于Arch/$cpu/configs
注意:要运行make menuconfig的界面需要调整终端的窗口大小,至少为80*19。
(四)编译内核
(1):make zImage
(2):make bzImage
区别:在X86平台,在zImage只能用于小于512Kd的内核(注意是X86平台)
如需获取详细编译信息,可使用:
make zImage V=1
make bzImage V=1
编译好的内核位于arch/<cpu>/boot目录下
(五)编译内核模块
使用命令make moles
内核模块编译的时间比较长,一般需要1~2小时的时间。这些模块源于使用命令make menuconfig启动的菜单型配置界面中选择<m>的项。
(六)安装内核模块
使用命令:make moles_install,完成安装后,编译好的内核模块会从内核源代码目录拷贝至/lib/moles/2.6.29目录下。
(七)制作init ramdisk
使用cd跳动linux-2.6.29/,目录的上层目录,使用命令:mkinitrdinitrd-$version $version(mkinitrd initrd-2.6.29 2.6.29)将上一步中产生的模块目录/lib/moles/2.6.29制作成initrd-2.6.29。
提示:initrd是“initial ramdisk”的缩写,initrd是在实际根文件系统可用之前挂载到系统中的一个初始根文件系统。在桌面或服务器Linux系统中,initrd是一个临时的文件系统。其生命周期很短,只会用作真实文件系统的一个桥梁。在没有存储设备的嵌入式系统中,initrd可以是永久的根文件系统。
Linux的众多发行版之所以使用initrd主要是为了在内核启动之后能够判断哪些硬件驱动需要加载,哪些不需要,文件系统有没有问题等,最终使得根分区能顺利加载。在scsi和sata设备上启动,usb启动盘,无盘服务器等都需要initrd来做判断,这样可以提高Linux内核的通用性。
(八)安装内核
由于Linux系统启动时,会从/boot目录下寻找内核文件与init ramdisk,所以需要将内核和initrd拷贝至/boot目录。使用命令:
cp initrd-2.6.29 /boot
cp linux-2.6.29/arch/x86/boot/bzImage /boot/vmlinuz-2.6.29
(九)修改/etc/grub.conf或者/etc/lilo.conf
为了让grub在启动时能提供一项我们自己制作的linux内核的选项,需要修改grub的配置文件/etc/grub.conf。(添加的代码为title My Linux(2.6.29)以下的)
注意:/etc/grub.conf实际上是/boot/grub/grub.conf的一个链接,因此真正的配置文件存在与/boot/grub目录下。
Ⅵ 怎么重新编译linux服务器内核
make
config首先配置内核,生成内核配置文件,如果是服务器上的,建议使用编辑好的内核配置文件,自己在服务器上配置比较麻烦;
make再根据生成的配置文件进行编译;
找到新的内核就可以使用
Ⅶ Linux编译服务器上怎么下载内核源码
编译linux内核步骤: 1、安装内核 如果内核已经安装(/usr/src/目录有linux子目录),跳过。如果没有安装,在光驱中放入linux安装光盘,找到kernel-source-2.xx.xx.rpm文件(xx代表数字,表示内核的版本号),比如RedHat linux的RPMS目录是/RedH...
Ⅷ 如何建立Linux系统下交叉编译环境
最近有很多朋友在探讨关于建立Linux交叉编译环境的问题,下面就一些问题作一个说明,以期抛砖引玉。 基于Linux操作系统的应用开发环境一般是由目标系统硬件(开发板)和宿主PC机所构成。目标硬件开发板用于运行操作系统和系统应用软件,而目标板所用到的操作系统的内核编译、应用程序的开发和调试则需要通过宿主PC机来完成(所以称为交叉编译)。双方之间一般通过串口,并口或以太网接口建立连接关系。 但在此我建议构建如下的交叉编译环境,适合个人或研发小组使用:单独拿出一台PC机(PII以上即可,就用以前淘汰的旧机器就可以),在该PC上安装桌面的Linux操作系统(如Red Hat Linux 8.0及以上),可以采用默认的安装选项(注意要包含ftp服务),这台PC作为Linux服务器,除管理员以外,一般不直接让其他人去操作。 将该Linux服务器接入局域网,并新建一些合法用户,以便其他的PC机(在此我们将其称为工作站)的合法用户能访问到Linux服务器。而其他的PC机(工作站)仍然使用Windows操作系统,原来干啥继续干啥。 需要的软件工具包括: 1、FTP客户端程序(如Cuteftp,可到网上下载)。 2、Telnet工具(如SecureCRT,可到网上下载)。 3、移植到某一特定ARM平台的Linux操作系统内核源码(一般由销售商整理提供)。 4、GNU编译工具,可由相关网站下载,或由销售商整理提供。 在工作站安装:在某工作站PC上安装FTP客户端程序和Telnet工具,安装完毕后应该可以在该工作站PC和Linux服务器之间进行文件的传输,并在工作站PC可以通过Telnet登陆到Linux服务器(可能需要将Linux服务器的防火墙服务关闭才能完成)。 在Linux服务器安装:将工作站PC上的Linux操作系统内核源码压缩包和GNU编译工具通过FTP传送到Linux服务器的某个目录(如合法的用户目录),然后在该目录下解压,并将GNU编译工具安装到默认的工作目录即可,以上工作通过在工作站PC使用Telnet工具完成,而不需要在Linux服务器上进行。 Linux操作系统内核的编译:Linux操作系统内核的编译一般有一个比较固定的步骤,会根据MakeFile文件的不同而略有差异,可参考相关文档,编译的工作在工作站PC使用Telnet工具完成。 按固定的步骤编译内核完成以后,会在相应目录生成可执行的二进制文件,通过FTP将该可执行的二进制文件传回工作站PC,然会再通过ADS或SDT下的烧写工具写入开发板的Flash即可。 (T004)
Ⅸ linux怎么编译svn服务器
1,首先安装好LINUX系统,然后YUM安装:
#yum -y install svnversion
2,安全完成之后我们来配置:
创建版本库目录:
#mkdir -p /banbenku/svn/
3,然后启用:
#svnserve -d -r /banbenku/svn
然后查看是否启动了!
ps -ef|grep svn;
[root@207 conf]# lsof -i:3690
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
svnserve 8454 root 3u IPv4 1346200 0t0 TCP *:svn (LISTEN)
4,然后我们来新建版本:
mkdir -p /banbenku/svn/zhoujie/
cd /banbenku/svn/zhoujie/conf
在这里有三个文件:authz passwd svnserve.conf
svnserve.conf是主要配置文件;
vi svnserve.conf
修改如下:
anon-access = read
auth-access = write
password-db = /banbenku/svn/zhoujie/conf/passwd
authz-db = /banbenku/svn/zhoujie/conf/authz
wq!
保存退出:
然后修改passwd:
建立用户名与密码内容如下:
zhoujie = 123456
wq
保有存退出:
然后修改:authz:
内容如下:
[groups]
admin = zhoujie
[zhoujie:/]
@admin =rw
wq
保存退出!
这样我们便配置好了;要使用启生效,重启SVN:
ps -ef|grep svn
kill -9 PID
svnserve -d -r /banbenku/svn
然后再检测:
[root@207 conf]# lsof -i:3690
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
svnserve 8454 root 3u IPv4 1346200 0t0 TCP *:svn (LISTEN)
如果如上所示,那便没有问题了;
Ⅹ 安装了一台Linux服务器,想自己编译内核,一步一步做下来,
一般情况下
initrd这个文件在台式机上不是必须的,但是在有SCSI设备的服务器上却是必须的。有可能因为编译内核的时候没有产生initrd那个文件,所以会有上面的错误提示。用户可以使用mkinitrd命令来生成一个initrd.img文件,然后加入GRUB,重启试一试更多内容请查看《Linux就该这么学》。