約 1,807,736 件
https://w.atwiki.jp/lud-p/pages/22.html
jail fulltree 9.0-Release jail fulltree 9.0-Release mainte 用 jail fulltree の構築 base バイナリの構築 jail fulltree の初期設定 jail fulltree の稼動 自動起動設定 jail fulltree の整備 portsnap で ports の更新 portsの自動メンテナンス ports メンテナンス結果のメール送信 pkg_replace のインストール portconf のインストール portaudit のインストール portaudit 脆弱性チェック結果のメール送信 sendmail の設定 freebsd-update 自動更新設定 資料 アーカイブ 関連ページ FreeBSD 9.0-Releaseにjail fulltreeを導入した時の備忘的まとめです 今後、このfulltreeを使用して minitree を作成していきます jail fulltree 8.2-Release (i386+512M) mainte jail fulltree 8.1-RELEASE common jailstp 以上のサイトを参考にさせていただいております 基本的にはwirednoize様のmainte jail fulltree のそのままです ですので、詳細はmainte jail fulltree 8.1-RELEASEを参照してください mainte 用 jail fulltree の構築 HOST環境での作業 base バイナリの構築 ftp サーバよりrelease/baseファイルを取得して、jail環境を構築します base バイナリ展開用ディレクトリを作成します # mkdir /tmp/base # cd /tmp/base base.txzを取得します日本のミラーサーバは数字なし[ftp]と2-9の番号つき[ftp2]~[ftp9]がありますので、適宜変更してください # fetch ftp //ftp.jp.freebsd.org/pub/FreeBSD/releases/amd64/9.0-RELEASE/base.txz jail fulltree 用ディレクトリを作成しますzfs でディレクトリを切り分けます # zfs create tank0/jail # zfs create -o mountpoint=/home/mainte90 tank0/jail/mainte90 base バイナリを展開します # cat base.txz | tar --unlink -xpJf - -C /home/mainte90 ↑ jail fulltree の初期設定 設定のため、起動させます # mount -t devfs devfs /home/mainte90/dev # jail /home/mainte90 test.localdomain 192.168.100.90 /bin/tcsh JAIL環境での作業 起動時の警告を抑制するため、空の/etc/fstabファイルを作成します # touch /etc/fstab sendmailの警告を抑制するため/etc/mail/aliases.dbを生成します # newaliases rc.confの設定をします # vi /etc/rc.conf network_interface="" rpcbind_enable="NO" inet_enable="NO" syslogd_flags="-ss" sshd_enable="NO" sendmail_enable="NO" sendmail_submit_enable="NO" sendmail_outbound_enable="NO" sendmail_msp_queue_enable="NO" resolv.conf の設定をします # echo nameserver 192.168.1.1 /etc/resolv.conf root のログインシェルを変更しますjexec を使用して jail fulltree に入るので ログインシェルを無しにします # vipw root 0 0 0 0 Charlie /root /usr/sbin/nologin toor * 0 0 0 0 Bourne-again Superuser /root /usr/sbin/nologin 上記2行のみ変更 タイムゾーンを変更します # cp -p /usr/share/zoneinfo/Asia/Tokyo /etc/localtime crontab を編集します # vi /etc/crontab # SHELL=/bin/sh PATH=/etc /bin /sbin /usr/bin /usr/sbin HOME=/var/log # #minute hour mday month wday who command 1 0 * * * root newsyslog その他は削除 newsyslog を編集します # vi /etc/newsyslog.conf # logfilename [owner group] mode count size when flags [/pid_file][sig_num] /var/log/all.log 600 7 * @T00 - その他は削除 ログを設定します # echo *.* /var/log/all.log /etc/syslog.conf # touch /var/log/all.log # chmod 600 /var/log/all.log /etc/hosts.allowをすべて拒否に変更します # echo ALL ALL deny /etc/hosts.allow /etc/make.confを設定しますX等のグラフィック関係、IPV6など使用しないものを無効にし、マルチバイト関数はないとハマルとのことSUPHOST と MASTER_SITE_OVERRIDE は、CVSup サイト一覧 と ftp サイト一覧 から日本のサイトを選択WRKDIRPREFIX と DISTDIR の設定は、/usr/ports ディレクトリをを綺麗にしておくのに必須とのこと最適化のためCPUTYPE CFLAGS COPTFLAGS を設定/usr/share/example/etc/make.confと/usr/share/mk/bas.cpu.mkを参考にCPUTYPEをnoconaに設定しました # vi /etc/make.conf WITHOUT_X11=yes WITHOUT_GUI=yes NO_X=true WITHOUT_IPV6=yes WITH_MBSTRING=yes SUPHOST=cvsup3.jp.freebsd.org MASTER_SITE_OVERRIDE=ftp //ftp3.jp.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR} WRKDIRPREFIX=/tmp DISTDIR=/tmp/distfiles CPUTYPE=nocona CFLAGS= -O2 -fno-strict-aliasing -pipe COPTFLAGS= -O2 -fno-strict-aliasing -pipe Jail環境での作業を終了します # exit ↑ jail fulltree の稼動 HOST環境での作業 自動起動設定 jail共通起動停止シェルスクリプトの設置jail共通起動停止シェルスクリプトから最新の common_Njailstp.file.?.?.gz をダウンロードします解凍して common_Njailstp.file にファイル名を変更後、/usr/local/etc/rc.d におきます 自動起動用スクリプトの設定 # vi /usr/local/etc/rc.d/mainte90_jail.sh #!/bin/sh #--------------------------------------- Jid="90" Secu="-1" NtwkIF="lo0" HsFQDN="mainte90.localdomain" IPAdrs="192.168.1.90" BDcast="192.168.1.90" NTmask="255.255.255.255" PsName="mainte90" ChRoot="/home/$PsName" MTdpnf="$ChRoot/dev /tmp/$PsName/tmp $ChRoot/tmp" #---------------------------------------------------------------------- BFsrtJ="/bin/mkdir -p /tmp/$PsName/tmp/distfiles /bin/chmod 1777 /tmp/$PsName/tmp" /sbin/mount -t zfs tank0/ports /home/$PsName/usr/ports" AFsrtJ="" BFstpJ="jexec Jid /bin/sh /etc/rc.shutdown" AFstpJ="/bin/rm -rf /tmp/$PsName" Jstcom="/bin/sh /etc/rc" #--------------------------------------- . /usr/local/etc/rc.d/common_Njailstp.file jailstartop $1 実行権限付与 chmod u+x /usr/local/etc/rc.d/mainte90_jail.sh 起動・停止 /usr/local/etc/rc.d/mainte90_jaile.sh start /usr/local/etc/rc.d/mainte90_jaile.sh stop ↑ jail fulltree の整備 maintenance 用 jail fulltree を起動します # /usr/local/etc/rc.d/mainte90_jail.sh start # jexec 90 /bin/tcsh portsnap で ports の更新 JAIL環境での作業 portsnap を起動して ports の更新をします初回 # portsnap fetch portsnap extract portsnap update 2回目以降 # portsnap fetch portsnap update ↑ portsの自動メンテナンス portsnap fetch の代わりに portsnap cron を使ったスクリプトを記述します portsnap の実行ログを保存します 後で、ログローテーションの対象にするので、ひたすら追記書きさせます portsnap を cron で流して ports の自動更新をします。 portsnap の自動更新スクリプト # mkdir /root/update # cd /root/update # vi ports_update_cron.sh #!/bin/sh LogFile="/var/log/ports_update.log" echo "### `date` ###" $LogFile /usr/sbin/portsnap cron $LogFile 2 1 /usr/sbin/portsnap update $LogFile 2 1 echo "### `date` ###" $LogFile portsnap の手動更新スクリプト # vi port_update.sh #!/bin/sh /usr/sbin/portsnap fetch /usr/sbin/portsnap update 実行権の付与 # chmod u+x ports_update.sh ports_update_cron.sh crontab の設定適当な頻度で ports の自動更新が走るように設定を追記します vi /etc/crontab # portsnap ports_update 1 9 * * 1,4 root /root/update/ports_update_cron.sh /dev/null 2 1 ログローテーション設定portsnap のログローテーション設定を 追記します vi /etc/newsyslog.conf # logfilename [owner group] mode count size when flags [/pid_file][sig_num] /var/log/all.log 600 7 * @T00 - /var/log/ports_update.log 600 7 1 * N ↑ ports メンテナンス結果のメール送信 ports 更新の有無を簡単に知る為に、定期的に portversion のコマンド結果をメールで送信します mail コマンドを使ってメールを送信するスクリプト # vi portvermail.sh #!/bin/sh #------------------------------------------ MailTO="root" MilTmp=/tmp/pkgversion.txt MilHed="mainte pkg version list" #------------------------------------------ echo $MilHed $MilTmp echo "" $MilTmp /usr/sbin/pkg_version -v $MilTmp cat $MilTmp | /usr/bin/mail -s "$MilHed" $MailTO 実行権の付与 chmod u+x portvermail.sh ports_update_cron.sh へ追加 echo /root/update/portvermail.sh ports_update_cron.sh ↑ pkg_replace のインストール ports の更新やインストールに pkg_replace を入れます ports からインストールとハッシュテーブルの再構築 # cd /usr/ports/ports-mgmt/pkg_replace # make install clean # rehash ↑ portconf のインストール portをインストールする際の設定をmake install でも同じくするためのツールだそうです pkg_replace コマンドでインストールします。 # pkg_replace -vcCN ports-mgmt/portconf ↑ portaudit のインストール ports ソフトウェアの脆弱性をチェックします pkg_replace コマンドでインストールします。 # pkg_replace -vcCN ports-mgmt/portaudit 脆弱性のチェック # /usr/local/sbin/portaudit -Fda ↑ portaudit 脆弱性チェック結果のメール送信 毎日 portaudit のチェック結果をメールで報告させます mail コマンドを使ってメールを送信するスクリプトを記述します #cd /root/update #vi portauditmail.sh #!/bin/sh RanDOM=`jot -r 1 1 1800` /bin/sleep $RanDOM #------------------------------------------ MailTO="root" MilTmp="/tmp/portaudit.txt MilHed="portaudit report" #------------------------------------------ echo $MilHed $MilTmp echo "" $MilTmp /usr/local/sbin/portaudit -Fdav $MilTmp cat $MilTmp | /usr/bin/mail -s "$MilHed" $MailTO 実行権の付与 chmod u+x portauditmail.sh crontab の設定適当な頻度で ports の自動更新が走るように設定を追記します vi /etc/crontab # portaudit 1 5 * * * root /root/update/portauditmail.sh /dev/null 2 1 ↑ sendmail の設定 結果メールを送信する為に sendmail を起動し、送信後に sendmail を止めるスクリプトを作成します 全拒否の hosts.allow # vi /root/update/hosts.allow_deny ALL ALL deny sendmail許可の hosts.allow # vi /root/update/hosts.allow_mail sendmail localhost allow sendmail 192.168.1.90 allow sendmail .localdomain allow ALL ALL deny sendmail 完全停止用の rc.conf cp /etc/rc.conf rc.conf_none sendmail 起動用の rc.conf現在の /etc/rc.confを流用します # cp /etc/rc.conf rc.conf_mail # sed -i -e "/^sendmail_/d" /root/update/rc.conf_mail # echo sendmail_enable="NO" /root/update/rc.conf_mail メールの転送設定 echo admin@localdomain /root/.forward メール送信シェルスクリプトの作成# vi resend.sh #!/bin/sh cp -p /root/update/rc.conf_mail /etc/rc.conf cp -p /root/update/hosts.allow_mail /etc/hosts.allow sh /etc/rc.sendmail start sleep 6 sh /etc/rc.sendmail stop sleep 4 pkill sendmail cp -p /root/update/hosts.allow_deny /etc/hosts.allow cp -p /root/update/rc.conf_none /etc/rc.conf 実行権付与 # chmod u+x resend.sh portvermail.sh の変更メール送信シェルスクリプトの起動を追記します echo /root/update/resend.sh /root/update/portvermail.sh portauditmail.sh の変更メール送信シェルスクリプトの起動を追記します echo /root/update/resend.sh /root/update/portauditmail.sh ↑ freebsd-update 自動更新設定 freebsd-updateがディレクトリ指定で updateできるようなのでその機能を利用します Jail環境での作業を終了します # exit HOST環境での作業 freebsd-updateスクリプトの設定freebsd-update fetch の代わりに freebsd-update cron という cron 動作用のコマンドを使用しますまた HOST は cron(fetch) のみ jail は install まで行います # mkdir /root/update # cd /root/update # vi freebsd-update_cron.sh #!/bin/sh ### HOST用 /usr/sbin/freebsd-update cron #/usr/sbin/freebsd-update install ### mainte jail用 /usr/sbin/freebsd-update -b /home/mainte90 -d /home/mainte90/var/db/freebsd-update fetch /usr/sbin/freebsd-update -b /home/mainte90 -d /home/mainte90/var/db/freebsd-update install 実行権付与 chmod u+x freebsd-update_cron.sh crontab の設定適当な頻度で freebsd-update が起動するように追記します vi /etc/crontab # freebsd-update 0 6 * * 2,4,6 root /root/freebsd-update_cron.sh /var/log/freebsd-update.log 2 1 freebsd-update の結果をメール送信freebsd-update cron が実行されて何らかのアップデートがあった場合、ローカルの root 宛にメールを出してくれる機能が組み込まれているので、特別な作業はありません メールの転送設定ローカルのroot宛にメールを出してくれるので、普段使うアドレスへ転送する設定をします echo admin@localdomain /root/.forward 資料 アーカイブ mainte jail fulltree 8.1-RELEASE (2011-09-10 15 15 28) common jailstp (2012-09-05 13 54 52) ↑ 関連ページ ↑ 名前 コメント
https://w.atwiki.jp/mtgflavortext/pages/3109.html
"Zeki sails with a dead crew not out of villainy, but pragmatism." ――Baron Sengir ホームランド "Corpses for crew don't sit well with me. Zeki and his dead ship had best keep their distance." ――Joskun, An-Havva Constable ホームランド 押し寄せる波のように無慈悲で、その魂は月のない夜のように真っ暗。頭の中は殺戮で埋まり、胸に燃える貪欲はまるで融けた金塊のよう。 Relentless as the tides, souls dark as a moonless night. Bloodshed on their minds, and greed burning in their hearts like molten gold. 第5版 【M TG Wiki】 名前
https://w.atwiki.jp/jackinthebox/pages/49.html
Creature Creature/クリーチャー クリーチャー Official Site:http //www.creature-creature.com/ MySpace:http //www.myspace.com/officialcreaturecreature 【メンバー】 Vocal Morrie (モーリー/Dead End) Guitar Hiro (Libraian,La cryma Christi) Guitar Shinobu (ex-Guy s Family) Bass Hitoki (ROBO+S, Dummy s Corporation, ex-黒夢) Drums Sakura (S.O.A.P., ex-L Arc-en-Ciel, ex-ZIGZO) 【これを聞いておけば大丈夫】 アルバム「Light Lust」
https://w.atwiki.jp/ddrreplay/pages/252.html
「KEEP ON MOVIN 」スコア&ムービーボード 1ページ目 「KEEP ON MOVIN 」スコア&ムービーボード 2ページ目
https://w.atwiki.jp/majicaa/pages/1385.html
_{ { / /_________/ / / // // 二二{ \ /-------/ / /ニ=‐- __ ///] // __{ /⌒} /〉 __厂 /  ̄ ̄`\\}\ __{り〉_/〉/// /==ァ // { \ ∧ {⌒\ __/ \ }\__ /_,ノ// { / // {\ ) { ̄〉 { -\_{ __/ \__リ} }{/⌒// -/ // {\_ 人ソ八{ ___{ __/ ] }//∨/ //} // . > ( ̄) \____厂{ __ノ { 人__}/ __,ノ _ノ// \  ̄]\ ////〉 /{ __{⌒ ノ _____ノ⌒\\ ]\ \ ⊂⊃ /// ___/{ /⌒__厂\__厂 ̄ ̄ \\ . \\ __厂 //\__ { (_[_ } }イ\ \\ \_}_{_/ ̄〉 / { ] { {_(__ノ } }⌒) } ∨} / {\ ___/{__/ 〉 〉 } // ̄ ̄ } }/ / \_ _ノ\___/⌒\___/ } }_[ / / / 〈 ̄ ̄ ノ⌒⌒⌒} }\ / -}ー一ァ _____/ / / /⌒[ ̄ ̄) /〉 ___ /__/ ̄ 〈\___ /⌒{ / / /  ̄⌒\__ノ/\____厂 /__厂 ̄}_ ノ{-‐=ニ二{ (\ / r‐┘ / r──x___厂 ̄ ̄ ̄⌒_厂 〔__{ {(リ \ __r‐┘ . / /⌒\厂\ \ ー──/====イ⌒}\  ̄ ̄(_/⌒\r一‐┘ . / /r──∨ }ニ=- ー─‐/ ̄ ̄リ) ̄ ̄\\ { //{ソ∧__,∨ ∧__ノ r=イニニノ} ̄[/∧ \\ { ___//∨ ∧ ∨ ∧'⌒⌒ ̄ ̄ ̄{ } \∧ }リ} _厂 {_ノ { { ∨ ∧ ∨ ∧ { } }/} } { { ̄ { { { /∨ ∧__∨ ∧_____{_/________}/}ノ ̄ ̄\_{____ __ノ . \ // ̄ ̄\ \ \ \ }⌒\_/{ Deep Spawn (5)(青)(青)(青) クリーチャー — ホマリッド(Homarid) トランプル あなたのアップキープの開始時に、あなたが自分のライブラリーのカードを上から2枚、あなたの墓地に置かないかぎり、Deep Spawnを生け贄に捧げる。 (青):Deep Spawnはターン終了時まで被覆を得るとともに、あなたの次のアンタップ・ステップにアンタップしない。Deep Spawnをタップする。(被覆を持つクリーチャーは呪文や能力の対象にならない。) 6/6 名前 コメント
https://w.atwiki.jp/mtgflavortext/pages/8947.html
そいつは次の餌以外からは身を潜める。 It shuns everything except its next meal. フィフス・ドーン 【M TG Wiki】 名前
https://w.atwiki.jp/2019tkoolcontest/pages/96.html
DeepSkyさんのページ/作品紹介 DeepSky 作者ID 351314 Machiavellist 作品ID - 紹介文 新元号『令和』を記念して。(関係無) ジャンル ファンタジー、ダーク、長編、更新版 データ改変 可 必要ブロック数 7 公開形式 公開 Machiavellist2 作品ID - 紹介文 前作でいろいろありましたが、ようやく第二弾出せました。今回は女性主人公です。 ジャンル ファンタジー、ダーク、長編、更新版 データ改変 可 必要ブロック数 13 公開形式 公開 Machiavellist(攻略館) 作品ID - 紹介文 『Machiavellist 1,2』の攻略情報を掲載しています。プレイしている方は参考に。 ジャンル 戦闘なし、更新版 データ改変 可 必要ブロック数 4 公開形式 公開 レベルを上げて物理で殴れ 作品ID - 紹介文 ストレス解消に即興でツクってしまいました。モグラが殴り返すモグラ叩きゲームですww ジャンル 独自システム、コミカル、ミニゲーム データ改変 不可 必要ブロック数 2 公開形式 公開
https://w.atwiki.jp/soundcreate/pages/32.html
『Sound Create EXTRA4』 2012年4月30日【M3-2012春】にて頒布開始。*頒布終了 全曲クロスフェードデモ(ニコニコ動画) 収録楽曲 トラック タイトル 作曲者 01 空の最果て - world embryo - hits 02 燈籠 noguchi 03 Tokaido 530000 gorlem 04 EXTERMINATION -Target in Sight- Toshi 05 Metropolis noguchi 06 Sadistic Cyber Girl "Liscia" koma 07 Cave road taka 08 夜長の月 hits 09 Diadochi koma Mastering Engineer Toshi Jacket Illustration Aoi
https://w.atwiki.jp/bemani2dp/pages/3295.html
GENRE TITLE ARTIST bpm notes CLEAR RATE FREE STYLE Hella Deep MASAYOSHI IIMORI 132-150 ? n%(yyyy/mm/dd) 攻略・コメント FUTURE is Deadの影に隠れがちだが、これもかなりクリアレートが低い。ソフランに加え、結構ハード殺しなリズム・配置が多い。後半の8分軸+12分縦連→1,3トリルが多分最難所 -- 名無しさん (2018-01-06 12 28 49) FUTURE is deadよりEXHARD苦労した。ソフランは皿ちょんでコンボ切らずにギアチェン出来ます。 -- 名無しさん (2018-02-03 22 52 51) 名前 コメント
https://w.atwiki.jp/sinapusu2002/pages/179.html
Tree - Height of a Tree http //judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=GRL_5_B lang=jp 木を2回精査すれば簡単です。 木を2往復するので計算量はBigO(2*頂点数)です。 速すぎて一位タイです。 これ以上シンプルな考え方もないし計算に必要なデータを集めるのに最初の1周。 確定するのにもう一周必要なので、私の発想は理論値でしょう。 多分コード実行速度一位の方と同じ発想になってると思います。 着想を得るのに10分かかりました。 実装するとき考え抜けに気付かず1時間かかりました。 テストに20分かかりました(コードの修正)。 木の根元を点0として枝先から根元へ向かう計算に一周目を。 点0から枝先に向かう計算で2周目を使います。 例えば木を一周した結果根元で14,17,22という高さになる枝が3つ出ていたら。 14や17に向かう時は22を最大として2周目を回ればいいですし。 22の枝先に向かう時は17を最大として2周目の22の先の枝先を回ればいいわけです。 #include stdio.h #include map #include string.h #include queue #include set #include algorithm const int LIMIT=10000; std map int,int tree[LIMIT]; int ans[LIMIT]; int maxWs1[LIMIT]; int maxWs2[LIMIT]; int maxPs1[LIMIT]; int maxPs2[LIMIT]; int saiki(int p,int old,int maxW1){ std map int,int iterator it; int maxW2=0; int maxP1=old; int maxP2=-1; for(it=tree[p].begin();it!=tree[p].end();it++){ if((*it).first==old)continue; int temp=saiki((*it).first,p,maxW1+(*it).second); if(temp =maxW1){ maxP2=maxP1; maxP1=(*it).first; maxW2=maxW1; maxW1=temp; }else if(temp =maxW2){ maxW2=temp; maxP2=maxP1; } } maxPs1[p]=maxP1; maxPs2[p]=maxP2; maxWs1[p]=maxW1; maxWs2[p]=maxW2; ans[p]=maxW1; if(old==maxP1){ return maxW2+tree[p][old]; }else{ return maxW1+tree[p][old]; } } void saiki2(int p,int old,int maxW){ std map int,int iterator it; for(it=tree[p].begin();it!=tree[p].end();it++){ if((*it).first==old)continue; int nextP=(*it).first; int temp; if(nextP==maxPs1[p]){ saiki2(nextP,p,std max(maxWs2[p],maxW)+(*it).second); }else{ saiki2(nextP,p,std max(maxWs1[p],maxW)+(*it).second); } } ans[p]=std max(ans[p],maxW); } int main(){ int n; scanf("%d", n); memset(ans,0,sizeof(ans)); memset(maxWs1,0,sizeof(maxWs1)); memset(maxWs2,0,sizeof(maxWs2)); for(int i=0;i n-1;i++){ int s,t,w; scanf("%d %d %d", s, t, w); tree[s][t]=w; tree[t][s]=w; } saiki(0,-1,0); saiki2(0,-1,0); for(int i=0;i n;i++)printf("%d\n",ans[i]); }