matthew as a q.

競技プログラミングメイン

外部リポジトリのパッケージとの競合問題とその解決策

  • そもそも外につながってない時

Loading mirror speeds from cached hostfileの次の行あたりに、つながりません、みたいな表示が出る。

Processing Dependencyみたいに表示されて、外部リポジトリ名がいくつか見えて、インストールが完了しない。
私のところで起こっていたこととしては、remiレポジトリから入れたphpなどがデフォルトのレポジトリphpよりも新しく、yum install mysql-serverをしたときに、入れられるmysqlのバージョンや、その依存関係のあるパッケージがすでに入れているphpなどのパッケージとは一緒にはうまく動かない、ということをyum側が判断してくれて、installするのを止めていたみたい。

rpm -e remi-release
rpm -e rpmforge-release
    • 対策2:コンフリクトしているパッケージの削除
rpm -qa | grep remi

*remiは適時、コンフリクトしている外部レポジトリ名に変えてください。
を実行すると、remiという単語が入った、rpmのパッケージが見つかる。

コンフリクトしてるパッケージを1つ1つ除去していく。

sudo yum remove compat-mysql51

*compat-mysql51は適時、さきほど表示されたrpmパッケージ名に変えてください。

    • 予防

このような事態を避けるために、基本的にyum install するときには-yオプションをつけずに、どのパッケージがインストールされようとしているかをチェックする。

  • 謝辞

某nmfproducer氏に感謝。

gitlabでerror [Can't verify CSRF token authenticity]

新たなプロジェクトを作成しようとすると、ログイン画面に戻されるエラーが発生した。
(いくつかレポジトリ作成した後に、サブディレクトリにディレクトリを変更する設定を行ったせい??)

以下の記事が引っかかったが、これでは解決しなかった。
Can't verify CSRF token authenticity on 6-5-stable · Issue #6134 · gitlabhq/gitlabhq · GitHub

Trouble Shooting Guide · gitlabhq/gitlab-public-wiki Wiki · GitHub


しょうがないので、大したデータもなかったので、クリーン。。

omnibus版gitlabでサブディレクトリに設定する方法

omnibus版だと、/etc/gitlab/gitlab.rbに書かれた設定がreconfigureする度に各種設定ファイルに反映される。そのため各種設定ファイルを直接手動でいじっても、reconfigureするたびに消えてしまう。

しかし、gitlab.rbでどのように項目を修正したらよいかわからなかったので、旧式の方法で手動で設定を行った。

gitlabをreverse proxy下で動かしたりsubdirectory設定したり - Argmax.jp

上の記事にいじるべきファイルの場所が書いてあった。
以上の設定を直接ファイルに書き込み、reconfigureをしないようにする。


gitlab.rbに書いて設定したい。。

sshのポートフォワード機能を使ってとあるサーバにつなぐ方法

あるサーバ(humidai.example)をポートフォワードして、研究室の目的のサーバ(target.example)へアクセスする。

ssh -L 9999:target.example:22  hogehoge@humidai.example

(humidai.exampleが指定してあるサーバにおいて、すでに「hogehoge」というユーザで公開鍵ログインできるように設定されているものとする)

これで、ローカルホストの9999番ポートにアクセスすることで、target鯖に入ることができる。

ssh fugafuga@localhost -p 9999

(target鯖において、すでに「fugafuga」というユーザで鍵ログインできるように設定されているものとする)

サーバに固定IPアドレスを設定する

割り当てられたIPアドレスをサーバのほうに設定する必要があるらしい。

[Linux]CentOSで手動で固定IPアドレスの設定を行う | QUALL - blog

上記の記事に従って、
/etc/sysconfig/network-scripts/ifcfg-eth0
に設定を記入した。

DNSの設定や、ゲートウェイの設定はよくわからなかったので、特になにもしていない。

サーバ室に持って行って、つながればいいなぁ。。

追加したHDD(SATA)を利用できるようにする

  • 概略

自作PCをいじったことがなかった私は知らなかったのだが、HDDは追加しただけでは、その中身を参照したり、書き込みをしたりすることができない。
ファイルシステムを作成して、指定したフォルダにマウントしてやる必要がある。

  • 目標

今回は、HDD(500G)を2つの構成で、1つはメイン(そのまま使えている)で、もう1つをバックアップ用とする予定である。

  • やったこと

はじめての自宅サーバ構築 - Fedora/CentOS - 物理ディスクの増設
にしたがって、スレーブのSATAを/extdisk1にマウントするところまで。

このマウントした先に、バックアップをとっておきたいフォルダをrsyncでバックアップとるようにする。
rsync バックアップ設定 | CentOSサーバー構築マニュアル
cron設定 週次(週1回)起動:技術/開発 メモ

とりあえず、毎日午前5時10分に指定のフォルダにhome以下のファイルをバックアップとるように記述した。

10 05 * * * /usr/bin/rsync -a --delete /home /extdisk1/backup_test > /dev/null 2>&1

Mavericksにgdbを入れる(続き)

ここを参考にhomebrew経由でインストールすることにした。

Installing GDB on OS X Mavericks - Neil Traft


さくっと入った。

f:id:takeknock:20140628041304p:plain

gdb単体で起動するのであれば、これでよいのだが、emacsから起動しようとすると、(undefined command interpreter-execのような感じの)エラーが出た。


さきほどの記事に従って、コード署名を行うと、emacs上からもgdbを起動して、gdbのコマンドが効くようになったことを確認した。