免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 670 | 回复: 0
打印 上一主题 下一主题

和我一起用Linux [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-05-02 17:18 |只看该作者 |倒序浏览
这是一个系列文章,简单地说就是纪录我每天作了些什么吧,
前面是过程和所感,后面是所使用到的资料
这是一个系列文章,简单地说就是纪录我每天作了些什么吧,
前面是过程和所感,后面是所使用到的资料
系统配置:
k6 200 cpu
VIA mainbord
32M SDram
3G HD
PCI 8029 network card
Apr 1 装好rh8.0,
Apr 2 对系统进行了初步的配置
1:内核从2.4.18升级到  2.4.20,编译了3次,每次平均30分钟
    不加载任何模块。前两次均是找不到8029的网卡,最后发现8029
    得用 another ISA 里的 ne2000 才行。想不通怎么跑到ISA里面去了。
    使用新内核后,内存使用量减少5M
2,装了个pure-ftpd
    交大的ftp大多用它,可控制性很强,cpu占用率也较小,基本上还是IDE硬盘太耗cpu
    资源了,不是ftpd的错
3,使用setup 关闭了不需要的服务。明天再把它们从系统彻底删除
    发现好多服务都是不需要的。
内核编译的流程
编译开始----- make mrproper;检查所需的连接
配置核心
编译核心
编辑/etc/lilo.conf
重新启动新核心
重新启动机器
#cd /usr/src
tar xjvf linux-2.4.20.tar.bz2
#rm -f linux
#ln -s linux-2.4.20 linux
确保/usr/include/目录下的asm、linux和scsi等链接是指向要升级的内核源代码的。它
们分别链向源代码目录下的真正的、该计算机体系结构(对于PC机来说,使用的体系结
构是i386)所需要的真正的include子目录。如:asm指向/usr/src/linux/include/asm
-i386等。若没有这些链接,就需要手工创建,按照下面的步骤进行:
    # cd /usr/include
    # rm -r asm linux scsi
    # ln -s /usr/src/linux/include/asm-i386 asm
    # ln -s /usr/src/linux/include/linux linux
    # ln -s /usr/src/linux/include/scsi scsi
配置内核可以根据需要与爱好使用下面命令中的一个:
具体的配置比较麻烦,但常用的选项看看饮水思源的精华区还是很清楚的
#make menuconfig(基于文本选单的配置界面,字符终端下推荐使用,必须安装ncurse
s-dev和tk4-dev库)
#make xconfig(基于图形窗口模式的配置界面,Xwindow下推荐使用)
#make oldconfig(如果只想在原来内核配置的基础上修改一些小地方,会省去不少麻烦

编译有关的命令有如下几个:
#make dep
#make clean
#make bzImage
______________________________
编译模块才需要以下步骤
#make modules
#make modules_install
#depmod -a
______________________________
第一个命令make dep实际上读取配置过程生成的配置文件,来创建对应于配置的依赖关
系树,从而决定哪些需要编译而那些不需要;
第二命令make clean完成删除前面步骤留下的文件,以避免出现一些错误;
第三个命令make zImage实现完全编译内核
为了能够使用新版本的内核,还需要做一些改动:
    #cp /usr/src/linux/System.map /boot/System.map-2.2.16
    #cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.2.16
以上这两个文件是刚才编译时新生成的。下面修改/boot下的两个链接System.map和vml
inuz,使其指向新内核的文件:
    #cd /boot
    #rm -f System.map vmlinuz
    #ln -s vmlinuz-2.2.16 vmlinuz
    #ln -s System.map-2.2..16 System.map
然后修改 /etc/lilo.conf, 照着原来的image = XXXXX来加上
image = /bzImage
  root = /dev/hda1 (这里视你的LINUX安装而定, 照你原有的改)
  label = linux
  read-only
把原来的 label = linux 改一下, 如 label = oldlinux.
把image = /bzImage 这一节加在原来的前面, 这样会自动作为缺省的核心. 你也可以在
LILO时打linux或oldlinux来启动不同的核心. 关于这一段, 也可以参考俺前面的"ALS00
7
发声经过".
最后, 切记切记, 一定要打个lilo来重新生成LILO程序.
#lilo
安裝配置PureFTPD
简单的就是 tar xzvf pure-ftpd-**.tar.gz
#cd pure*/gui
#./build.sh
#/usr/local/sbin/pure-ftpd &
具体的看下面这一篇
  我比較建議是去他的官方網站抓
    新版的(
http://www.pureftpd.org/
.我用的是1.0.12版.用起來還不錯
    用.
    以往我都是懶人安裝法.到ports目錄下打make install clean.完成!!
    後來.發現用ports裝並不能將pure-ftpd的強大顯現出來.(其實是舊版
    fxp支援上有問題...:~~)所以...難得...這麼懶的我.就用source裝了.
    廢話了好多.:D
    A。把抓下來的source解開.(建議解在/tmp下)
    #tar zxvf pure-ftpd-1.0.12.tar.gz
        如果閒閒沒事做.可以看看裡面的README.* 很值得看.如果你有什
        麼特殊需求的話.也可以直接在裡面去找.應該是可以找到你要的東
        西.(Ex: LDAP.MySQL.Virtual.......)
    B。開始準備依妳的意願做出你想要的ftp-server.
    #./configure --with-paranoidmsg --with-sysquotas --with-puredb  
      --with-altlog --with-throttling --with-ratios --with-ftpwho  
      --with-welcomemsg --with-uploadscript --with-largefile  
      --with-virtualhosts --with-virtualchroot --with-diraliases  
      --with-quotas --with-peruserlimits --with-language=traditional-chinese
        在README中[ADVANCED COMPILATION]的段落中有對於上面的使用有
        詳細說明.在這邊我只對常用做簡略的解釋.
        --without-standalone
            不能以standalone的方式執行ftpd.
        --without-inetd
            不能以inetd的方式執行ftpd.
        --without-iplogging
            做log時不將IP Adress給log下來.
        --without-shadow
            不做shadow.除非O用PAM, LDAP or SQL.不然極不建議拿掉.
        --without-usernames
            檔案列表只會列出UID & GID,不列出實際user or group name.
        --without-humor
            嘿嘿嘿....
        --without-ascii
            不支援7-bits transfers(ASCII).
        --with-paranoidmsg
            唔....不知該怎麼說.算是可以給特定人的訊息吧.
        --with-sysquotas
            吃系統的quota設定.
        --with-minimal
            最小化安裝...:Q
        --with-pam
        --with-puredb
        --with-ldap
        --with-mysql
        --with-pgsql
            以上五種都是存儲資料的格式?!(算吧?!).看你比較習慣什麼.
            我是比較喜歡用puredb.
        --with-altlog
            留log拉....
        --with-cookie
            使用者進站看到的東西.類似進站畫面.
        --with-ratios
            上下傳比.
        --with-throttling
            頻寬可設限.
        --with-ftpwho
            可用pure-ftpwho來看線上使用者.像是Serv-u的線上狀態.
        --with-uploadscript
            當一個檔案被完整上傳完後自動呼叫某一script去對這個檔案
            處理.當然.這個script得你自己寫.
        --with-largefile
            支援下載超過2G的file.
        --with-virtualhosts
            跟http的virtualhost有異曲同工之妙.
        --with-virtualchroot
            配合上面的chroot.
        --with-diraliases
            跟Serv-U上面的link功能一樣.
        --with-nonroot
            不需root權限.一般user即可啟動ftpd.
        --with-quotas
            使用quota.(非系統下的quota)
        --with-peruserlimits
            enable per-user concurrency limits.Avoid this on
            very loaded servers.(太難翻了)
        --with-everything
            所有功能全上.
        --with-language=traditional-chinese
            顯示出來的msg的語言.default=english.
            (意外的發現.在config.h中作者以為大陸用traditional-chinese
             台灣用simplified-chinese.Anyway..不影響)
    C.好了就準備安裝上去吧!!:DD
    #make ; make check ; make install
    D.把一些東西搬到該該放的位置.
    #chmod 755 configuration-file/pure-config.pl
    #cp configuration-file/pure-config.pl /usr/local/sbin/
    #cp configuration-file/pure-ftpd.conf /usr/local/etc/
    -------OK.PureFTPD就降裝完了
        pure-ftpd.conf的設定
        *在上一次,我們有把PureFTPD的default設定檔(pure-ftpd.conf)cp一
          份在/usr/local/etc/下.(其實哪都可以,只是我習慣).比較建議再cp
          一份叫pure-ftpd.xxx.conf(如果你要跑多支ftpd的話.xxx部分可以自
          由替代成你要的名字.方便就好).開始編輯pure-ftpd.xxx.conf摟.
        #vim pure-ftpd.xxx.conf (看你喜歡用什麼編輯器.自己選用)
####pure-ftpd.xxx.conf#######
ChrootEveryone                  yes
TrustedGID                      50
#以上兩者要一起用
BrokenClientsCompatibility      no
MaxClientsNumber                999
#最大連線數
Daemonize                       yes
#Fork in background
MaxClientsPerIP                 5
#每個ip最多連線數
VerboseLog                      no
#是否要把所有client端的指令都log下來
DisplayDotFiles                 no
#顯示.開頭的檔案
AnonymousOnly                   no
#是否只讓匿名登入
NoAnonymous                     yes
#不開放匿名登入
SyslogFacility                  ftp
DontResolve                     yes
#不反解client的ip
MaxIdleTime                     5
#最大閒置時間
PureDB                          /ftp/etc/pureftpd.pdb
#使用者資料的DB存放地點 [由於我是用PureFTPD的內建DB.固有此選項]
UnixAuthentication              yes
#如果你想要有簡單的Unix(/etc/passwd)的認證的話
LimitRecursion                  1000 3
#ls最多list出1000個檔案.最深3層
MaxLoad                         4
#當system load超過4時.使用者將不能再下載
AntiWarez                       no
#上傳的檔案不能被Download(owner is ftp).等到local admin確認
Bind                            21
#要Bind住哪個ip/port
#格式-> 127.0.0.1,21 如果只寫port表All ip,port
Umask                           133:022
#上傳檔案的Umask.(:)
MinUID                          1000
# UID至少多少才能登入
AllowUserFXP                    yes
#支不支援FXP
ProhibitDotFilesWrite           no
ProhibitDotFilesRead            no
#.開頭的檔案能不能被讀寫
AutoRename                      no
#上傳檔案若有相同檔名自動改名(file.1,file.2...)
TrustedIP                       10.1.1.1
#鎖IP拉.
AltLog                          stats:/ftp/etc/log/pureftpd.log
#log存放地點
NoChmod                         yes
#不給Chmod指令的權限
KeepAllFiles                    yes
#使用者可續傳.但不可刪除檔案
CreateHomeDir                   no
#如果user的home不存在自動建立
PIDFile                         /ftp/etc/log/pure-ftpd.pid
#紀錄pure-ftpd的PID檔
Quota                           1000:10
#
CallUploadScript                yes
#呼叫UploadScript
MaxDiskUsage                    99
#當硬碟使用率到多少時將停止上傳
NoRename                        yes
#不給改檔名
PerUserLimits                   3:20
#
#############################
    -----------------------------------------------------------
    建立帳號
    有了ftp.理所當然得也要有帳號才行.
    #vipw
    ftpuser:$1$rEO39XEq$kRMKuch12ugYu3hCh/sPA.:9999:9999::0:0:ftp:/ftp:
    /sbin/nologin
    #vim /etc/group
    ftpgroup:*:9999:
    上面是ftp client以什麼身分登入.
    接下來我想要把pure-ftpd要吃的密碼檔選個地方放.我是選擇放在/ftp/etc/下
    #pure-pw far -f pureftpd.ps -u 9999 -g 9999 -d /ftp/far -y 2
    #pure-pw mkdb pureftpd.pdb -f pureftpd.ps
     
    useradd  [-f ] -u  [-g ]
                    -D/-d  [-c ]
                    [-t ] [-T ]
                    [-n ] [-N ]
                    [-q ] [-Q ](上下傳比)
                    [-r /] [-R /]

                    [-i /] [-I /]
                    [-y ]
                    [-z -](可登入時間24hr制) [-m]
    pure-pw usermod  -f  -u  [-g ]
                    -D/-d  -[c ]
                    [-t ] [-T ]
                    [-n ] [-N ]
                    [-q ] [-Q ]
                    [-r /] [-R /]

                    [-i /] [-I /]
                    [-y ]
                    [-z -] [-m]
    pure-pw userdel  [-f ] [-m]
    pure-pw passwd   [-f ] [-m]
    pure-pw show     [-f ]
    pure-pw mkdb    [ [-f ]]
    -d  : chroot user (建議值)
    -D  : don't chroot user
    -y 0 : 同時最多連線數不限
    -m : 同時更新/etc/pureftpd.pdb檔.(如果PureDB不放置在此的請不要加)
    For a 1:10 ratio, use -q 1 -Q 10
    To allow access only between 9 am and 6 pm, use -z 0900-1800
    ****************************************************************
    關於檔案權限部份.(需要將可Upload的使用者改成ftpuser:ftpgroup.可
    下載的檔案權限也要是644)
    #chown -R ftpuser:ftpgroup Upload/
    ------------------------------------------------------------------
    啟動
    到/usr/local/bin/rc.d/下編輯一個pure-ftpd.sh
#############################
#!/bin/sh
case "$1" in
        start)
                if [ -f /usr/local/etc/pure-ftpd.xxx.conf ]; then
                        /usr/local/sbin/pure-config.pl /usr/local/etc/pure-
ftpd.xxx.conf > /dev/null 2>&1 && echo -n 'pure-ftpd Begin!'
                fi
                ;;
        stop)
                /usr/bin/killall pure-ftpd > /dev/null 2>&1 && echo -n
'pure-
ftpd Stop!'
                ;;
        *)
                echo ""
                echo "Usage: `basename $0` { start | stop }"
                echo ""
                exit 64
                ;;
esac
#############################
    #chmod +x pure-ftpd.sh
    #./pure-ftpd.sh start
    ok...開始測試看看吧
    ftp xxx.far2.net 21
    Connected to ftp.far2.net.
    220-=()=-.:. (( 歡迎來到 PureFTPd 1.0.12 )) .:.-=()=-
    220-您是第 48 個使用者,最多可達 999 個連線
    220-現在本地時間是 19:52 負載是 1.37。伺服器埠口: 21。
    220-這是私用系統 - 不開放匿名登入
    220 在 5 分鐘內沒有活動,您被會斷線。
    Name (xxx.far2.net:far):far
    331 使用者 far OK. 需要密碼.
    Password:
    230-使用者 far 有群組存取於:  ftpgroup
    230-這個伺服器支援FXP傳輸
    230 OK. 目前限制的目錄是 /
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp>
    當你看到以上訊息時.恭喜你.你已經成功的架起一個ftp了.:)
    --------------------------------------------------------------------
    是不是很簡單呢.現在你可以好好享用你的FTP Server了.:)
    --------------------------------------------------------------------
    ps.如果你是大型ftp站.PureFTPD下面有幾點建議.
    * Compile with :
    #env CFLAGS="-O2 -fomit-frame-pointer -fgcse -Os"
    #./configure --with-minimal --without-inetd --without-pam
    #make install-strip
    -=特殊功能都不要加.以減輕Server負擔=-
    *用standalone的模式去啟動.不要打開pure-ftpwho & pure-uploadscript
      & per-userlimits 的選項
    -=因為那幾個都是很吃系統資源的工具=-
     
    *編輯/etc/fstab, 對所有filesystems的options增加",noatime"
    *在/boot/loader.conf裡增加以下兩行
      hw.ata.wc="1"
      kern.ipc.nmbclusters="60000"
    *在/etc/sysctl.conf裡增加
      vfs.vmiodirenable=1
      kern.ipc.maxsockbuf=2097152
      kern.ipc.somaxconn=8192
      kern.ipc.maxsockets=16424
      kern.maxfiles=65536
      kern.maxfilesperproc=32768
      net.inet.tcp.rfc1323=1
      net.inet.tcp.delayed_ack=0
      net.inet.tcp.sendspace=65535
      net.inet.tcp.recvspace=65535
      net.inet.udp.recvspace=65535
      net.inet.udp.maxdgram=57344
      net.local.stream.recvspace=65535
      net.local.stream.sendspace=65535
      求一下土地公.讓你等一下不用跑機房.然後reboot.重開機後就大工告成.

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/6569/showart_24226.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP