2015-05-07 32 views
1

在我的bash腳本我有在CentOS 6.5以下行安裝各種Linux軟件包 - 兩個問題:Bash腳本 - 以這種方式安裝好的練習?

  • 是很好的做法,做這種方式?
  • 或者有沒有更好的方法,也許使用rpms,我該怎麼做呢?

    http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm 
    yum -y install update nano mlocate bind bind-utils php-mbstring aide psacct screen tmux iperf ipset rsync htop innotop dstat traceroute strace ltrace rkhunter nmap curl curl-devel php-pear php-xml php-devel gcc zlib-devel pcre-devel php zip unzip telnet php-imap vsftpd wget 
    yum -y install perl-DateTime-Format-HTTP perl-DateTime-Format-Builder 
    yum -y install php-pdo php-gd php-xml 
    yum -y install expect 
    rpm -Uvh --force ftp://ftp.univie.ac.at/systems/linux/fedora/epel/6/x86_64/perl-BerkeleyDB-0.43-3.el6.x86_64.rpm 
    pecl install -f zip 
    
+0

下載一個rpm然後rpm -i file.rpm' –

+1

使用'--force'基本上**從不**正確。 –

+0

另外'安裝更新'可能是不正確的,你可能看到yum抱怨'update'不是它所知道的包。 –

回答

3

首先,事情會更快,如果你只是你的所有yum命令組合成一個單一的調用:

yum -y install nano mlocate bind bind-utils \ 
    php-mbstring aide psacct screen tmux iperf ipset rsync \ 
    htop innotop dstat traceroute strace ltrace rkhunter \ 
    nmap curl curl-devel php-pear php-xml php-devel gcc \ 
    zlib-devel pcre-devel php zip unzip telnet php-imap \ 
    vsftpd wget perl-DateTime-Format-HTTP \ 
    perl-DateTime-Format-Builder php-pdo php-gd php-xml \ 
    expect 

這樣百勝只需要一次計算的依賴。

當從遠程服務器安裝RPM,可以用yum:

yum -y install ftp://ftp.univie.ac.at/systems/linux/fedora/epel/6/x86_64/perl-BerkeleyDB-0.43-3.el6.x86_64.rpm 

這將確保包裝的任何依賴關係還安裝了。

+1

此外,'yum'維護超出'rpm'維護的元數據。通過持續使用'yum',你可以訪問'yum history rollback'等東西,如果你用'rpm'安裝軟件包,這些東西將不可用。 – larsks

+0

謝謝 - 愛你的答案:) –