|
[トップ] [自作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
アンケート |
||
![[PyukiWiki] [PyukiWiki]](./image/pyukiwiki.png)
