`
wusuoya
  • 浏览: 629389 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

linux使用经验笔记

阅读更多
yum
举例:比如下载了一个没有签名的软件包,可以这样安装


1. yum --nogpgcheck install 软件包名称


复制代码

我一般习惯先su到root,再用yum。网上很多直接再普通用户下用yum的用法,这个例子就应该是这样的


1. su -c 'yum --nogpgcheck install 软件包名称‘


复制代码

我觉得如果要连续操作的时候还是先切到su方便些,不然老要输入密码,命令格式也显的复杂。如果只是安装一个软件的话网上流行的这种方法很好,装完之后自动退出到普通用户模式,安全性高。本文只是列出常用的操作,有些参数和命令没有涉及,不够应该是够用了。

新装好的系统应该简单配置一下yum,载入几个常用的插件,让它更好用


1. yum install yumex yum-presto yum-fastestmirror yum-security yum-allowdowngrade


复制代码

yumex yum的扩展,图形前端

yum-presto 增量包应用插件,有增量包的时候优先下载增量包,可以大大减少下载量

yum-fastestmirror 可以让yum选择速度最快的源(软件仓库)

yum-security 安全插件,具体功能我也不是很清楚

yum-allowdowngrade 允许软件降级的插件


yum是个功能强悍的包管理工具,命令语法很简单的:yum --操作参数 命令 包名称1 包名称2 .......,,有些操作也可以没有包名称(软件名) ,支持再在报包名称中使用通配符*来一次安装多个名称前端一致的软件包。 下面把操作参数和命令列出来,大多数时候没必要要操作参数的。


Options list (操作参数)

h, --help 显示帮助信息,并退出

-t, --tolerant 忍受发生的错误

-C 从缓冲中运行,而不是升级缓存

-R [minutes] 最大化的命令等待时间

-d [debug level] 调试输出级别

--showduplicates 显示复制, 在repo,list/search命令下

-e [error level] 错误输出级别

-q, --quiet 安静的操作

-y 回答所有的问题为是

--version 显示 YUM版本信息并退出

--installroot=[path] 设置为root安装

--enablerepo=[repo] 激活一个或多个仓库(支持通配符)

--disablerepo=[repo] 禁掉一个或多个仓库(支持通配符)

-x [package], --exclude=[package] 在名称或glob不包含包。

--disableexcludes=[repo] 禁掉出了这个之外的别的仓库

--noplugins 禁掉yum插件

--nogpgcheck 禁掉GPG验证检查,没有签名的软件安装加这个参数

--disableplugin=[plugin] 用名称禁掉插件

--enableplugin=[plugin] 用名称启用插件

--skip-broken 忽略包的依赖问题

--allow-downgrade 晕软件包降级

--disablepresto 禁用Presto 插件并且不下载任何增量包



list of Commands:(操作命令)


check-update 检查可提供的包升级

clean 删除缓存数据

deplist 列出包依赖相关

downgrade 降级一个软件包

erase 移除一个或多个包从你的系统

groupinfo 显示关于包组的细节

groupinstall 从组里安装软件包到你的系统

grouplist 列出当前的组

groupremove 在一个组中移除包从您的系统

help 显示帮助用法信息

info 显示关于包或一组包的细节信息

info-security 返回影响系统安全的数据

install 安装一个或多个软件包在你的系统

list 列出一个包或某组的包

localinstall 安装本地 RPM

makecache 生成原数据缓存

reinstall 重新安装一个包

repolist 显示软件仓库的配置

resolvedep 决定哪个包提供了给定的依赖

search 查找包细节居给定的字符串

shell 运行交互式的yum shell

update 更新一个或多个系统 中已安装的包

update-minimal 只升级安装最新的包,系统补丁

upgrade 升级整个系统,一般在系统版本升级的时候用





yum -y remove httpd
卸载多个相类似的软件时
yum -y remove httpd*
卸载多个非类似软件时
yum -y remove httpd php php-gd mysql


像windows下的快捷方式-刚摸索出来。

1.rpm包

rpm包一般在终端输入对应与以包名命名的命令

就可以起动,如,vi起动vi编译器,xmms起动xmms.........


下面讲一下怎样利用ln创建rpm包的快捷方式:

例如,rpm -ql gedit,看一下gedit的安装位置和其执行命令的位置

/etc/gconf/schemas/gedit.schemas
/usr/bin/gedit




上面显示了gedit在/usr/bin下,

好了,开始创建(注意大小写):

ln -s /usr/bin/gedit /root/Desktop/gedit

ok。上面的意思是把快捷方式放在桌面上,命名为gedit


其他rpm包,道理same!


2.tar.gz包

此包不能rpm -ql

拿我的gftp举例(我把rpm包的gftp卸了,装tar.gz的gftp包,在

/usr/local/gftp)

我也是新手,我是安装时候制定安装位置的,

在安装位置找到gftp

同样:

ln -s /usr/local/gftp/bin/gftp /root/Desktop/gftp

ok..........

3.
其他情况

有些安装包,以现在的技术,找不到它,

但我知道执行的命令--难道每次用都要输入执行命令?

不必,

在桌面上新建起动器,在命令框,输入执行它的命令
ok






双系统只有一个启动解决:

在双安装系统的时候 记得在格完盘后的启动项那里 一个是LINUX的 一个是以前的系统的要设置好


如忘记设置 可在/BOOT/GRUB下的menu.lst 或grub.conf




双系统时间不能同步:

问题主要是FC7中是启用了UTC时间。关闭UTC即可。
打开:/etc/sysconfig/clock
内容为:
# The ZONE parameter is only evaluated by system-config-date.
# The timezone of the system is defined by the contents of /etc/localtime.
ZONE="Asia/Shanghai"
UTC=true
ARC=false
把 UTC=true 一行改为: UTC= false
保存,退出, 重启,恢得正常了。
也可以用右键点击时间栏,然后选择调整日期和时间,然后去掉时区下面的系统时钟使用UTC的选项,保存退出即可。
最好的办法还是装一个webmin可以同时调整系统时间和硬件时间,以及将系统时间和硬件时间同步,而且可以方便的管理系统其他的信息。
安装webmin的方法和使用,见
wenmin的网址

Linux硬件时间的设置方法(转载):
hwclock [--adjust][--debug][--directisa][--hctosys][--show][--systohc][--test]
[--utc][--version][--set --date=]
补充说明:在Linux
中有硬件时钟与系统时钟等两种时钟。硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中的时钟。当
Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。所有Linux相关指令与函数都是读取系统时钟的设定。
参  数:
--adjust  hwclock每次更改硬件时钟时,都会记录在/etc/adjtime文件中。使用--adjust参数,可使hwclock根据先前的记录来估算硬件时钟的偏差,并用来校正目前的硬件时钟。
--debug  显示hwclock执行时详细的信息。
--directisa  hwclock预设从/dev/rtc设备来存取硬件时钟。若无法存取时,可用此参数直接以I/O指令来存取硬件时钟。
--hctosys  将系统时钟调整为与目前的硬件时钟一致。
--set --date=  设定硬件时钟。
--show  显示硬件时钟的时间与日期。
--systohc  将硬件时钟调整为与目前的系统时钟一致。
--test  仅测试程序,而不会实际更改硬件时钟。
--utc  若要使用格林威治时间,请加入此参数,hwclock会执行转换的工作。
--version  显示版本信息

Vista下安装LINUX
安装准备:1.磁盘分区。vista下用系统自带的分区工具分出2个新区,一个做根分区,一个做swap分区。Vista系统有个UAC的东西,要先把这个东西关了。进入控制面板>用户帐户和家庭安全>用户帐户>打开或关闭用户帐户控制。右键单击桌面“计算机”图标,选择“管理”,进入“计算机管理”窗口,选择“存储”-“磁盘管理”。查看硬盘分区,分出两个空白分区,最好是最后的两个区。xp下用相应的分区工具。更多磁盘分区知识,请参考 零命令玩转Ubuntu 8.04 之 安装篇 (准备知识)2.下载文件。下载一个最新grub for dos ,下载ubuntu8.04安装文件,ubuntu-8.04.1-desktop-i386.iso ,ubuntu-8.04.1-alternate-i386.iso,ubuntu-8.04.1-dvd-i386.iso 三个文件都可以,只不过后面操作稍有不同。安装过程:SP1 不能双系统(其实是过于麻烦)1.解压grub4dos文件夹中的grldr,grldr.mbr,menu.lst到C:\ 。 备注:menu.lst不复制也行,自己用记事本新建一个文件另存为menu.lst。C盘格式为ntfs或者fat32都可以安装。2.把ubuntu安装程序放到c盘根目录下,解压缩ISO文件中的casper目录内的initrd.gz和vmlinuz两个文件,并将其复制到C盘根目录下。如果下载的是desktop版,除了以上文件外,还需要把ISO镜像中的.disk目录也复制到C盘根目录下。3.把grub添加到系统启动菜单。vista和xp下的操作不一样。 vista下:在cmd中输入以下命令: bcdedit /create /d "GRUB4DOS" /application bootsector 命令结果应该会返回一个GUID,后面的命令用到这个GUID bcdedit /set {GUID} device partition=C: bcdedit /set {GUID} path \grldr.mbr bcdedit /displayorder {GUID} /addlast xp下:在C盘根目录系统文件boot.ini的最后加上一行:c:\grldr=”GRUB4DOS“ 如果boot.ini中的timeout值为零,把它设置为大于0的数字,例如timeout=30,然后保存。 注意:boot.ini文件一般是隐藏的,你需要在文件夹选项中设置显示所有文件,或者在cmd中使 用以下命令来去掉boot.ini的隐藏属性:attrib -s -r -h c:\boot.ini4.用记事本编辑刚才复制的menu.lst(如果没有复制,就新建一个),粘贴以下内容:color black/cyan yellow/cyantimeout 30default /defaulttitle Microsoft Windows Vistaroot (hd0,0)savedefaultmakeactivechainloader +1title Install Ubunturoot (hd0,0)kernel=/vmlinuzinitrd=/initrd.gztitle rebootsavedefault --wait=2reboottitle haltsavedefault --wait=2halt如果是alternate和dvd的,直接复制粘贴上面的代码。如果是desktop的,把红色代码替换为:title Install Ubunturoot (hd0,0)kernel /vmlinuz boot=casper iso-scan/filename=/ubuntu-8.04.1-desktop-i386.isoinitrd /initrd.gz备注:如果第一个分区是系统还原分区,C盘在第二个分区,把(hd0,0)改为(hd0,1)。如果desktop安装过程提示找不到文件,检查你下载的文件名是否和iso-scan/filename=/ubuntu-8.04.1-desktop-i386.iso中的文件名一样,如不一样,修改代码。5.重新启动电脑,启动菜单多了一个GRUB4DOS选项,进入后选Install Ubuntu。 安装过程中可以参考 ubuntu中文wiki的” 写给ubunt新手 “或者网上其他图文教程,主要是磁盘分区过程。后面有一个步选择安装软件时,普通用户选desktop就可以了。 最后一步可以把grub写入mbr,用grub引导vista和ubuntu双系统,也可以跟我一样,写在linux分区,用vista的启动管理器引导grub,再用grub引导ubuntu。 如果网速不快,安装时可以拔掉网线。如果自动配置了网络,在后来apt-get下载软件时,速度很慢,可以 Ctrl+Alt+F2 ,sudo pkill apt-get ,Alt+F7。6.重启,进入vista,编辑menu.lst,添加ubuntu启动项。title Start Ubuntu 8.04root (hd0,5)kernel /boot/vmlinuz-2.6.24-19-generic root=/dev/sda6 ro quiet splashinitrd /boot/initrd.img-2.6.24-19-generic如果懒得重复修改menu.lst,直接复制我下面的。重启进入GRUB4DOS,选择Start Ubuntu 就能登陆ubuntu系统了。包括各种ubuntu的安装和启动菜单的menu.lst:color black/cyan yellow/cyantimeout 30default /defaulttitle Microsoft Windows Vistaroot (hd0,0)savedefaultmakeactivechainloader +1title Start Ubuntu 8.04root (hd0,5)kernel /boot/vmlinuz-2.6.24-19-generic root=/dev/sda6 ro quiet splashinitrd /boot/initrd.img-2.6.24-19-generictitle Start Ubuntu 8.04 (rescue)root (hd0,5)kernel /boot/vmlinuz-2.6.24-19-generic root=/dev/sda6 ro single quiet splashinitrd /boot/initrd.img-2.6.24-19-generictitle Install Ubuntu (alternate / dvd)root (hd0,0)kernel=/vmlinuzinitrd=/initrd.gztitle Install Ubuntu 8.04 (desktop)root (hd0,0)kernel /vmlinuz boot=casper iso-scan/filename=/Ubuntu-8.04.1-desktop-i386.iso quiet splash ro locale=zh_CN.UTF-8initrd /initrd.gztitle rebootsavedefault --wait=2reboottitle haltsavedefault --wait=2halt备注:代码中红色部分需要根据自己的实际情况进行更改。1. 一处是hd(0,5),对应的是sda6 hd(0,5) 是指第一硬盘的第6分区,对应于ubuntu,就是sda6。 hd(1,2) 是指第二硬盘的第3分区,对应于ubuntu,就是sdb3。 GRUB 要求设备名被括在一个 ( ) 中。fd表示软盘,hd 表示硬盘(不区分 IDE 还是 SCSI)。其次设备是从 0 开始编号,分区也是如此,分区和设备之间用一个 ‘,’ 分开。 ""注意"":"root"必须指向你的'/boot/'分区,如果你有的话。没有,则指向'/'分区。2. kernel和initrd后面的红色数字为内核版本,安装过程中需要留意一下,如果是8.04.1的话,应该是2.6.24-19 ,如果是其他内核,请自己修改一下。
tips:硬盘分区简单介绍

1. 硬盘分区 一块硬盘可以分为四个主分区,或三个主分区加上一个扩展分区。扩展分区其实只是一个容器,我们实际上并不直接使用扩展分区。在扩展分区内,我们可以继续划分逻辑分区。一般的认为在一个扩展分区内,能分出无数个逻辑分区。正因为有了逻辑分区,一块硬盘才能被分成很多个分区。
2. Linux中的硬盘分区 与Windows不同,Linux并不是用C, D, E, F等盘符来标识每一个分区的,而是用一系列设备文件来标识——Linux把一切硬件设备都当成文件。比如,Linux下,四个主分区分别对应/dev /sda1, /dev/sda2, /dev/sda3, /dev/sda4。其中/dev是设备文件所在的目录,sd代表SCSI Disk,a代表第一个SCSI设备,数字1,2,3,4分别代代表了四个主分区。如果你不知道什么是SCSI Disk,不用担心,因为你并不需要知道它究竟是什么。通常,如果你的电脑中只有一块硬盘,那么,这块硬盘一定是/dev/sda。
可能你以前接触过Linux,或曾经在一些老旧的资料中看到过/dev/hda代表第一个主IDE通道上的硬盘,……你现在已经无需知道这些了。因为 Ubuntu已经取消了用hd和sd区分不同类型的硬盘的机制,取而代之的,用sda统一代表电脑中的第一块硬盘。
Linux下,/dev/sdaX中的数字X的编号是有限的。在Linux下,最大的分区编号是16。因此,主分区和扩展分区编号占用 1~4,逻辑分区占用5~16。即使你的硬盘中只有一个主分区(如,/dev/sda1)和一个扩展分区(/dev/sda2),剩下的两个主分区编号: /dev/sda3, dev/sda4 也不会分配给逻辑分区。第一个逻辑分区一定是从/dev/sda5开始编号的。这点与Windows下盘符的编制类似。如:A盘一定是3.5英寸软驱,B 盘一定是5.25英寸软件,而从C盘开始才是硬盘分区。即使电脑上没有软驱,第一个硬盘分区的编号也是C,而不是A。

XP下安装:
最近安装了Fedora11,遇到不少的困难,也走了很多弯路,在这里总结下。

一、安装准备
我是在windowsXP下安装的F11,就是装个双系统。
首先给系统分区,我是分了三个区: 使用了分区魔术师
1、主分区,就是挂载“/”根目录的分区,给了15G。
2、挂载“/tmp”目录的分区,因为在装软件的时候经常要求/tmp文件有一定的空间,所以,我就单独给了它一个分区,2G。
3、swap分区,交换分区,这个必须要有的,一般是内存空间的2倍,我的内存2,所以划给它4G。
总共20G。
4,当然你也可以不需要先分区,但是一到定要 删除 WIN的一部分分区留给LINUX。安装的时候手动分区就好

二、下载镜像
我是在F10的官方网站http://fedoraproject.org/zh_CN/get-fedora下载的那个3G多的,就是Upgrade to Fedora 10 from an older version这个,还有一个685M的liveCD,可以制作CD,DVD啥的,从光盘安装,这里我用了个分量大的,从硬盘安装。(很明显两个里面的目录结构是不同的)。
下载之后将它放在一个FAT32格式的硬盘下,一定是FAT32,要不然安装的时候找不到文件。从中提取几个必要的文件,isolinux文件夹中的vmlinuz和initrd.img,为了文件目录的完整性,直接解压出文件夹就行了,放在跟镜像同一个目录下。还有一个images文件夹,也解压到同一个目录下。
文件目录:


Fedora-11-i386-DVD.iso
isolinux
images


三、grub4dos的使用
grub for dos 可以帮助你引导安装linux,如果想详细了解什么是grub4dos可以去百度下。
http://www.52zhe.cn/read.php/213.htm
我是下载的grub4dos-0.4.4,这是个绿色版的。
从中提取三个文件: grldr , , menu.lst放在C盘下,其实是放在FAT32文件系统的盘下就行,我就放在C盘下,用完了可以删除。 打开文件menu.lst,在文档的末尾添加如下代码

title Install-Fedora11
kernel (hd0,0)/isolinux/vmlinuz
initrd (hd0,0)/isolinux/initrd.img



这3条命令最好抄下来,如果是第一次安装的话。

然后打开我的电脑->右击属性->高级->启动与故障恢复->高级->编辑,打开boot.ini文件,在文件最后添加
C:\grldr="GRUB"
确认之后,可以重启了,启动之后就可以看到grub启动的选项,进入后,可以看到很多选项,当然我们选择刚才配置的最后一项Install-Fedora11,进入,就可以安装Fedora11了,至此第一步完成。

故障处理:

如果不小心弄坏了,但是还有grub提示,那么可以进入grub命令行依次输入:
root (hd0,0)
makeactive
chainloader +1
boot
就可以重新进入Windows了。

如果没有在menu.lst中添加上面的代码,在选项中找不到Install-Fedora11这项,也可以进入命令行,依次输入:
kernel (hd0,0)/isolinux/vmlinuz
initrd (hd0,0)/isolinux/initrd.img
boot
就行了。

如果在安装的过程中因为人为原因或者自然原因导致安装没完成就机器断电了,使其MBR表损坏不能进入任何系统,任何界面。
可以使用PE进入系统然后安装DiskGenius 修复 MBR 重启 ,OK! 又可以进入WINDOWS XP了!呵呵……

sensors(cpu温度)
groupadd (建立组)
groupdel (删除组)
mv (移动或更名现有的文件或目录)
cp(copy)
find (查找)
tar(解压)
gzip (压缩)
zip (压缩)
unzip(解压缩zip文件)
su -l(变量也跟过来)
uname -a (查看系统是 32 还是64)(686 386=32;86_64 64 大概)
pklill (群杀进程)
date (日期显示与添加修改)
useradd (建立用户)passwd (建立密码) -d(删除密码)
userdel (删除用户)
;(例子)#(注销)(vi 某个文件里)
#(注销) “”(如有文档 -AX 之类的无法删除则加)
cat (把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档案)
rm -rf(强制删除)
mkdir(建目录)mkdir --mode(-m)=666 dir2 (建出来的目录权限) -p(确保路径目录存在)
touch(建文件)
ls -lh (查看文件大小) ls -l=ll
DF -m (查看磁盘使用M)df(查看是否正确mount)
ifdown ifup (关闭启动 网卡)
ntsysv setup 网络配置
vi /etc/inittab(修改 3 5 )
set nu(加上数字)
startX=init 5(进入图形界面)
mount (挂载)
umount (卸载)
chgrp (变更文件所属组)
chmod(变更文件目录权限)
chown (变更文件或目录的拥有者或所属群组。)
chkconfig --list dhcpd(查看级别)
chkconfig --level 35 dhcpd on(提升DHCP 3 5 on)
ps -e(查看所有进程)
arp (使用前先PING一下)
vi /etc/rc.d/rc.local(启动时候最后的脚本)
system-config-packages(在图形界面下安装各种服务)
pwd(查看绝对路径)
vi -o 文件1 文件2(同时打开两个文件)
vi -o 1.txt 2.txt
rpm -qa | grep XXX(安装多少系列软件)
rpm -ql XXX(软件安装到哪里)
grep -v "^#" /etc/samba/smb.conf |grep -v "^;"(查看SMB有效命令)
yum upgrade(升级整个系统)
yum update(升级已经有的包)
linux内核升级后如何删除旧的内核
用fdisk -l ;df -lh ;more /etc/fstab来确认分区情况;
inux下为php添加GD库的步骤如下:一、下载
gd-2.0.33.tar.gz http://www.boutell.com/gd/jpegsrc.v6b.tar.gz http://www.ijg.org/libpng-1.2.7.tar.tar http://sourceforge.net/projects/libpng/zlib-1.2.2.tar.gz http://sourceforge.net/projects/zlib/freetype-2.1.9.tar.gz http://sourceforge.net/projects/freetype/php-4.3.9.tar.gz http://www.php.net
安装步骤:安装libxml # tar -zxf libxml2-2.6.19.tar.gz# cd libxml2-2.6.19# ./configure (xml默认安装就可以,不要指定路径了,因为安装时php可能找不到它,PHP5只支持libxml2-2.5.10以上版本) # make # make install 安装zlib # tar -zxf zlib-1.1.3.tar.gz# cd zlib-1.1.3# ./configure --prefix=/usr/local/zlib (注意,如果您以前没有安装zlib,可以不指定路径,我是没有删除以前的低版本才指定的!以下雷同!) # make # make install 安装jpeg # tar -zxf jpegsrc.v6b.tar.gz # cd jpeg-6b/ # ./configure --prefix=/usr/local/jpeg# make # make install-lib 如果你选择默认安装,可能很顺利,指定路径后,请先创建以下文件夹 错误提示:...... /usr/bin/install -c -m 644 jconfig.h /usr/local/jpeg6/include/jconfig.h /usr/bin/install: 无法创建一般文件‘/usr/local/jpeg/include/jconfig.h’: 没有那个文件或目录 make: *** [install-headers] Error 1 # mkdir /usr/local/jpeg# mkdir /usr/local/jpeg/include # mkdir /usr/local/jpeg/lib # make install-lib # make install 安装时如果错误提示: /usr/bin/install: 无法创建一般文件‘/usr/local/jpeg6/lib/libjpeg.a’: 没有那个文件或目录 make: *** [install-lib] Error 1 创建如下文件夹: # mkdir /usr/local/jpeg/lib # make install /usr/bin/install -c cjpeg /usr/local/jpeg/bin/cjpeg /usr/bin/install: 无法创建一般文件‘/usr/local/jpeg/bin/cjpeg’: 没有那个文件或目录 make: *** [install] Error 1 # mkdir /usr/local/jpeg/bin /usr/bin/install -c -m 644 ./cjpeg.1 /usr/local/jpeg/man/man1/cjpeg.1 /usr/bin/install: 无法创建一般文件‘/usr/local/jpeg/man/man1/cjpeg.1’: 没有那个文件或目录 make: *** [install] Error 1 # mkdir /usr/local/jpeg/man # mkdir /usr/local/jpeg/man/man1 # make install 好了,直到安装成功! 安装libpng: # tar -zxf libpng-1.2.29.tar.gz# cd libpng-1.2.29.tar.gz # ./configure --prefix=/usr/local/libpng# make # make install 安装freetype: # tar -zxf freetype-2.3.5.tar.gz # cd freetype-2.3.5 # ./configure --prefix=/usr/local/freetype # make # make install 安装gd库: # tar -zxf gd-2.0.35.tar.gz # cd gd-2.0.35.tar.gz # ./configure --prefix=/usr/local/gd --with-zlib=/usr/local/zlib/ --with-png=/usr/local/libpng/ --with-jpeg=/usr/local/jpeg/ --with-freetype=/usr/local/freetype/ (请指定及格插件的安装路径,否则安装php的时候可能出错!) # make # make install
安装GD可能出现的错误:
当make 时出现 configure.ac:64: error: possibly undefined macro: AM_ICONV
下载gettext-devel-0.14.1-13.i386.rpm,然后安装上就行了.
重新安装编译php5: # tar -zxf php-5.1.4.tar.gz # cd php-5.1.4 # ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-jpeg-dir=/usr/local/jpeg/ --with-png-dir=/usr/local/libpng/ --with-gd=/usr/local/gd/ --with-freetype-dir=/usr/local/freetype/ --enable-trace-vars --with-zlib-dir=/usr/local/zlib/ -with-mysql=/usr/local/mysql

内核下载删除:
首先我们需要查看一下当前使用的是哪个内核:

uname -r 该命令会告诉你当前使用的内核版本

接下来,如果你是自己动手编译的内核的话,请删除以下文件和文件夹

1. 删除掉/lib/modules/目录下过时的内核库文件
2. 删除掉/usr/src/kernels/目录下过时的内核源代码
3. 删除掉/boot目录下启动的核心档案以及内核映像
4. 更改/boot/grub/menu.lst,删除掉不用的启动列表

如果你使用的是yum或者rpm包管理器更新的话

rpm -qa | grep kernel* 查找所有linux内核版本
rpm -e kernel-(相要删除的内核版本)

用rpm命令行删除的话会遇到依赖关系问题,也就是说如果卸载的时候出现不让卸载的情况,请使用

rpm -e --nodeps kernel-(要删除的版本) 不检查依赖关系直接删除

或者:

yum remove kernel-(要删除的版本)

建议用这个来删除,它会提示所有的依赖关系,如果你确认他会把这些相关的文件全删了,即卸载的很干净。



在CentOS 5.3 命令行中显示中文

第一,打开语系支持文件:#vim /etc/sysconfig/i18n

LANG="en_US.UTF-8”  ← 找到这一行,将“UTF-8”,改为"GB2312"
第二,安装中文环境的shell : 首先安装libstdc++.so.5包:# yum install libstdc++.so.5

再下载zhcon:# wget http://nchc.dl.sourceforge.net/s ... on-0.2.3-1.i386.rpm

安装下载的zhcon:# rpm -ivh zhcon-0.2.3-1.i386.rpm
完了,用zhcon 命令就可以显示中文了。

http://linux.chinaunix.net/techd ... 09/22/1033890.shtml
如果通过 SSH 方式登录服务器,比如用PuTTY登录,不必安装 zhcon就能够实现中文显示,详情请见:Putty中文教程

用putty登录,这样上面wget那段地址就可以直接复制去,不必一个个敲到命令行界面里



裝置 裝置在Linux內的檔名
IDE硬碟機 /dev/hd[a-d]
SCSI/SATA/USB硬碟機 /dev/sd[a-p]
USB快閃碟 /dev/sd[a-p](與SATA相同)
軟碟機 /dev/fd[0-1]
印表機 25針: /dev/lp[0-2]
USB: /dev/usb/lp[0-15]
滑鼠 USB: /dev/usb/mouse[0-15]
PS2: /dev/psaux
當前CDROM/DVDROM /dev/cdrom
當前的滑鼠 /dev/mouse
磁帶機 IDE: /dev/ht0
SCSI: /dev/st0

网卡:
/etc/sysconfig/network
這個檔案主要的功能在於設定『主機名稱( HOSTNAME )與啟動 Network 與否』!一般來說,如果您變動過這個檔案內的主機名稱時,請務必重新開機 (reboot), 因為這樣才會讓系統上面所有的程式都使用最新設定的主機名稱喔!( 在 SuSEL 上面,主機名稱是記錄在 /etc/HOSTNAME 裡面的!)


/etc/sysconfig/network-scrips/ifcfg-eth0
這個檔案的內容即是設定網路卡參數的檔案啦!裡面可以設定『network, IP, netmask, broadcast, gateway, 開機時的 IP 取得方式( DHCP, static ), 是否在開機的時候啟動』等等。至於 ifcfg-eth0 指的是第一塊網路卡,而第二塊網路卡為 ifcfg-eth1 以此類推。(在 SuSE 上面則是使用 /etc/sysconfig/network/ifcfg-eth0 )。


/etc/modprobe.conf
如果硬體要能動作,當然要核心有支援才行!同時,我們也可以利用外掛的核心模組 (可以將他想成是驅動程式) 來驅動硬體,而開機時用來設定載入核心模組的檔案就是 modprobe.conf 啦。一般來說,目前的 distributions 通常使用模組的方式來編譯網路卡驅動程式,所以, 當您安裝完畢後,您的網路卡與模組對應通常已經寫到這個檔案當中囉!


/etc/resolv.conf
我們在網路基礎裡面稍微提到的 DNS 功能是什麼?對啦, 就是進行主機名稱與 IP 的對應!而 resolv.conf 就是設定 DNS IP (名稱解析伺服器) 的檔案, 常常有人提到『咦!我已經可以 ping 到外部電腦的公共 IP 了,為何輸入網址卻無法連線?』 通常發生的錯誤就是這個檔案裡面的設定不正確啦!請注意! 通常這個檔案可以輸入中華電信的 DNS ( 168.95.1.1 )!


/etc/hosts
這個檔案可以記錄電腦的 IP 對應主機的名稱或者主機的別名!特別留意的是, 在區域網路內有些服務需要反查 Client 的身份,此時就會動用到主機名稱對應 IP 的資料。 但是因為區域網路內使用私有保留 IP ,當然無法進行 Hostname 對應 IP 的行為, 這個時候該服務就會呆呆的等待 30~60 秒~如果可以避過這個反查,或者是直接告訴主機 Hostname 與 IP 的對應,那麼就可以節省這個反查的時間了!所以,如此一來省去反查的時間,就可以改善 LAN 內的連線速度了!這個 hosts 就是用來設定 Hostname 對應 IP 的啦! 更多的資訊請查閱後續伺服器章節 DNS 伺服器的介紹。


/etc/services
這個檔案則是記錄架構在 TCP/IP 上面的總總協定,包括 http, ftp, ssh, telnet 等等服務所定義的 port number ,都是這個檔案所規劃出來的。如果您想要自訂一個新的協定與 port 的對應,就得要改這個檔案了;


/etc/protocols
這個檔案則是在定義出 IP 封包協定的相關資料,包括 ICMP/TCP/UDP 這方面的封包協定的定義等。

大概知道上面這幾個檔案後,未來要修改網路參數時,那就太簡單了! 至於網路方面的啟動指令的話,可以記得幾個簡單的指令即可喔!

/etc/init.d/network restart
這個 script 最重要!因為可以一口氣重新啟動整個網路的參數! 他會主動的去讀取所有的網路設定檔,所以可以很快的恢復系統預設的參數值。


ifup eth0 (ifdown eth0)
啟動或者是關閉某張網路介面。可以透過這個簡單的 script 來處理喔! 這兩個 script 會主動到 /etc/sysconfig/network-scripts/ 目錄下, 讀取適當的設定檔來處理啊! (例如 ifcfg-eth0)。
IDE\Jumper Master Slave
IDE1(Primary) /dev/hda /dev/hdb
IDE2(Secondary) /dev/hdc /dev/hdd


GRUD加密
etc/grub
password=xxxxx
/sbin/grub-md5-crypt
password --md5 xxxxxx(你得到的那串数字)



default=0

timeout=10

passwd=123456

splashimage=......

title......

root......

kernel......

initrd(AS5此处有点不同)/initrd......

password=123456

:wq


(解压源安装):
tar.gz tar zxvf
tar.bz2 tar jxvf
cd 解压目录
./config
make
make install

RPM(Red Hat Package Manager)
命令:rpm

1、查询、检查软件包
rpm {-q|--query} [select-options] [query-options]
rpm {-V|--verify} [select-options] [verify-options]
2、安装、升级、删除软件包
rpm {-i|--install} [install-options] PACKAGE_FILE ...
rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...
rpm {-F|--freshen} [install-options] PACKAGE_FILE ...
rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts]
[--notriggers] [--repackage] [--test] PACKAGE_NAME ...
3、其他
rpm {--initdb|--rebuilddb}
rpm {--addsign|--resign} PACKAGE_FILE ...
rpm {--querytags|--showrc}
rpm {--setperms|--setugids} PACKAGE_NAME ...
RPM(Red Hat Package Manager)
命令:rpm

select-options
[PACKAGE_NAME] [-a,--all] [-f,--file FILE]
[-g,--group GROUP] {-p,--package PACKAGE_FILE]
[--fileid MD5] [--hdrid SHA1] [--pkgid MD5] [--tid TID]
[--querybynumber HDRNUM] [--triggeredby PACKAGE_NAME]
[--whatprovides CAPABILITY] [--whatrequires CAPABILITY]

query-options
[--changelog] [-c,--configfiles] [-d,--docfiles] [--dump]
[--filesbypkg] [-i,--info] [--last] [-l,--list]
[--provides] [--qf,--queryformat QUERYFMT]
[-R,--requires] [--scripts] [-s,--state]
[--triggers,--triggerscripts]

verify-options
[--nodeps] [--nofiles] [--noscripts]
[--nodigest] [--nosignature]
[--nolinkto] [--nomd5] [--nosize] [--nouser]
[--nogroup] [--nomtime] [--nomode] [--nordev]
RPM(Red Hat Package Manager)
命令:rpm

install-options
[--aid] [--allfiles] [--badreloc] [--excludepath OLDPATH]
[--excludedocs] [--force] [-h,--hash]
[--ignoresize] [--ignorearch] [--ignoreos]
[--includedocs] [--justdb] [--nodeps]
[--nodigest] [--nosignature] [--nosuggest]
[--noorder] [--noscripts] [--notriggers]
[--oldpackage] [--percent] [--prefix NEWPATH]
[--relocate OLDPATH=NEWPATH]
[--repackage] [--replacefiles] [--replacepkgs]
[--test]


【示例】
rpm -v 显示rpm程序的详细信息
rpm --version 显示rpm的版本号
rpm -qa 显示系统中安装的所有软件包
rpm -q gcc 查询指定软件包是否已安装
rpm -qi gcc 显示指定软件包的详细信息
RPM(Red Hat Package Manager)
命令:rpm

rpm -ql gcc 显示指定软件包所包含的文件列表
rpm -qf /usr/lib/bash 查看指定文件所属的软件包
rpm -qp /tmp/webmin.rpm 查询RPM包文件中的文件信息

rpm -i webmin-1.290-1.noarch.rpm 安装指定的RPM包
rpm -ivh webmin-1.290-1.noarch.rpm 安装并显示详信息

rpm -ivh --test webmin-1.290-1.noarch.rpm 对安装进行测试,并不是安装
rpm -ivh --replacepkgs webmin-1.290-1.noarch.rpm
软件包重复安装将会失败,若仍需要安装必须加--replacepkgs
rpm -ivh --replacefiles webmin-1.290-1.noarch.rpm
软件包的某个文件已在安装其他软件包时安装过,则安装将会失败,若仍需要安装必须加--replacefiles
rpm -ivh --nodeps webmin-1.290-1.noarch.rpm
软件包所依赖的软件包未安装,则安装将会失败,若仍需要安装必须加—nodeps

rpm -ivh --force webmin-1.290-1.noarch.rpm 强制安装指定软件包
(忽略软件包依赖性和文件冲突,不建议)
RPM(Red Hat Package Manager)
命令:rpm

rpm –U webmin-1.29 升级指定的软件包
rpm –Uvh webmin-1.29 升级指定的软件包(显示详细信息)


rpm -e webmin-1.29 删除指定的软件包

rpm -V webmin 验证软件包webmin
rpm -Vf /bin/vi 验证包含指定文件的软件包是否正确
rpm -Va 验证所有已经安装的软件包
rpm -Vp webmin.rpm 利用RPM文件验证软件包

注:如校验正确将没有任何输出(.表示验证通过)
5 MD5校验
S 文件尺寸
L 符号链接
T 文件修改日期
D 设备
U 用户
G 用户组
M 模式(包括权限和文件类型)

webmin 安装
rpm -ivh /mnt/Server/ perl-5.8.8-10.i386.rpm

http://www.openssl.org/source/
tar zxvf openssl-0.9.8e.tar.gz
cd openssl-0.9.8e
./config
make
make install

http://search.cpan.org/dist/Net_SSLeay.pm/

tar zxvf Net_SSLeay.pm-1.30.tar.gz
cd Net_SSLeay.pm-1.30
perl Makefile.PL
make install
(如果64系统下 怎么都不行 那么 使用 yum -y install perl-Net-SSLeay 来安装)

http://prdownloads.sourceforge.net/webadmin
rpm -ivh webmin-1.350-1.noarch.rpm
(tar包 解压后 进入目录后使用./setup.sh 来安装 一路回车 后默认ADMIN)

问https://Linux服务器的IP或域名:10000/


as4.0

DHCP的配置:(无主配置文件!需要COPY)

ifconfig eth0 (查看Eth0的IP)

rpm -qa | grep dhcp

df(看光盘是否挂载)

mount /dev/cdrom /mnt
rpm -ivh dhcp-.....
rpm -ql dhcp

/etc/rc.d/init.d/dhcpd(启动脚本)

cp /usr/share/doc/dhcp-3.01/dhcpd.conf.sample(模板文件) etc/dhcpd.config (生成配置文件)

man dhcpd.conf(说明)

service dhcpd restart(重启)
service dhcpd status(查看状态)

租约文件dhcpd.leases中记录了DHCP服务器向DHCP客户机提供租用的每个IP地址的信息
# tail -7 /var/lib/dhcp/dhcpd.leases
具体配置:
# cat /etc/dhcpd.conf
ddns-update-style ad-hoc;(全局设置中一定要包括ddns-update-style设置项,dhcpd才能够正常启动)
default-lease-time 21600;(缺省租约时间使用default-lease-time参数设置,参数值的单位是秒)
max-lease-time 43200;(最大租约时间使用max-lease-time参数设置,参数值的单位是秒 )
option domain-name "abc.com";(主机所在域的名称使用domain-name选项进行设置)
option domain-name-servers 192.168.1.1;(DNS服务器的IP地址使用domain-name-servers选项进行设置)
subnet 192.168.1.0 netmask 255.255.255.0 {(subnet关键字后面设置子网的网络地址,netmask关键字后面设置子网的掩码) range 192.168.1.100 192.168.1.200;(subnet中可供动态分配的IP地址范围使用range配置参数设置)
option subnet-mask 255.255.255.0;(subnet-mask选项设置子网内分配IP地址的子网掩码)
option routers 192.168.1.1;(routers选项设置给DHCP客户端分配的IP地址所使用的缺省网关地址)
host Server01 { (host关键字后面需要为DHCP客户端主机设置主机名称)
hardware ethernet b0:c0:c3:22:46:81;(hardware参数在host声明中用于指定客户端主机的物理地址)
fixed-address 192.168.1.11;(fixed-address参数在host声明中用于指定为客户端分配的固定使用的IP地址)
}
}

主机拥有多个网络接口时需要在文件中指定提供dhcp服务的网络接口
在/etc/sysconfig/dhcpd文件中设置
DHCPDARGS=

DHCPDARGS=eth0

eth0是提供dhcp服务的网络接口名称
设置网络接口文件

# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp

NIS

rpm -ivh ypserv-。。。。。。

NIS服务器的运行需要time和time-upd服务的支持
vi /etc/sysconfig/network(改域名
NISDOMAIN=XXX
rpm -ivh xinetd-...
service xined start
rpm -ivh portmap-......
service portmap start
chkconfig time on
chkconfig time-udp on
service xinetd restart
vi /etc/ypserv.conf(改配置文件)
:set nu
127.0.0.0/255.255.255.0 : * : * : none
192.168.1.0/255.255.255.0 : * : * :none
*:*:*:deny
:wq

vi /var/yp/securenets(安全配置文件只写允许)
host 127.0.0.1
255.255.255.0 192.168.1.0

service portmap status
/etc/rc.d/init.d/ypserv restart
/etc/rc.d/init.d/yppasswdd restart
建在客机器的登陆
user baizx
passwd baizx
123456
构建数据库
/usr/lib/yp/ypinit -m

客户端
rpm -qa ypbind
nisdomainname xxx
vi /etc/yp.conf
domain bai server 192.168.1.1
vi /etc/nsswich.conf
:set nu
33 nis 34 nis 35 38 nis

service ypbind restart
login baizx

NFS AS5

vi /etc/exports

/home 192.168.1.0/24(rw)

9.0
mount -t nfs 192.168.1.1:/home /home

VSFTP
匿名
不能上传
安装VSFTPD-XXX-XXX

touch/var/fto/111

chmod 777 111

ifconfig eth0 192.168.1.1

客户机
ifconfig eth0 192.168.1.2
ftp 192.168.1.1
匿名登陆 anonymous ftp

>get mget

本地
useradd baizx
passwd baizx
123456
vi /etc/vsftpd/vsftpd.conf
chroot_local_user=YES
service vsftpd restart

~(家目录)
客户机登陆
su root
FTP 192.168.1.1
baizx
123456
FTP>pwd
/

服务器
/etc/vsftpd.ftpuser(不允许登陆)(优先级别大)

/etc/vsftpd.user_list(默认不允许登陆FTP/只让这里的登陆
vi /etc/vsftpd.user_list

useradd bzx
passwd bzx
123456

vi /etc/vsftpd.config
chroot_lock_user
userlist_enable=YES
userlist_deny=NO
service vsftpd restart

客户端

su -l root
FTP 192.168.1.1
bzx
530(不能登陆)

baizx
230(没问题)

服务器

touch /home/baizx/222
cd /home/baizx
chmod 777 222

客户端

su -l root
touch 333
chmod 777 333
ftp 192.168.1.1

ftp>get 222
ftp>put 333

虚拟用户

建口令文件
vi abc
abcde(用户名)
123(密码)

db_load -T -t hash -f abc /etc/vsftpd/abc.db(把口令生成数据库文件)

建PAM配置文件vi /etc/pam.d/vsftpd.vu
auth required /lib/security/pam.userdb.so db=/etc/vsftpd/abc
account required /lib/security/pam.userdb.so db=/etc/vsftpd/abc

建普通用户

useradd vu

修改配置文件 优于单独建虚拟目录

vi /etc/vsftpd/vsftpd.conf
guest_enable=YES(开启虚拟用户功能)
guest_username=vu(假借)
pam_service_name=vsftpd.vu(指定认证文件)

单独虚拟用户
vi /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/ftp(目录)
mkdir /etc/ftp
cd /etc/ftp

vi abcde(给权限)
max_clients=100(用户有100)
max_per_ip=5(多线程,每IP有5)
local_max_rate=500000(本地传输)
anon_max_rate=200000(匿名传输)
anon_word_readable_only=NO(用户可以上传下载)
anon_upload_enable_=YES(上传)

samba

安装samba-XXX

查看smb.conf有效配置的命令
# grep -v "^#" /etc/samba/smb.conf |grep -v "^;"

smbstatus

vi /etc/samba/smb.conf

[dir]
path=/tmp/
guest ok=yes
writable=yes

service smb restart

useradd text
useradd abc

smbpasswd -a text
smbpasswd -a abc

vi /etc/samba/smb.conf
[dir2]
path=/tmp2
valid user=abc.text
Read list=text
write list=abc

service smb restart

网页配置samba-swat

chkconfig swat on
service xinetd restart
http ://serverIP:901

smbclient //192.168.1.123/share -U osmond


【已有192位网友发表了看法】 【打印】 【关闭】

相关评论
作者: baizx 发布日期: 2009-11-25
[i=s] 本帖最后由 baizx 于 2010-2-5 09:28 编辑

关于lamp

Linux系统中使用GCC CPU参数优化代码编译
发表于 2007-10-11 16:46 作者: wangyu1314
wangyu1314 更新于 2007-10-13 17:11
使用特定的GCC参数可以使编译出的程序执行效率有较大提升。具体如下:

1、优化原理:
在编译程序时,借助参数传递的方法,使用与系统CPU相匹配的gcc参数,编译出的程序就是为系统CPU而进行特定优化过的,因而执行速度和效率都会是最好。

2、注意事项
(1) 经过大量测试发现,在RedHat, CentOS系统中通常只能通过参数传递的方法进行编译优化,当然,如果愿意并且能够修改程序的MakeFile也可以达到这一效果,只不过比较复杂,工 作量较大。其他在网上广为流传的方法(例如:直接通过.bashrc, /etc/profile声明参数系统变量、写入/etc/make.conf等)经过测试均没有效果。

(2) 对于Gentoo Linux或FreeBSD可以通过修改/etc/make.conf添加参数的方法来实现,而不必使用参数传递法。

3、优化步骤:
(1)确定系统CPU类型:
# cat /proc/cpuinfo | grep "model name"
执行后会看到系统中CPU的具体型号,记下CPU型号。

(2)使用参数传递方法进行编译:(以Pentium4 CPU为例)
此处以编译Apache为例说明如何使用参数传递:
# tar xzvf httpd-2.0.55.tar.gz
# cd httpd-2.0.55
CHOST="i686-pc-linux-gnu" \
CFLAGS="-O3 \
-msse2 \
-mmmx \
-mfpmath=sse \
-mcpu=pentium4 \
-march=pentium4 \
-pipe \
-fomit-frame-pointer" \
CXXFLAGS="-O3 \
-msse2 \
-mmmx \
-mfpmath=sse \
-funroll-loops \
-mcpu=pentium4 \
-march=pentium4 \
-pipe \
-fomit-frame-pointer" \
./configure ......
# make
# make install

这样就通过函数传递方法实现了编译优化。下面对其中的一些参数进行具体说明:

-O3:相对于-O、-O1、-O2,-O3开启了所有GCC支持的优化特性;
-msse2:开启CPU所支持的sse2指令集;
-mmmx:参考-msse2
-mfpmath=sse:为指定指令集生成浮点运算特性(优化浮点运算功能);
-mcpu:指定CPU型号;
-march:指定CPU型号,基本同-mcpu,GCC根据-march设定的CPU型号决定在生成代码时可以使用哪些种类的指令。(注意!-march参数在某些CPU型号中不可用!)
-pipe:使用管道(pipe)方法替代临时文件方法在编译的不同阶段之间进行通讯。

附:常见CPU优化参数
386:
CHOST="i386-pc-linux-gnu"
CFLAGS="-march=i386 -O3 -pipe -fomit-frame-pointer"
CXXFLAGS="-march=i386 -O3 -pipe -fomit-frame-pointer"
486:
CHOST="i486-pc-linux-gnu"
CFLAGS="-march=i486 -O3 -pipe -fomit-frame-pointer"
CXXFLAGS="-march=i486 -O3 -pipe -fomit-frame-pointer"
Pentium (Intel):
CHOST="i586-pc-linux-gnu"
CFLAGS="-march=pentium -O3 -pipe -fomit-frame-pointer"
CXXFLAGS="-march=pentium -O3 -pipe -fomit-frame-pointer"
Pentium MMX (Intel):
CHOST="i586-pc-linux-gnu"
CFLAGS="-march=pentium-mmx -O3 -pipe -fomit-frame-pointer"
CXXFLAGS="-march=pentium-mmx -O3 -pipe -fomit-frame-pointer"
Pentium PRO (Intel):
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentiumpro -O3 -pipe -fomit-frame-pointer"
CXXFLAGS="-march=pentiumpro -O3 -pipe -fomit-frame-pointer"
Pentium II (Intel):
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium2 -O3 -pipe -fomit-frame-pointer"
CXXFLAGS="-march=pentium2 -O3 -pipe -fomit-frame-pointer"
Celeron (Intel):
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium2 -O3 -pipe -fomit-frame-pointer"
CXXFLAGS="-march=pentium2 -O3 -pipe -fomit-frame-pointer"
Pentium III (Intel):
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium3 -O3 -pipe -fomit-frame-pointer"
CXXFLAGS="-march=pentium3 -O3 -pipe -fomit-frame-pointer"
Celeron2 (Intel):
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium3 -O3 -pipe -fomit-frame-pointer"
CXXFLAGS="-march=pentium3 -O3 -pipe -fomit-frame-pointer"
Celeron (Willamette-Intel):
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer"
CXXFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer"
Pentium 4 (Intel):
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer"
CXXFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer"
K6 (AMD):
CHOST="i586-pc-linux-gnu"
CFLAGS="-march=k6 -O3 -pipe -fomit-frame-pointer"
CXXFLAGS="-march=k6 -O3 -pipe -fomit-frame-pointer"
K6-2 (AMD):
CHOST="i586-pc-linux-gnu"
CFLAGS="-march=k6-2 -O3 -pipe -fomit-frame-pointer"
CXXFLAGS="-march=k6-2 -O3 -pipe -fomit-frame-pointer"
K6-3 (AMD):
CHOST="i586-pc-linux-gnu"
CFLAGS="-march=k6-3 -O3 -pipe -fomit-frame-pointer"
CXXFLAGS="-march=k6-3 -O3 -pipe -fomit-frame-pointer"
Athlon (AMD):
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon -O3 -pipe -fomit-frame-pointer"
CXXFLAGS="-march=athlon -O3 -pipe -fomit-frame-pointer"
Athlon-tbird, aka K7 (AMD):
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-tbird -O3 -pipe -fomit-frame-pointer"
CXXFLAGS="-march=athlon-tbird -O3 -pipe -fomit-frame-pointer"
Athlon-tbird XP (AMD):
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer"
CXXFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer"
Athlon 4(AMD):
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-4 -O3 -pipe -fomit-frame-pointer"
CXXFLAGS="-march=athlon-4 -O3 -pipe -fomit-frame-pointer"
Athlon XP (AMD):
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer"
CXXFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer"
Athlon MP (AMD):
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-mp -O3 -pipe -fomit-frame-pointer"
CXXFLAGS="-march=athlon-mp -O3 -pipe -fomit-frame-pointer"
603 (PowerPC):
CHOST="powerpc-unknown-linux-gnu"
CFLAGS="-O3 -pipe -fomit-frame-pointer -fsigned-char"
CXXFLAGS="-O3 -pipe -fomit-frame-pointer -fsigned-char"
603e (PowerPC):
CHOST="powerpc-unknown-linux-gnu"
CFLAGS="-O3 -pipe -fomit-frame-pointer -fsigned-char"
CXXFLAGS="-O3 -pipe -fomit-frame-pointer -fsigned-char"
604 (PowerPC):
CHOST="powerpc-unknown-linux-gnu"
CFLAGS="-O3 -pipe -fomit-frame-pointer -fsigned-char"
CXXFLAGS="-O3 -pipe -fomit-frame-pointer -fsigned-char"
604e (PowerPC):
CHOST="powerpc-unknown-linux-gnu"
CFLAGS="-O3 -pipe -fomit-frame-pointer -fsigned-char"
CXXFLAGS="-O3 -pipe -fomit-frame-pointer -fsigned-char"
750 aka as G3 (PowerPC):
CHOST="powerpc-unknown-linux-gnu"
CFLAGS="-mcpu=750 -O3 -pipe -fomit-frame-pointer -fsigned-char"
CXXFLAGS="-mcpu=750 -O3 -pipe -fomit-frame-pointer -fsigned-char"
7400, aka G4 (PowerPC):
CHOST="powerpc-unknown-linux-gnu"
CFLAGS="-mcpu=7400 -O3 -pipe -fomit-frame-pointer -fsigned-char -maltivec"
CXXFLAGS="-mcpu=7400 -O3 -pipe -fomit-frame-pointer -fsigned-char -maltivec"
7450, aka G4 second generation (PowerPC):
CHOST="powerpc-unknown-linux-gnu"
CFLAGS="-mcpu=7450 -O3 -pipe -fomit-frame-pointer -fsigned-char -maltivec"
CXXFLAGS="-mcpu=7450 -O3 -pipe -fomit-frame-pointer -fsigned-char -maltivec"
PowerPC (If you don't know which one):
CHOST="powerpc-unknown-linux-gnu"
CFLAGS="-O3 -pipe -fomit-frame-pointer -fsigned-char"
CXXFLAGS="-O3 -pipe -fomit-frame-pointer -fsigned-char"
Sparc:
CHOST="sparc-unknown-linux-gnu"
CFLAGS="-O3 -pipe -fomit-frame-pointer"
CXXFLAGS="-O3 -pipe -fomit-frame-pointer"
Sparc 64:
CHOST="sparc64-unknown-linux-gnu"
CFLAGS="-O3 -pipe -fomit-frame-pointer"
CXXFLAGS="-O3 -pipe -fomit-frame-pointer"

一、端口和服务的关系
端口号与相应服务的对应关系存放在/etc/services文件中,这个文件中可以找到大部分端口。使用netstat命令
显示的服务名称也是从这个文件中找的。有人说将这个文件中的相应端口号注释掉,就可以禁用该端口。
我试了却不起作用,这种方法应该是没有用的,是误传!将相应端口号注释掉,唯一的作用就是使用netsat
命令时,将不显示服务名(比如ftp)而是显示端口号(比如21)。原理也很简单:netstat无法在/etc/services
文件中找到端口号对应的服务名,自然就无法显示了。所以/etc/services文件只是起到端口号与相应服务的
映射关系,与端口的启动和关闭没有关系!
二、查看本机开放的端口
1、netstat 查看端口和连接
netstat 列出目前已经连接的服务名
netstat -a 列出目前已经连接的和正在监听的服务名
netstat -an 列出目前已经连接的和正在监听的端口号(与上面的命令功能一样,只是不解释端口号对应的服务名)
netstat -ap 在上面命令的基础上列出连接的PID(进程号),用这个PID,可以使用KILL 来杀死连接
例如:某个连接的PID=111,想踢出去就使用 KILL -9 111。ok!
netstat -rn 输出路由表
2、nmap
nmap 127.0.0.1 查看本机开放的端口,会扫描所有端口
nmap -p 1024 65535? 127.0.0.1 扫描指定端口范围
nmap -PT 192.168.1.1-111? 扫描一组范围的电脑
三、关闭和开启端口(服务)
关闭端口的方法:
1、因为每个端口都有对应的服务,因此要关闭端口只要关闭相应的服务就可以了。
2、用IPTABLE对端口进行限制,这样也能使端口不被访问,但端口本身并没有关闭。
在这儿只介绍关闭服务的方法,IPTABLE的应用以后再讨论。
linux中开机自动启动的服务一般都存放在两个地方:
/etc/init.d/文件夹下的服务:
这个文件夹下的服务都可以通过运行相应的SCRIPT来启动或关闭。
例如:启动sendmail服务 ./sendmail start (打开了TCP 25端口)
关闭sendmail服务 ./sendmail stop (关闭TCP 25 端口)
查看sendmail服务当前状态 ./sendmail? status (查看服务是否运行)
/etc/xinetd.d/文件夹下的服务:
这个文件夹下的服务需要通过更改服务的配置文件,并重新启动xinetd才可以。
例如:要启动其中的auth服务,打开/etc/xinetd.d/auth配置文件,更改“disable=no”,保存退出。运行/etc/rc.d/init.d/xinetd restart
要停止其中的auth服务,打开/etc/xinetd.d/auth配置文件,更改“disable=yes”,保存退出。运行/etc/rc.d/init.d/xinetd restart
四、控制开机自动启动的服务
上面说的控制服务开关方法是在启动linux之后进行操作的,如果我想在linux启动时控制哪些服务启动、哪些服务关闭怎么做
控制服务自动启动的方法有3个:
1、更改/etc/rc.d下的对应文件夹:
如果你登陆的默认界面是字符界面,那么修改rc.3文件夹,如果登陆界面默认是图形界面,那么修改rc.5。
在文件夹中,每个服务的名字前都带有“K”或“S”,S就代表这个服务开机自动运行了,把它删了或前缀改为“K”下次就不会启动了。
2、使用ntsysv命令:
输入ntsysv命令,将会出现一个服务列表,需要启动的打“*”,简单。
3、使用chkconfig命令:
让某个服务不自动启动:例如httpd:chkconfig --level 35 httpd? off ;35指的是运行级别
让某个服务自动启动:例如httpd:chkconfig --level 35 httpd? on ;
查看所有服务的启动状态:chkconfig --list
查看某个服务的启动状态:chkconfig --list |grep httpd



Linux下如果我们须要知道2809号端口的情况的话,我们可以这样,如下命令:
  $netstat -pangrep 2809
  tcp    0   0 0.0.0.0:2809   0.0.0.0:*   LISTEN   9493/java
  下面是常用参数的解释:
  NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval]
  -a            显示所有连接和监听端口。
  -b            显示包含于建立每个连接或监听端口的可执行组件。在某些情况下已知可执行组件
   拥有多个独立组件,并且在这些情况下
   包含于建立连接或监听端口的组件序列被显示。这种情况下,可执行组件名
   在底部的 [] 中,顶部是其调用的组件,等等,直到 TCP/IP 部分。留心此选项
   可能须要很长时间,如果没有足够权限可能失败。
  
  -e            显示以太网统计信息。此选项可以与 -s选项组合运用。
  
  -n            以数字形式显示地址和端口号。
  -o            显示与每个连接有关的所属进程 ID。
  -p proto      显示 proto 指定的协议的连接;proto 可以是
   下列协议之一: TCP、UDP、TCPv6 或 UDPv6。
   如果与 -s 选项一起运用以显示按协议统计信息,proto 可以是下列协议之一:
   IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。
  
  -r            显示路由表。
  -s            显示按协议统计信息。默认地,显示 IP、
   IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息;
   -p 选项用于指定默认情况的子集。
  
  -v            与 -b 选项一起运用时将显示包含于
   为所有可执行组件建立连接或监听端口的组件。
  
  interval      重新显示选定统计信息,每次显示之间
   暂停时间间隔(以秒计)。按 CTRL+C 停止重新
   显示统计信息。如果省略,netstat 显示当前
   配置信息(只显示一次)


内容来自: 脚本之家 www.jb51.net


[root@test proc]# netstat -an

[root@test proc]# /usr/sbin/lsof -i |grep 21
proftpd 1408 root 0u IPv4 10850 1471 root 0u IPv4 21162 192.168.0.1:3631 (ESTABLISHED)
proftpd 1471 root 1u IPv4 21162 ;192.168.0.1:3631 (ESTABLISHED)

netstat -lp 查看端口使用

netstat -nap | grep 21 看看什么程序运行在21端口


安装CentOS 5.3是做服务器
安装、配置Apache+php+Mysql

Centos 里的 yum 在线安装很慢.以下是替换为中国CentOS镜像服务器!
中国官方镜像网站: http://centos.ustc.edu.cn/
引用:
/* 使用说明 */
cd /etc/yum.repos.d[进入yum.repos.d目录]
mv CentOS-Base.repo CentOS-Base.repo.save[修改源文件名称备份]
wget http://centos.ustc.edu.cn/CentOS-Base.repo.5[下载]
mv CentOS-Base.repo.5 CentOS-Base.repo[下载后的文件更名]
1. 更新系统内核到最新.
引用:
yum -y update
系统更新后,如果yum安装时提示错误信息,请执行以下命令修复.
引用:
rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY*
2. 安装Apahce, PHP, Mysql, 以及php连接mysql库组件
引用:
yum -y install httpd php mysql mysql-server php-mysql

//安装mysql扩展
yum -y install mysql-connector-odbc mysql-devel libdbi-dbd-mysql
//安装php的扩展
yum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc
//安装apache扩展
yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql
一次性粘贴安装:
引用:
yum -y install httpd php mysql mysql-server php-mysql httpd-manual mod_ssl mod_perl mod_auth_mysql php-mcrypt php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc mysql-connector-odbc mysql-devel libdbi-dbd-mysql
3. 启动服务配置
引用:
/sbin/chkconfig httpd on [设置apache为自启动]
/sbin/chkconfig –-add mysqld [mysql服务]
/sbin/chkconfig mysqld on [mysqld服务]

/sbin/service httpd start [自启动 httpd 服务]
/sbin/service mysqld start [自启动mysqld服务]
4.设置mysql数据库root帐号密码。
引用:
mysqladmin -u root password ‘新密码’ [引号内填密码]
5.让mysql数据库更安全
引用:
mysql -u root -p [此时会要求你输入刚刚设置的密码,输入后回车即可
mysql> DROP DATABASE test; [删除test数据库]
mysql> DELETE FROM mysql.user WHERE user = ”; [删除匿名帐户]
mysql> FLUSH PRIVILEGES; [重载权限]
按照以上的安装方式, 配置出来的默认站点目录为/var/www/html/新建一个php脚本:
引用:
phpinfo();
?>
6. 防火墙配置
引用:
a.添加.允许访问端口{21: ftp, 80: http}.
iptables -I RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
iptables -I RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
b.保存
service iptables save
c.重置加载防火墙
service iptables restart
7. 安装phpMyAdmin进入phpMyAdmin官方下载最新版本后,上传到你的网站目录下,然后进行配置。只需几步即可搞定。
引用:
a. config.sample.inc.php更名为config.inc.php;
b. 打开config.inc.php文件,进行以下修改;
// $cfg['Servers'][$i]['controluser'] = ‘pma’;
// $cfg['Servers'][$i]['controlpass'] = ‘pmapass’;
// $cfg['Servers'][$i]['pmadb'] = ‘phpmyadmin’;
// $cfg['Servers'][$i]['bookmarktable'] = ‘pma_bookmark’;
// $cfg['Servers'][$i]['relation'] = ‘pma_relation’;
// $cfg['Servers'][$i]['table_info'] = ‘pma_table_info’;
// $cfg['Servers'][$i]['table_coords'] = ‘pma_table_coords’;
// $cfg['Servers'][$i]['pdf_pages'] = ‘pma_pdf_pages’;
// $cfg['Servers'][$i]['column_info'] = ‘pma_column_info’;
// $cfg['Servers'][$i]['history'] = ‘pma_history’;
// $cfg['Servers'][$i]['designer_coords'] = ‘pma_designer_coords’;

去掉每行前面的//;
c.$cfg['blowfish_secret'] = ”; |修改为| $cfg['blowfish_secret'] = ‘http’;
d.$cfg['Servers'][$i]['controluser'] = ‘pma’; |把’pma’修改为你的帐号|
e.$cfg['Servers'][$i]['controlpass'] = ‘pmapass’; |把’pmapass设置为你的mysql登录密码|
f. $cfg['blowfish_secret'] = ”; | 添加短语密码例如:$cfg['blowfish_secret'] = ‘onohot’|

(转)phpMyAdmin安装、设置教程

1、先下载一份最新版的phpMyAdmin MYSQL管理器,可以到天空软件站去下载,我刚下载的是2.8.2.1的版本

  2、解压后得到一个phpMyAdmin的目录(你可以改名)

  找到目录里的config.inc.php文件(最新版的在解压得到的文件夹中找不到了,其实你可以把phpMyAdmin/libraries下的 config.default.php复制到phpmyadmin跟目录,然后把config.default.php改名为 config.inc.php)

  3、打开config.inc.php(可以用记事本等文字编辑工具)

  4、找到 $cfg['PmaAbsoluteUri'] (呵呵,按Ctrl+F就可以调出查找框了)

  修改你将上传到空间的phpMyAdmin的网址

  如:$cfg['PmaAbsoluteUri'] = 'http://www.taoliyuan.com.cn/phpmyadmin/';

  5、还有下面的

  $cfg['Servers'][$i]['host'] = 'localhost';(通常用默认,也有例外,可以不用修改)

  6、$cfg['Servers'][$i]['auth_type'] = 'config'; // Authentication method (config, http or cookie based)?

  在自己的机子里调试用config;如果在网络上的空间用cookie,这里我们既然在前面已经添加了网址,就修改成cookie ,这里建议使用cookie

  7、$cfg['Servers'][$i]['user'] = 'root'; // MySQL user(用户名,自己机里用root;在网上一般为你的ftp用户名,虚拟主机提供商会告诉你的;一般不要修改)

  8、$cfg['Servers'][$i]['password'] = ''; // MySQL password (only needed

  自己机里不用设,留空就可以了

  9、$cfg['Servers'][$i]['only_db'] = ''; // If set to a db-name, only(你只有一个数据就设置一下;如果你在本机或想架设服务器,那么建议留空)

  10、还有$cfg['DefaultLang'] = 'zh'; (这里是选择语言,zh代表简体中文的意思)

  设置完毕可以上传到网络上的空间了。

  浏览http://host/phpmyadmin/ 就可以了。

  当然你设置不同就用那个网址,这里知识举例说明。

  11、补充说明:

  其实如果你是购买的虚拟主机,那么这些工作根本不需要你来作

  之所以要设置phpmyadmin估计大家都是要架设服务器的

  如果出现“配置文件现在需要绝密的短语密码(blowfish_secret)”

  那么请在$cfg['blowfish_secret'] = ' ';的等号里面设置你网站的cookie,例如:$cfg['blowfish_secret'] = 'www.taoliyuan.com.cn';

  这是因为你的“$cfg['Servers'][$i]['auth_type'] = 'cookie'的原因。

(转)
下面我们来看看,如何使用yum命令安装phpMyAdmin预编译包。

由于CentOS软件安装源中没有phpMyAdmin软件包,我们需要为CentOS启用RPMforge源:

x86_64系统中使用, wget http://packages.sw.be/rpmforge-r ... 1.el5.rf.x86_64.rpm

rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
复制代码i386系统中使用, wget http://packages.sw.be/rpmforge-r ... 6-1.el5.rf.i386.rpm

rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
复制代码rpmforge源安装成功后,我们就可以安装phpMyAdmin了: yum install phpmyadmin
复制代码现在我们来对phpMyAdmin进行一些简单的配置。由于phpMyAdmin安装后,默认是只能从本地服务器上访问的,我们需要修改 phpMyAdmin配置文件,使得远程主机或客户端也能访问它。修改/etc/httpd/conf.d/phpmyadmin.conf,把 这个节点的配置注释掉: vi /etc/httpd/conf.d/phpmyadmin.conf



#

# Web application to manage MySQL

#



#

# Order Deny,Allow

# Deny from all

# Allow from 127.0.0.1

#



Alias /phpmyadmin /usr/share/phpmyadmin

Alias /phpMyAdmin /usr/share/phpmyadmin

Alias /mysqladmin /usr/share/phpmyadmin
复制代码然后,把phpMyAdmin的验证方式从默认的cookie方式改成http: vi /usr/share/phpmyadmin/config.inc.php



[...]

/* Authentication type */

$cfg['Servers'][$i]['auth_type'] = 'http';

[...]
复制代码好了,所有的安装配置都完成了,打开 http://192.168.0.100/phpmyadmin/ 尽情享用吧

四、所需工具下载

I.
FlashFXP
通过FlashFxp里的Sftp连接,直接连接到服务器上管理所有文件夹。
II.
putty
PuTTY 是一套免费的 SSH / Telnet 程序,它可以连接上支持 SSH Telnet 联机的站台,并且可自动取得对方的系统指纹码 (Fingerprint)。建立联机以后,所有的通讯内容都是以加密的方式传输,因此你再也不用害怕使用 Telnet 在 Internet 或公司的内部网络传输资料时被他人获知内容了!
II.
SecureCRT
SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,同时支持Telnet和rlogin协议。SecureCRT是一款用于连接运行包括Windows、UNIX和VMS的远程系统的理想工具。通过使用内含的VCP命令行程序可以进行加密文件的传输。
作者: baizx 发布日期: 2009-11-25
限制连往本机的telnet单个IP并发连接为2个,超过的连接被拒绝:
  iptables -I INPUT -p tcp --dport 23 -m iplimit --iplimit-above 2 -j REJECT
  
  2 限制连往本机的web服务,1个C段的IP的并发连接不超过100个,超过的被拒绝:
  iptables -I INPUT -p tcp --dport 80 -m iplimit --iplimit-above 100 --iplimit-mask 24 -j REJECT
作者: baizx 发布日期: 2009-11-25
CentOS 5 全功能WWW服务器搭建全教程 V3.0
一、基本系统安装
1、下载CentOS 5
我是下载的DVD版本,大家也可以下载服务器CD安装版本,其实都差不多。大家可以到这儿下载,速度很快的。
http://ftp.iasi.roedu.net/mirrors/ce...86-bin-DVD.iso
建议在windows下用BT或迅雷下载,速度会快很多。
下载后刻录成光盘。我建议你刻录DVD啦,如果是菜鸟,把图形界面也装上,可以在图形界面进行学习,当然强烈不建议在服务器上装桌面。
Centos 5系列任何一个版本就行了,安装后可以通过yum upgrade直接更新为最新版本。

2、安装CentOS 5
作为服务器,不安装不需要的组件,所以在选择组件的时候,除了选择FTP SERVER外取消所有组件的选择。也不要选web服务器。因为我们
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics