Linuxの備忘録 [[PE_CMS]] [[Sakura>hidden_SakuraServer_Pukiwiki]] [[Moodle]] * Ubuntu でのサービス管理 [#kbcd5841] $ sysv-rc-conf --list | grep postfix $ sudo sysv-rc-conf postfix on * x分後にシャットダウンさせる [#b9967164] $ sudo shutdown -h +x 時間指定でシャットダウン $ sudo shutdown -h hh:mm 日付指定でシャットダウン 2009年9月20日10時00分 $ sudo shutdown -h 0909201000 * CMS Moodle バックアップ [#x4501a73] - [[hidden_MoodleBackUp]] * tar 再考 [#n9372f34] いまカレントディレクトリが test で,その下にさらに test2 ディレクトリがあり,この test2 ディレクトリをまとめて圧縮したいとする. $tar cfz file.tar.gz -C/home/rmecab/tmp/test test2 ここで -C はディレクトリを変更して実行するの意味である.上の実行例で間のスペースは重要.こうしないと, tar: Removing leading `/' from member names という警告が出る上,圧縮ファイルは,最初のディレクトリ test のなかに test2 ディレクトリがあり,そしてその中身が含まれるという入れ子状態で保存されてしまう. * パスワード無しでsudoする(Ubuntu) [#c43e0036] [[ここ:http://noichigo.moe.hm/~diary2/index.php?e=455&PHPSESSID=d133755e864a6cfc5b5db85d0318a25a]]から引用 > シェルスクリプトの最後にOSをshutdownさせようと考えた場合、sudoのパスワード入力がとても邪魔です。一回、sudoで何かを起動し、パスワードを入力してしまえば、その後のパスワード入力は必要なくなりますが、常に同じ条件でshutdown出来ないのでは、安心してシェルスクリプトも動かせません。そんな訳で、sudoをパスワード無しで使用する為の設定をします。 < > ☆ファイル編集 visudoの使い方は・・・ ぶっちゃけ、保存([Ctrl]+[O])と終了([Ctrl]+[X])だけ使えれば問題ない気がする。 < > [アプリケーション]→[アクセサリ]→[端末]を起動。 sudo visudo < > 最終行に追記 hogehoge ALL=NOPASSWD: ALL < > 設定が終わったら、ファイルを保存して終了 OS再起動後、再び端末を起動し、sudoコマンドを確認。 sudo gedit とか。パスワード無しでエディタが起動すれば、設定完了。 < // Order deny,allow //deny from 219.61.218.126 * [[PHP_CGIとモジュールの違い>hidden_PHP_CGIとモジュールの違い]] [#sbf34e9b] * NetworManger と IPv6を無効化. [#u9a76e78] [[ここ:http://netlog.jpn.org/r271-635/2009/06/ubuntu_81networkmanager.html]] sysv-rc-confを起動して、NetworkManager (画面上ではNetworkMa$と表示されている) が全てのランレベルで起動しないように『チェックを外す』。 # sysv-rc-conf eth0用の定義を追加する。書式は man -S 5 interfaces で閲覧可能 install ipv6 /sbin/modprobe -n -i ipv6 DHCPからアドレスの割り振りを受ける場合は、『iface eth0 inet dhcp』とする。 そして、DNS設定を追記する。(NetworkManagerは、その終了時にresolv.confの設定をクリアするため、明示的に設定を書き加える必要がある) - Ubuntu Firefox で Ipv6 を無効化 /etc/modprobe.d/aliases ではなく /etc/sysctl.conf に net.ipv6.all.disable_ipv6=1 を追記 about:config network.dns.disableIPv6=true - apcキャッシュでPHPを高速化する 2009 09 05 $ sudo apt-get update $ sudo apt-get install php5-dev $ sudo apt-get install php-pear $ sudo apt-get install apache2-threaded-dev $ sudo pecl install apc # ただ Enter すればよい /etc/php5/apache2/php.iniに extension=apc.so を追加して設定ファイルを確認し $ apache2ctl configtest $ sudo /etc/init.d/apache2 restart - [[Moodle高速化]] my.cnf #query_cache_limit = 1M query_cache_limit = 2M #query_cache_size = 16M query_cache_size = 36M sudo /etc/init.d/mysql restart MySQL のログは syslog に記録される php.ini ;memory_limit = 16M memory_limit = 40M -[[Macの備忘録]] -[[PE_CMS再構築>hidden_PE_CMS2再構築]] -[[Subversionレポジトリのバックアップ>hidden_Subversion_Dump]] ------------- - [[Medibuntu]] - 文字コードの確認.ユニコード (UCS-2) を使う. $ echo -n "記号" | iconv -t UCS-2 | hexdump 0000000 8a18 53f7 - UTF-8 文字コードの確認(Unicodeではない) $ echo -n '記号' | hexdump -C 00000000 e8 a8 98 e5 8f b7 C オプションを付けないと2バイト単位で,バイトが逆順になってしまう.-C を指定すると1バイトの文字単位の表示になる.あるいは $ echo -n '記号' | od -tx1 0000000 e8 a8 98 e5 8f b7 や $ echo -n '記号' | xxd -g 1 0000000: e8 a8 98 e5 8f b7 でもよい. -文字コード変換 $ iconv -f EUC-JP -t UTF-8 test.euc > test.utf8 文字コードについては,さらに[[ここ>UTF]]を参照のこと. - [[IDRとサブネットマスク]] -Ubuntu で root になるのは sudo -s Ubuntu ではroot に慣れないと思っていた. //http://oss.timedia.co.jp/show/MySQL日本語の旅/Linuxの16進ダンプツール(od,xxd) [[ここのサイト:http://x68000.q-e-d.net/~68user/]] など役に立つ [[hidden_dell530s_backup]] [[hidden_Black_Mac]] [[Programming_C]] [[Wikiの備忘録]] #contents * /bin/false /sbin/nologin の違い [#ne79da0c] /etc/shellsに /sbin/nologin が記載されている場合 /bin/false FTP→拒否 SSH→拒否 /sbin/nologin FTP→可能 SSH→拒否 * [[VMplayer_on_9.04]] [#ve1d0fff] * [[iMac_設定]] [#icf005cb] * ffmpeg [#x3597d80] ffmpeg -i in.flv -vn -ac 2 -ab 160000 -ar 44100 out.mp2 [[あるいは:http://d.hatena.ne.jp/ikki_j/20080117/1200581881]] ffmpeg -y -i foo.flv -acodec copy foo.mp3 -vn 映像を出力しない -ac 2 Stereo -ab ビットレートをbit/sで指定 -ar 音声のサンプリングレートをHzで指定 このほかのオプション メイン オプション: -L ライセンスを表示 -h ヘルプを表示 -formats 現在使用できるフォーマット、コーデック、 プロト コルを表示 -f fmt フォーマットを指定 (fmtの部分に-formatsで調べたフォーマット名が入る) -img img_fmt 画像のフォーマットを指定(img_fmtの部分に -formatsで調べたフォーマット名が入る) -i filename 入力ファイルを指定 -y 出力先に同名のファイルがあった場合上書 -t duration 出来上がるファイルの時間を指定する (durationの部分に10と入れれば10秒の部分までしか記録しない) 映像のオプション: -b bitrate ビットレートをkbit/sで指定 -aspect aspect アスペクト比を指定(4:3, 16:9 or 1.3333, 1.7777) -vn 映像を出力しない -bt tolerance ビットレートの許容誤差をkbit/sで指定 -vcodec codec codecの部分に-formatsで調べたコーデックを指定 ('copy'を指定すると元ファイルに手を加えない) -sameq 元のファイルと同じビデオ品質を使用します。 (暗黙のうちにVBRになることもある) -pass n 何パスでエンコードするかを指定します。 (1か2を指定) -passlogfile file 2パスでエンコードした時のログファイル名を指定 音声のオプション: -ab bitrate 音声のビットレートを(k)bit/sで指定 -ar rate 音声のサンプリングレートをHzで指定 -ac channels 音声のチャンネル数を指定 -an 音声を出力しない -acodec codec codecの部分に-formatsで調べた音声のコーデックを指定 ('copy'を指定すると元ファイルに手を加えない) * mp3 の作成 [#o4543f2a] https://wiki.ubuntulinux.jp/UbuntuTips/Application/ffmpegとコーデックをソースからビルドするには に情報有り *clive [#se2d7624] [[ここ:http://sourceforge.jp/magazine/08/05/08/0226259]]を参考に. -clive は、YouTube、Google Video、Metacafeといったサイトに保存されている動画を抜き出すためのソフトウェアだ。使い方は簡単で、「clive 動画URL」とするだけでよい。すると、指定したURLからFLVファイルがダウンロードされ、その結果がデフォルトではMP4形式に変換される。便利な使い方として、保存したい動画へのリンクを記したテキストファイルを作成し、パイプを使ってそのファイルをcliveに渡すという方法がある。具体的には、テキストファイルにURLを1行ずつ記述して「cat video.list | clive」とすればよい。 - cliveでは、FFmpegを使って動画ファイルを別のフォーマットにエンコードしなおすこともできる。ネット上の動画からAVIファイルの作成を一気に行うには、「clive --ffmpeg="/usr/bin/ffmpeg -y -i %i %o" --reencode=avi 動画URL 」とする。FFmpegは出力ファイルの上書きを行うことで、指定のURLを入力として最終的にAVIファイルを生成する。動画の変換用にあらかじめ定義しておいた設定を使いたければ、「~/.clive/config」を編集することによってデフォルト設定を好きなように変更できる。以下は、このファイルの設定例である。 play_format="avi" # output format path_player="/usr/bin/mplayer %i" # player used path_ffmpeg="/usr/bin/ffmpeg -y %i %o" # encoder used - ご覧のように、cliveではMPlayerやVLCを使ったファイルの再生も可能だ。 -似たようなツールとして youtube-dl がある。これは、ファイル形式を変換せずにYouTube動画をダウンロードするスクリプトだ。動画共有サイトのFLVファイルを保存するには、ターミナルを開いて「youtube-dl」のあとに続けて動画のURLを入力すればよい。また、YouTube Downloader GUIというyoutube-dl用のGUIも存在する。このKommanderスクリプトを実行すると、KDialogによるポップアップ・ウィンドウが開き、ダウンロードしたいオンライン動画へのリンクをそこに貼り付けることができる。QtTubeというGUIも、同じくらい簡単に使える。動画へのリンクを貼り付けると、youtube-dlを使って動画ファイルがダウンロードされる。 * kino [#fc88f09a] 動画の簡単な編集ができる. 切り取りは右メニューの Trim を選び,開始点と終着点を指定し, その上で右メニューの下,Export を指定.ここで形式を指定するが,mpeg が選択できない場合は,ウィンドウ下のライブラリをあらかじめ追加しておく. * ディレクトリ内のファイルから「word」を含むファイルを検索 [#wdce2a9a] grep word /home/user/* あるいは「一致したファイル名」と「一致した一行」の両方を出力 find /home/name -print | xargs grep word /dev/null *[[BUFFALO_WLI-U2-G54HP_WHRHP-Gを認識利用]] [#ue1673e6] * [[VMware>hidden_VMware]] [#qc2ec9ea] * コマンド版PHP [#we2353ea] cronで /usr/bin/php-cli -f /home/myhome/cron.php 1> /dev/null を実行しようとしたら,コマンド版PHP が入っていなかった. (-f は省いてもいいらしい.) sudo apt-get install php5-cli でいいのだが,ちょっとペンディング. * [[codec 関係のインストール>hidden_codec 関係のインストール]] [#if8d0454] * Ubuntu ログイン時の音量 [#x5c6ad36] 大きすぎるので調整 [システム] - [設定] - [サウンド] からサウンドタブ [システム] - [システム管理] - [ログイン画面] からアクセシビリティタブの効果音でオンオフを切り替え 画面右上のスピーカーのアイコンを左クリックして調節した音量は、ログイン時の効果音には反映されない。音の大きさ自体は画面右上のスピーカーのアイコンを右クリックし「音量調節ツールを開く」を選択して調節 * wmv から wav を作る. [#bf922a69] mplayer hoge.wmv -vc null -vo null -ao pcm:file=hoge.wav これがうまくいかないときは ffmpeg -i hoge.wmv -vn -acodec copy fuga.wma mplayer fuga.wma -ao pcm:file=nyuru.wav * Linux Server 版のアップデート [#r6c7e221] - 正式な?手順 [[ここ:https://help.ubuntu.com/community/HardyUpgrades#Network%20Upgrade%20for%20Ubuntu%20Servers%20(Recommended)]]を参考にするが、要するに Network Upgrade for Ubuntu Servers (Recommended) -1.Install update-manager-core if it is not already installed: # dpkg –list | grep update-manager-core# インストールの確認 sudo apt-get install update-manager-core#インストール これは必要か? -- /etc/update-manager/release-upgrades を編集して以下のように変更する。 Prompt=normal -2.Launch the upgrade tool: sudo do-release-upgrade -3. Follow the on-screen instructions. -4.更新後の結果確認。[[ここ:http://kunik.no-ip.com/2008/05/02/1727/ubuntu-server-804-updated.html]]にある。 # cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=8.04 DISTRIB_CODENAME=hardy DISTRIB_DESCRIPTION=”Ubuntu 8.04″ # uname -a Linux main 2.6.24-16-server #1 SMP Thu Apr 10 13:58:00 UTC 2008 i686 GNU/Linux /etc/apt/sources.listの修正は必要ないのか? -こういう手もある。 # mv /etc/apt/source.list /etc/apt/source.list.080525 # sed -e 's/gutsy/hardy/g' /etc/apt/source.list.080525 > /etc/apt /source.list # apt-get update # apt-get dist-upgrade * ntpdate 2009 03 21 [#qbaa1bbd] etc/cron.daily に /etc/network/if-up.d/ntpdate を突っ込む。 $ sudo vi /etc/default/ntpdate NTPDATE_USE_NTP_CONF=no NTPSERVERS="ntp.jst.mfeed.ad.jp ntp.ring.gr.jp" NTPOPTIONS=""# オプションは上記スクリプトに記載されている $ cd /etc/cron.daily/ $ sudo ln -s /etc/network/if-up.d/ntpdate . * Epson Na01へのUbuntuインストール [#kad2063b] [[Epson_Na01_Ubuntu]] * Ubuntu システム > 設定 > キーボード・ショートカット [#z6650939] [[Ubuntu_keyboard]] [[ここに表を作成]] * find の exec 引数と xargs 引数 [#sf1682c5] 同僚から,._ で始まるディレクトリをまとめて消すのに % sudo find /home -name "._*" -print -exec rm -f {} \; が使えるかと聞かれた.使えるだろうけど,-exec は検索のたびに,指定のコマンドをいちいち実行するので,-xargs を使って検索結果をまとめて渡した方が良いでしょう. $ sudo find . -name '._*' -print0 | xargs -0 -r rm -rf -print0 オプションは,[[ここ:http://openlab.dino.co.jp/2008/02/20/133431188.html]] や[[ここ:http://docs.hp.com/ja/B2355-90851/xargs.1.html]]に説明がある. > findの出力がヌル文字(0×00、別の表現をすると”\0″)で区切られて出力されます。また、xargsも引数がヌル文字で区切られているものとして処理を行います。その結果、空白文字を含んだファイル名も正常に処理できます。 < しかし,私自身は怖くてできないな.xargs をグーグったら,こんな[[ページ:http://openlab.dino.co.jp/2008/02/20/133431188.html]]があった.またこんなファイル &ref(shell2.txt); もみつけた.再配布OKらしい. ついでなので,つらつら検索していたら,[[こんな記事:http://d.hatena.ne.jp/hujikojp/20080220/xargs]]もあった.ちょっと引用する. コマンドを一度に起動する (find -exec +) $ find . -name \*~ -exec rm {} \; ただ、これだと100000ファイルがヒットした場合にrmコマンドが 100000回実行されてしまうため、全部実行するまでに案外時間がかかる ... これを回避するために xargsを使うのもまっとうですが、 最近の find には + というのがあります (SUSV3 で定義されていて... ) find . -name \*~ -exec rm {} + これで、複数の引数つけて rmを呼んでくれます。 空白があっても okです。 真ん中に展開したい (xargs -J) でも mvのように真ん中に展開したい引数がある時はだめ。 '{} +' で終わってなきゃいけないってルールなんですね。 % find . -name \*~ -exec mv {} bak/ + find: -exec: no terminating ";" この場合は GNU coreutilsを使わなきゃいけないかというと、 それも抜け道があります。 BSD系 xargsには -J optionがあります: % touch a~ b~ c~ % find . -name \*~ -print0 | xargs -0 -J {} echo mv {} /var/tmp mv ./a~ ./b~ ./c~ /var/tmp というように一つのコマンドに展開してくれます。 ちなみに BSD系では template変数が2文字以上の時、 "-J{}" とくっつけるとだめで "-J {}" と spaceをいれないといけない よう。普段は "-J@" って、一文字にしてるので気づかなかった。 追記: GNUの xargsでも -n をつければ複数展開してくれますね: % find . -name \*~ -print0 | xargs -0 -I {} -n 100 mv {} /var/tmp てな感じで。100 ってのが adhocな感じだけど。 MacOSではこの方法は使えませんでした。 もっと早くしたい (けど) (parallel) でも昨今は multicoreや hyperthreadな CPUが主流でしょう。 そんなときに一つの threadで順番にやるのはアホです。 そういうときに使えるのがparallel です。 最大 10個分プロセスを立ち上げて、文字通り並列に CPUを 余すことなく使ってくれます。 % ls | ./parallel 'sleep 3 ; echo ' & (sleep 1; ps ) [1] 4503 4504 * IP変更 [#te3770b4] 近く IP を変更せにゃならん. # vi /etc/network/interfaces # This file describes the network interfaces available .. # and how to activate them. For more information, ... # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 150.59.**.** netmask 255.255.255.0 network 150.59.**.0 broadcast 150.59.**.255 gateway 150.59.**.1 # dns-* options are implemented by the resolvconf ... dns-nameservers 150.59.60.2 dns-search ias.tokushima-u.ac.jp 変更後 interface を再起動 # ifdown eth0 # ifup eth0 eth0の状態を確認 # ifconfig でよかったが,問題は,subversion だ. レポジトリ作り直しかと思ったら,[[次のような記事:http://djlab.sakura.ne.jp/mydiary/]]があった.以下引用する. >>Subversionをインストールしているサーバは動的IPアドレスを用いているため、サーバを再起動した時にIPアドレスが変わってしまうことがしばしば。 Subversionにコミット/チェックアウトするためのURLも変わってしまうので、設定を変える必要があります。 方法として、古いIPアドレスを参照していた作業コピーは削除してしまって、新しいIPアドレスをコミットするようにしていたのですが。 別に作業コピーを削除しなくとも、参照するURLを簡単に変更することがsvnコマンドでできるみたい。 $ svn switch --relocate svn+ssh://古いIPアドレス/svn/test_repos svn+ssh://新しいIPアドレス/svn/test_repos test_reposの作業コピー/ $ svn update test_reposの作業コピー/ しめたと思って,五つあるレポジトリ一気に書き換えるスクリプトを書いた. #!/bin/bash svn switch --relocate svn+ssh://oldip/var/local/subvers/ubuntu/Document svn+ssh://newip/var/local/subvers/ubuntu/Document svn switch --relocate svn+ssh://oldip/var/local/subvers/ubuntu/res/statistics/myRcode svn+ssh://newip/var/local/subvers/ubuntu/res/statistics/myRcode svn switch --relocate svn+ssh://oldip/var/local/subvers/ubuntu/res/Program/ svn+ssh://newip/var/local/subvers/ubuntu/res/Program svn switch --relocate svn+ssh://oldip/var/local/subvers/ubuntu/res/Tex/papers svn+ssh://newip/var/local/subvers/ubuntu/res/Tex/papers svn switch --relocate svn+ssh://oldip/var/local/subvers/ubuntu/res/Tex/books svn+ssh://newip/var/local/subvers/ubuntu/res/Tex/books で,トップディレクトリで実行しようとたが, svn: '.' は作業コピーではありません どうやらそれぞれのレポジトリ(.svnを直下に含むレポジトリ)に入って,いちいち実行する必要があるらしい.その旨もスクリプトに書く. * Subersion +SVN コマンド一覧 [#mf543869] [[Subversion_command]] *X関連 [#m96c9618] [[X関連>hidden_X_setting]] * mail, mailx [#b0143c9b] 一括削除するには mailx を使うと思っていたが, $ mail & d 1-243 で一括削除できた.どっちかがどっちかのエイリアスなのかな? * crontab [#o2a01beb] 各エントリ最後に[[/dev/null:http://sonic64.com/2004-03-28.html]]を書き忘れていたので,mail スプールがふくらんでいた. * * * * * command 1> /dev/null とする.仮に以下のようにすると,エラーが起こっても何の通知もなくなってしまう * * * * * command >/dev/null 2>&1 ついでに,危ないなぁと思いつつ $ sudo crontab -u root -e $ sudo crontab -u root -l # m h dom mon dow command 15 04 1 * * /home/hoge/hoge.sh >/dev/null 2>&1 を設定 - 2009 04 22 study アカウントで */5 * * * * /home/myhome/MoodleCron.sh 1>/dev/null %%#*/5 * * * * wget -q -O /dev/null http://***.***.tokushima-u.ac.jp/~myhome/moodle/admin/cron.php 1>/dev/null%% %%を2009 04 15 ishidaアカウントで%% // */5 10-17 * * 3,5 MoodleCron.sh 1>/dev/null //と変更した.水曜と金曜だけ,10時から17時まで5分おきに実行という意図なのだが. -cron書式の代表的なもの(すぐ忘れる). [[ここ:http://www.server-memo.net/tips/crontab.html]]から引用. 毎週月曜日のAM 10:00に実行 00 10 * * 1 10分ごとに実行する場合 */10 * * * * 3時間ごとに実行する場合 00 0-23/3 * * * 毎日AM 4:30とAM 9:30に実行 30 4,9 * * * 毎週月、金曜日のAM 3:00に実行 00 3 * * 1,5 毎日AM 3:00 4:00 5:00 6:00 7:00 9:00 に実行 00 3-9 * * * 毎月10日のAM 3:15 4:15 5:15 6:15 に実行 15 3-6 10 * * AM 1:00 6:00 9:00 10:00 11:00に実行 00 1,6,9-11 * * * cron設定の前に以下の行を入力してメールをとばす,とばさないを選択できる.[[ここ:http://www.server-memo.net/tips/crontab.html]]から引用 MAILTO="" これでメールは飛ばなくなり,逆に複数のアドレスに飛ばしたいときは、カンマ区切りで複数メールアドレスを指定. この $MAILTO 変数は、デフォルトのメールアドレスを上書きする ただし、上記は/etc/crontab自体を変更した場合と同じく、実行するアカウントのcron設定すべての宛先に反映される。特定のスケジュールのみを宛先変更させたい場合には、次のように指定すればよい。 # crontab -e 0 2 * * * /bin/sh /etc/hogehoge 2>&1 | Mail [送信先メールアドレス] *[[fontを設定]] [#d3b9e6cd] *[[Ubuntu8.10-2]] [#x885c086] *[[Ubuntu8.10]] [#yc2b185f] *[[PE_CMS]] [#jff6f14e] *[[VMWare_Ubuntu]] [#x84a1e77] * bashファイルのバックアップ [#i3822e0f] #!/bin/bash DATE=`date +%Y%m%d` cp -p /home/ishida/.bash_history /back/bash_history-"$DATE" cp -p /home/ishida/.bashrc /back/bashrc-"$DATE" ## cp -p /home/ishida/.profile /back/profile-"$DATE" * [[万が一の場合のリカバリ>hidden_Recovery]] [#e5469580] * [[autofsの設定]] [#zb2e4e74] * [[bash_logoutの作成]] [#w0bc0e9c] * [[hidden_bashの演算子]] [#x5fc26c3] *[[hidden_LANDISK]] [#u88de3f6] * [[Emacsによるソース操作]] [#oc0c4840] // -*- Mode:ObjC; c-basic-offset:4; tab-width:8; indent-tabs-mode:nil -*- をソースに加えるといいという[[話:http://d.hatena.ne.jp/tmurakam/20090129/1233162447]]があった。 -[[Emacs_etc]] * [[解凍方法一覧:http://uguisu.skr.jp/Windows/tar.html]] [#fc155cb3] -特に忘れてしまうのが〜.tar.bz2, 〜.tbz 系統 bzip2 -dc filename | tar xvf - -・アーカイブを作成 tar cvf [アーカイブファイル名] [ディレクトリ・ファイル名] 例:tar cvf sample.tar sample -・アーカイブを作成してcompressで圧縮 tar cvZf [アーカイブファイル名] [ディレクトリ・ファイル名] 例:tar cvZf sample.tar.Z sample -・アーカイブを作成してgzipで圧縮 tar cvzf [アーカイブファイル名] [ディレクトリ・ファイル名] 例:tar cvzf sample.tar.gz sample -・アーカイブを作成してbzip2で圧縮 tar cvjf [アーカイブファイル名] [ディレクトリ・ファイル名] 例:tar cvjf sample.tar.bz2 sample -・アーカイブを展開 tar xvf [アーカイブファイル名] 例:tar xvf sample.tar -・compressを解凍してアーカイブを展開 tar xvZf [アーカイブファイル名] [格納するディレクトリ・ファイル名] 例:tar xvZf sample.tar.Z -・gzipを解凍してアーカイブを展開 tar xvzf [アーカイブファイル名] 例:tar xvzf sample.tar.gz -・bzip2を解凍してアーカイブを展開 tar xvjf [アーカイブファイル名] 例:tar xvjf sample.tar.bz2 -・アーカイブに格納されているファイルを表示 tar tvf [アーカイブファイル名] 例:tar tvf sample.tar -・アーカイブにファイルを追加 tar rvf [アーカイブファイル名] [追加ファイル名] 例:tar rvf sample.tar hoge4.txt -・アーカイブに格納されている特定のファイルだけを取り出す tar xvf [アーカイブファイル名] [取り出したいファイル名] * libgtk-2.0.devインストール [#od1f96d2] ... libglib2.0-dev (2.14.1-1ubuntu1) を設定しています ... libatk1.0-dev (1.20.0-0ubuntu1) を設定しています ... libcairo2-dev (1.4.10-1ubuntu4.4) を設定しています ... libpango1.0-dev (1.18.3-0ubuntu1) を設定しています ... libgtk2.0-dev (2.12.0-1ubuntu3) を設定しています ... * convert [#kcc4c7e7] ImageMagicのconvertで画像を変換する際 eps2: オプションを指定しないと画像が巨大化してしまう $ convert orig.png eps2:orig2.eps * [[Ubuntu_fsck]]について [#ifc4cc26] *[[BrotherHL-5250DN]] [#g482df71] * マウスのホイール [#l514f0de] XPにインストールしたVMware上のUbuntuでマウスのホイールが効かなかったので以下のように修正した $ sudo vi /etc/X11/xorg.conf Option "Protocol" "ImPS/2" # ps/2から修正 Option "ZAxisMapping" "4 5" # これはもともと記載あり * subversion_config [#e212e3e2] 新規に作成したら ホームの .subversion/config に ssh = ssh -i /home/ishida/.ssh/id_rsa を忘れず追加すること. * apt-get autoclean [#yb3a1202] apt-get update を失敗したまま放っておくと,Synaptic でレポジトリの変更が出来ないなどの不具合が生じるので,とりあえずこのコマンドを実行しておく. * Vostro に Ubuntu 8.04 をインストールする. [#v37e21da] [[Vostro_Ubuntu8.04]] * Atok X 3 の設定2 [#oe38d6f9] [[Atok_X3続]] * Atok X 3 の設定1 [#t602c36c] [[Atok_X3]] * Windows上の VMware Player に Ubuntu を載せている場合 [#l7ca286b] でも(自宅がそうなのだが),Ubuntuのカーネルがアップグレードが行われた場合は Ubuntu 上で [#j02bcad3] ishida@ubuntu-vm:~$ sudo /usr/bin/vmware-config-tools.pl が必要らしい. *Emacs 正規表現を用いた検索 [#sf40a0ad] \C-u \C-s . 置換の場合はM-x replace-regexp. Emacs では C-q C-* で * のところに文字コード表での制御文字 (^i) を指定する.例えば , を タブに変えるなら M-% で , with C-i C-i は文字コード表の ^i * Mplayerマニュアル [#lf0ea239] [[Mplayerマニュアル:http://www.mplayerhq.hu/DOCS/man/en/mplayer.1.html]] [#u825d3be] * Subversion について [#dbcb72e6] [[よいページ:http://www.nulab.co.jp/kousei/chapter2/01.html]]を見つけた. * [[Gutsy_eps_文字化け]] [#ie67489c] * [[Anthy辞書追加]] [#da3ae620] * 文字コードを一括して変える [#ebe6cc68] Shift-Jis から UTF-8 に find . -name "*.txt" -print0 | xargs -0 nkf -Sw -Lu --overwrite EUC-JPからの場合は-Ewで. UTF-8 からShift-Jis から find . -name "*.txt" -print0 | xargs -0 nkf -Ws -Lw --overwrite こんな方法も sed -i 's/Shift_JIS/utf-8/g' `grep -irl Shift_JIS .` \ nkf -Sw -Lu --overwrite *.html nkf オプションは以下の通り -e 結果をEUC-JPで出力 -j 結果をISO-2022-JPで出力 -s 結果をShift-JISで出力 例: 改行コードの変換 nkf -Lu hoge.txt > huga.txt # mac & win -> unix nkf -Lm hoge.txt > huga.txt # unix -> mac nkf -Lu hoge.txt > huga.txt # unix -> win * ファイル名,文字コードを一括して変える [#ld62b069] 拡張子を変える場合 for nm in *.euc; do > mv $nm ${nm%.euc}.txt; > done 拡張子の前を変える場合 $ for nm in temp*; do > mv $nm HOGE${nm#tr}; > done * [[CMS>PE_CMS]] [#jb845719] * apt コマンド [#ea7b3970] /etc/apt/sources.list apt-getのパッケージ情報取得先が書かれている apt-cache search [...] パッケージを探す apt-cache show [...]パッケージの詳細を見る apt-get install [...] パッケージをインストールする apt-get update パッケージの更新情報を得る apt-get upgrade インストールされているパッケージの更新を行う [[旧メモ>LinuxFromOldHtml]]を移植の予定。 * Ubuntu でフィルタリングせずに文字変換を行うプログラムは recode だそうな. [#qc7a5780] recode EUC-JP..UTF-8 target.txt * 強制終了 [#xbf44e87] ターミナルで xkill として,当該のウィンドウを左クリック * Emacs でディレクトリ作成 [#a012ad92] Use C-u M-x make-directory RET RET to create directory and its parents *[[Ghostscript関係]] [#h0cbbc8c] *[[和布蕪他インストール]] Ubuntu [#v27cb126] *[[フォントの設定hidden_Ubuntu7.10_fontの設定>hidden_Ubuntu7.10_fontの設定]] [#xde4bb0f] - 8.10 の場合は[[ここ:http://ikeike.homelinux.net/modx/font_ubuntu_2.html]]が詳しい. * 小技 ssh-agent [#n432fae9] $ eval `ssh-agent -s`;ssh-add ~/.ssh/id_rsa # 開始 $ eval `ssh-agent -k` # 終了 参考 http://www.his.kanazawa-it.ac.jp/~idurumi/linux/ssh/index.html ~/.bash_profile $ cat << END >> ~/.bash_profile # start ssh-agent if [ -z "${SSH_AGENT_PID}" ] ; then eval `ssh-agent -s` ssh-add ~/.ssh/id_rsa export SSH_AGENT_TTY=`tty` fi END ~/.bash_logout $ cat << END >> ~/.bash_logout # stop ssh-agent if [ ! -z "${SSH_AGENT_TTY}" ] ; then TTY=`tty` if [ x$TTY = x${SSH_AGENT_TTY} ] ; then eval `ssh-agent -k` unset SSH_AGENT_TTY fi fi END * svn サーバー [#o7652147] 2008 01 25 /etc/group を編集し /usr/local/ubuntu 以下を chgrp -R svn で変更 * subversion の使い方 [#c31098b3] http://ja.wikipedia.org/wiki/Subversion]] や http://www.gfd-dennou.org/library/cc-env/subversion/ や http://d.hatena.ne.jp/gan2/20070704/1183553892 も 参考になる. - レポジトリを作成するディレクトリを用意したら sudo mkdir /usr/local/ubuntu chown hoge:hoge /usr/local/ubunutu (アクセスするのが hoge だけなら) とりあえずは,サーバー側 192.168.0.1 で svnadmin create /usr/local/ubuntu/hoge と実行しておく. クライアント側では hoge ディレクトリ内に trunk branches tags の三つのディレクトリを掘っておき,その trunk 内に管理ファイルを保存. svn import -m "from AMD" /home/usr/hoge svn+ssh://192.168.0.1/usr/local/ubuntu/hoge でインポートし, svn checkout svn+ssh://192.168.0.1/usr/local/ubuntu/hoge/trunk hoge とするのが正しい流儀のよう... http://subversion.bluegate.org/doc/ch01s07.html - レポジトリを削除するのは svnadmin rmtxns hoge と言うコマンドもあるようだが,単に rm /usr/local/ubuntu/hoge で良い模様. svn: Failed to add directory 'foo': object of the same name is already scheduled for addition のようなエラーに遭遇したら, $ svn revert foo $ svn update svn+sshするときにサーバーによってポートが違う場合、どう設定していいかわからなかった。 調べてみたら sshトンネルを使う場合のポート番号指定方法 http://d.hatena.ne.jp/mir/20070621/p2 ~/.subvertion/configに [tunnnels] ssh_hoge = ssh -p 8888 して svn co svn +ssh_hoge://hostname/svn/hogehoge キーを切り替えたい場合は [tunnnels] ssh_hoge = ssh -i /home/name/.ssh/id_dsa_hoge 追加 svn import -m "from Tex/research/papers/p2007" /home/ishida/research/ Tex/papers/p2007/ svn+ssh://150.59.60.47/usr/local/ubuntu/ research/p2007 svn checkout svn+ssh://150.59.60.47/usr/local/ubuntu/ research/p2007/trunk p2007 コンフリクトを起こしたら,次のいずれかを実行して --「手で」 (ファイル中の競合マーカを調べ編集して) 競合テキストをマージ -- 作業ファイルに、一時ファイルのどれかを上書き -- svn revert <filename> を 実行して、ローカルでしたすべての変更を捨てる その上で,次を実行 svn resolved target.txt * ライブラリを新規追加したら [#afd0518a] 例えば mecab をインストールしたら sudo ldconfig を実行し,/usr/local/lib に新たに追加されたライブラリを登録しなければいけない. * ライブラリのリンクを確認する方法 [#b074446f] [ishida@amd64 chasen]$ ldd /usr/local/lib/libchasen.so | grep libstdc++ libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00002aaaaad9b000) Mac で ldd するときは otool -L hoge。 disassemble するときは otool -t -v -V hoge。 * ssh を使うためのホームのパーミッション 755 以下だった. [#yc53ebe4] * ファイル構成 2007 11 08 [#jf044bd9] $ df Filesystem 1K-ブロック 使用 使用可 使用% マウント位置 /dev/sdb1 234410816 21635248 200868192 10% / varrun 1032688 128 1032560 1% /var/run varlock 1032688 0 1032688 0% /var/lock udev 1032688 100 1032588 1% /dev devshm 1032688 0 1032688 0% /dev/shm lrm 1032688 34696 997992 4% /lib/modules/ 2.6.22-14-generic/volatile