[トップ] [自作PC] [PCの履歴] [フリーソフト] [プロバイダー選び] [レンタルサーバー]
[ワイマックスで損しない方法] [VPS比較] [フレッツ光東西でギガビットインターネット接続] [着メロ] [MSX] [ツイッターでポイントを貯めよう!
|
||
東京電力(時分) 万kW / 万kW (.0%) 東北電力(時分) 万kW / 万kW (.4%)
関西電力(時分) 万kW / 万kW (.1%) 九州電力(時分) 万kW / 万kW (.7%) 北海道電力(時分) 4.0万kW / 3.4万kW (.0%) このはちゃんでFreeBSDを気合いでインストしてみるなの対象のバージョンは、.0-RELEASEです 初期インストールUptimeが2分秒ぐらいで終了してしまいます。何といっても、面倒なIPアドレスの入力が不要なの。 OSインストール部分を完全自動化してもいいんだけど・・・ 各種設定ファイルインストール良くわからない、pkg を自動化PACKAGESITEがどうのこうのって、ななこ、頭悪いので、よくわからないんえす。それなので、自動化してみました。 /etc/profileに当初設定しておく.0-RELEASE初期状態であれば、以下のようでよいようです。PACKAGESITE="pkghttp://pkg.freebsd.org/¥${ABI}/latest/" export PACKAGESITE おなじみの /usr/local/etc/pkg/repos/FreeBSD.confを置いておくファイルはあっても、とりあえず害はないなのFreeBSD: { url: "pkghttp://pkg.FreeBSD.org/${ABI}/latest", mirror_type: "srv", enabled: yes } パッケージの最小自動インストールPACKAGESITEの環境変数だか、よくわからなくなるので、最初から自動化をしてみるなの
#!/bin/sh
er() { /bin/sh /root/script/er.sh $1 $2 $3 $4 $5 $6 $7 $8 $9 } mkdir -p /root/script cd /root/script echo ---------------------------------------------------- echo Install pkg echo ---------------------------------------------------- er pkg update -f echo ---------------------------------------------------- echo Install svnup from pkg echo ---------------------------------------------------- er pkg install -y svnup echo ---------------------------------------------------- echo Install perl5. from pkg echo ---------------------------------------------------- er pkg install -y perl5. #ln -s /usr/local/bin/perl /usr/bin/perl echo ---------------------------------------------------- echo Install wget from pkg echo ---------------------------------------------------- er pkg install -y wget echo ---------------------------------------------------- echo Install openssl from pkg echo ---------------------------------------------------- er pkg install -y openssl echo ---------------------------------------------------- echo Install openssl from gnupg echo ---------------------------------------------------- er pkg install -y gnupg echo ---------------------------------------------------- echo Install bash from pkg echo ---------------------------------------------------- er pkg install -y bash echo ---------------------------------------------------- echo Install portmaster from pkg echo ---------------------------------------------------- er pkg install -y portmaster echo ---------------------------------------------------- echo Remove /etc/pkg /usr/local/etc/pkg.conf echo ---------------------------------------------------- rm -rf /etc/pkg/* rm -rf /usr/local/etc/pkg.conf echo ---------------------------------------------------- echo Delete PACKAGESITE echo ---------------------------------------------------- cat /etc/profile|grep -v PACKAGESITE>/tmp/profile cp /tmp/profile /etc/profile rm -f /tmp/profile conohaの大量IPアドレスを一括登録する#!/bin/sh TEMP="/tmp/ipset" TMPRCCONF="$TEMP/rc.conf" ETCRCCONF="/etc/rc.conf" TMPRESOLVCONF="$TEMP/resolv.conf" ETCRESOLVCONF="/etc/resolv.conf" TMPHOSTS="$TEMP/hosts" ETCHOSTS="/etc/hosts" CONFLIST="/usr/local/etc/apache/httpd.conf /usr/local/etc/apache/Includes/vhosts.conf /usr/local/etc/nginx/nginx.conf" er() { /bin/sh /root/script/erexec.sh $1 $2 $3 $4 $5 $6 $7 $8 $9 } if test "$1" = ""; then echo $0 hostname exit fi mkdir -p $TEMP cd $TEMP cat < そして、定義ファイルはこんな感じで DOMAIN example.jp SERVERNAME sv1.example.jp FAKESVNAME www.example.jp WEBMASTER ADMINEMAIL NAMESERVER 7.7.0.3 NAMESERVER 0.7.3.4 NAMESERVER 8.8.8.8 NAMESERVER 8.8.4.4 APACHEPORT APACHESSLPORT 3 SSHPORT IPV4GW 7.7.?.? IPV6GW ::?:?::1 IPV4_vtnet0 7.7.?.?/5.5.4.0 v4.sv1.conoha,sv1,0.sv1,1.sv1,2.sv1,3.sv 1,4.sv1,5.sv1,6.sv1,7.sv1,8.sv1,9.sv1,a.sv1,b.sv1,c.sv1,d.sv1,e.sv1,f.sv1 IPV6_vtnet0 :::2:7:7:5:2/ v6.sv1.conoha,sv1 IPV6_vtnet0 :::2:a7:?:?:?0/ 0.v6.sv1.conoha,0.sv1 IPV6_vtnet0 :::2:a7:?:?:?1/ 1.v6.sv1.conoha,1.sv1 IPV6_vtnet0 :::2:a7:?:?:?2/ 2.v6.sv1.conoha,2.sv1 IPV6_vtnet0 :::2:a7:?:?:?3/ 3.v6.sv1.conoha,3.sv1 IPV6_vtnet0 :::2:a7:?:?:?4/ 4.v6.sv1.conoha,4.sv1 IPV6_vtnet0 :::2:a7:?:?:?5/ 5.v6.sv1.conoha,5.sv1 IPV6_vtnet0 :::2:a7:?:?:?6/ 6.v6.sv1.conoha,6.sv1 IPV6_vtnet0 :::2:a7:?:?:?7/ 7.v6.sv1.conoha,7.sv1 IPV6_vtnet0 :::2:a7:?:?:?8/ 8.v6.sv1.conoha,8.sv1 IPV6_vtnet0 :::2:a7:?:?:?9/ 9.v6.sv1.conoha,9.sv1 IPV6_vtnet0 :::2:a7:?:?:?a/ a.v6.sv1.conoha,a.sv1 IPV6_vtnet0 :::2:a7:?:?:?b/ b.v6.sv1.conoha,b.sv1 IPV6_vtnet0 :::2:a7:?:?:?c/ c.v6.sv1.conoha,c.sv1 IPV6_vtnet0 :::2:a7:?:?:?d/ d.v6.sv1.conoha,d.sv1 IPV6_vtnet0 :::2:a7:?:?:?e/ e.v6.sv1.conoha,e.sv1 IPV6_vtnet0 :::2:a7:?:?:?f/ f.v6.sv1.conoha,f.sv1 IPV4_vtnet1 .0.0./5.0.0.0 local0.sv1 カーネルビルダーconfigだけつくるの#!/usr/bin/perl $arch=`/usr/bin/uname -m`; $arch=~s/[¥r|¥n]//g; $generic="GENERIC"; $name=$ARGV[0]; if($name eq "") { print "Usage : $ARGV[0] kernel_name¥n"; exit; } &main($name); sub main { my($name)=@_; # GENERICカーネルのコンフィグ読み込み my $fh=&safe_open("/usr/src/sys/$arch/conf/$generic"); my $buf; foreach(<$fh>) { # 整形して、コメントをカットする # next if(/¥t(^#)/); while(/¥t¥t/) { s/¥t¥t/¥t/g; } s/¥t#/#/g; s/#.*//g; # カーネル名の設定 if(/(^ident)/) { s/GENERIC/$name/g; } # メイン部分の削除 next if(/¥t(DEBUG=)/); next if(/¥t(MD_ROOT)/); next if(/¥t(NFSD)/); next if(/¥t(NFS_ROOT)/); next if(/¥t(MSDOSFS)/); next if(/¥t(CD)/); next if(/¥t(GEOM_RAID)/); next if(/¥t(COMPAT)/); next if(/¥t(MAC)/); # フロッピーディスクドライブの削除 next if(/¥t(fdc)/); # サードパーティのATAコントローラーの削除 next if(/¥t(mvc)/); next if(/¥t(siis)/); # SCSIコントローラの削除 next if(/¥t(ahc|AHC)/); next if(/¥t(ahd|AHD)/); next if(/¥t(esp|hptiop|isp|mpt|mps|ncr|sym|trm|adv|adw|aic|bt|isci)/); # SCSIの不要なコントローラの削除 next if(/¥t(sa|cd|pass|ses|ctl)/); # RAIDコントローラの削除 next if(/¥t(amr|arcmsr|asr|ciss|dpt|hpt|iir|ips|mly|twa|tws)/); next if(/¥t(aac|aacp|aacraid|ida|mfi|mlx|pst|twe)/); # PS/2マウス、画面の不要なものの削除 next if(/¥t(psm|splash|SC_PIXEL_MODE)/); # PCMCIA/PCCARDの削除 next if(/¥t(cbb|pccard|cardbus)/); # RS2C/パラレルポートの削除 next if(/¥t(uart|ppc|ppbus|lpt|ppi|vpo|puc)/); # イーサーネットコントローラの削除 (de emは残す) next if(/¥t(bxe|igb|ixgbe|le|ti|txp|vx)/); # miibusイーサーネットコントローラの削除 next if(/¥t(miibus|ae|age|alc|ale|bce|bfe|bge|cas|dc|et|fxp|gem)/); next if(/¥t(hme|jme|lge|msk|nfe|nge|nve|pcn|re|rl|sf|sge|sis|sk)/); next if(/¥t(ste|stge|tl|tx|vge|vr|wb|xl)/); next if(/¥t(cs|ed|ex|ep|fe|sn|xe)/); next if(/¥t(wlan|IEEE|an|ath|AH_SUPPORT|ATH|AH_AR|bwi|bwn|ipw|iwi|iwn)/); next if(/¥t(malo|mwl|ral|wi|wpi)/); next if(/¥t(padlock_rng|rdrand_rng|vlan|tun|md|gif|faith|firmware)/); next if(/¥t(USB_DEBUG|uhci|ohci|ehci|xhci|usb|ukbd|umass)/); next if(/¥t(sound|snd)/); next if(/¥t(mmc|sdhci)/); next if(/¥t(virtio|vtnet|hyperv|XEN|xen|vmx)/); $buf.=$_; } while($buf=~/¥t¥t/) { $buf=~s/¥t¥t/¥t/g; } while($buf=~/¥t¥n/) { $buf=~s/¥t¥n//g; } while($buf=~/¥n¥n/) { $buf=~s/¥n¥n/¥n/g; } $buf.=< addconf.sh#!/bin/sh # /etc/rc.conf に追記する # sendmailを無効にする cat < hypervが入っているのは、ご愛嬌なの。 Windows 8.1 Pro があれば、Hyper-Vで簡単にローカルでテストできるしね。 er.sh#!/bin/sh er() { STATS="1" while [ "$STATS" = "1" ] do $1 $2 $3 $4 $5 $6 $7 $8 $9 if [ "$?" = "0" ]; then STATS="0" else PWD=`pwd` echo "Error : $1 $2 $3 $4 $5 $6 $7 $8 $9" echo "(pwd : $PWD)" echo -n "About[A] / Retry[R] / Ignore[I] : " read test if [ "$test" = "a" ]; then exit fi if [ "$test" = "i" ]; then STATS="0" echo fi if [ "$test" = "i" ]; then echo fi fi done } echo "==>$1 $2 $3 $4 $5 $6 $7 $8 $9" er $1 $2 $3 $4 $5 $6 $7 $8 $9 アンケート |
||