By ribbon @
2021-03-13 22:57
openSUSE のパッケージを YaST からインストールするとき、そのパッケージの説明が表示されます。ただ、残念ながら、その多くは英文のままです。パッケージの多くは OS インストール時に自動的にインストールされてしまいますので、説明文を読むことはないのですが、後から個別にインストールする場合には、日本語の説明文があるとわかりやすいですね。 そこで、まだ訳されていないパッケージの説明文を訳してみることにしました。 また、訳していると結構おなじみなソフトウェアにお目にかかることもありますが、今まで聞いたことがないような、かつ、何か面白そうなソフトウェアに出くわすこともあります。そこで、そのようなソフトウェアを試しに動かしてみて、使えそうかどうか調べて見ることにしました。
パッケージ名 wkhtmltopdf バージョン wkhtmltopdf-0.12.6-1.3 結果 △ 詳細 これは、html を pdf に変換するためのツールです。が、残念ながらうまく変換してくれませんでした。情報がごっそり落ちてしまいます。
パッケージ名 w3c-markup-validator バージョン w3c-markup-validator-1.3-10.4 結果 △ 詳細 htmlファイルが w3c のマークアップ定義に準拠しているかどうかを調べるソフトウェアです。これは apache2 のcgiとして提供され、perl で書かれています。が、すんなりと動いてくれませんでした。起動時にエラーとなります。これは、 /etc/apach2/conf.d/w3c-markup-validator.conf の46行目に、 Order Deny,Allow と言う記述があり、Apache2.4では非推奨なためです。そのため、 https://www.adminweb.jp/apache/allow/index10.html にあるように、 access_compat_module の導入が必要となります。 そこで、/etc/apache2/loadmodule.conf に下記の行を追加しました。
LoadModule access_compat_module /usr/lib64/apache2/mod_access_compat.so
が、やっぱりエラーとなります。原因は簡単で、/etc/sysconfig/apache2 の中にロードするモジュール一覧を記述するところがあり、そこに、access_compat という文字列を追加しなければならないのでした。 調べて見ると、まず最初に見るファイル、/etc/apache2/httpd.conf の内容から、openSUSEでは、apache の設定が、機能単位毎にファイルが分かれていることがわかりました。その中に、/etc/sysconfig/apache2 でモジュール設定をすることが書いてありました。動かなかったのはこういうことだったわけです。
次に、データの準備をします。w3c-markup-validation は /srv/www/w3c-markup-validation と言うディレクトリにデータをおいてくれます。今回はサクッとテストするので、これを /srv/www と置き換え(ディレクトリを1つ下げてディレクトリ名を入れ替え)てみました。これでブラウザを使ってアクセスしてみると動きました。
が、テストしてみるとやはり駄目です。
もう少し apache の設定ファイルに調整が必要なようです。 今回は、openSUSE の apacheの設定ファイルが、他のものとはかなり異なっていることが分かったというのが幸いでした。
パッケージ名 watchman バージョン watchman-4.9.0-5.4 結果 △ 詳細 ファイル変更を監視するプログラムらしいです。一応。コマンドを叩いて、サーバモードで動作することまでは動作確認が出来ました。しかし、ドキュメントを軽く読んで限りでは、使い方がよく分かりませんでした。一応試してみた方はいらっしゃるようです。
https://kore1server.com/260/ファイル監視のwatchman
パッケージ名 wcd バージョン wcd-6.0.3-1.5 結果 × norton utility の wcd クローンです。最初にディレクトリをスキャンして、すべてのサブディレクトリを内部的に保持。次回からは、ずっとずっとしたのディレクトリ名を指定すれば一気に cd ができるというもののようです。 パッケージのバイナリは、 /usr/libexec/wcd.exe 。当然のことながら、パスが通ってないので直接指定しないと動きません。オプションで -g を付けると curses ベースのグラフィック表示になります。
ここまではいい感じでした。 が、実際にやってみると cd しないのです。元のまま。というわけで使えませんでした。
パッケージ名 wdiff バージョン wdiff-1.2.2-6.8 結果 ◎ 詳細 単語レベルでの比較をする diff です。たとえば
% wdiff COPYING COPYING2 | head GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, [-1991-] {+2021+} Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this [-license document,-] {+license-documents,+} but changing it is not allowed.
のように、差分を表示してくれます。 英単語では当然のことながらちゃんと動きます。が、やはり日本語での単語切り分けは無理のようです。 ….と思ったのですが、なんと、jwdiff という日本語対応の wdiff があったのでした。
https://fumiyas.github.io/2013/12/12/jwdiff.sh-advent-calendar.html
https://github.com/fumiyas/home-commands/blob/master/jwdiff
mecab を使うところがポイントですね。 そのほかに docdiff というのもあるそうです。
https://github.com/hisashim/docdiff
パッケージ名 whohas バージョン whohas-0.29.1-1.10 結果 ◎ 詳細 これは、あるパッケージが、複数のディストリビューションに含まれているかを調べるコマンドです。たとえば、このコマンド自身を検索すると
Couldn't fetch "http://dl.fedoraproject.org/pub/fedora/linux/releases/26/Everything/x86_64/os/Packages/w/". Giving up. AUR 0.29.1-1 5 http://aur.archlinux.org 0.29.1-1 Ubuntu whohas 0.29.1-1 179K all http://packages.ubuntu.com/xenial/whohas Ubuntu whohas 0.29.1-1 179K all http://packages.ubuntu.com/bionic/whohas Ubuntu whohas 0.29.1-1 179K all http://packages.ubuntu.com/focal/whohas Ubuntu whohas 0.29.1-1 179K all http://packages.ubuntu.com/groovy/whohas Ubuntu whohas 0.29.1-1.1 179K all http://packages.ubuntu.com/hirsute/whohas NetBSD whohas 0.29.1nb2 192K 2020-09-01 misc https://pkgsrc.se/misc/whohas Couldn't fetch "http://ftp.openbsd.org/pub/OpenBSD/6.0/packages/i386/". Giving up. Source Mage whohas 0.29.1 test Source Mage whohas 0.29 stable Debian whohas 0.29-0.3 189K all http://packages.debian.org/jessie/whohas Debian whohas 0.29.1-1 180K all http://packages.debian.org/stretch/whohas Debian whohas 0.29.1-1 180K all http://packages.debian.org/buster/whohas Debian whohas 0.29.1-1.1 180K all http://packages.debian.org/bullseye/whohas Debian whohas 0.29.1-1.1 180K all http://packages.debian.org/sid/whohas
という感じで表示されます。検索は、各ディストリビューションの検索サイトを使って行い、その結果を表示するということをやっています。そのため、似たようなパッケージなども表示されるときがあります。複数のバージョンが表示されるときもあります。 対象となるディストリビューションはArch, Debian, Fedora, Gentoo, Mandriva, openSUSE, Slackware (と linuxpackages.net), Source Mage, Ubuntu, FreeBSD, NetBSD, OpenBSD, Fink, MacPorts, Cygwin and OpenMoko です。ただ、openSUSE については、うまく検索ができないようです。ソースコードが期待している結果が返ってきてないのかもしれません。 あるパッケージの移植状況などを調べるときには重宝しそうです。
パッケージ名 wmutils バージョン wmutils-1.4-1.9 結果 ◎ 詳細 X のウィンドウに対して情報を得たり種々の操作をするコマンドラインツールです。たとえば、現在のウィンドウのサイズを調べるには、pfw コマンドを使ってウィンドウの ID を取得し、wattr コマンドでサイズを取得します。
以下の機能が用意されています。
chwb - change window's border
chwso - change window's stacking order
ignw - ignore/unignore window
killw - kill windows
lsw - list windows
mapw - map/unmap windows
pfw - print focused window
wattr - show window's attributes
wmp - move the mouse pointer
wmv - move a window
wm_wtf - focus a window
wrs - resize a window
wtp - teleport a window
スクリプトなどでウィンドウの制御をするときには便利に使えそうです。
Category
openSUSE ,
Tips ,
その他 |
受け付けていません
By Syuta Hashimoto @
2020-12-23 01:30
諸事情で、MicroOSのルートにbtrfsの機能でディスクを追加したのですが、balasceを実行しようとすると「read onlyだよ」と警告が。
ユーザ会slackに投げてみた所、武山さんから「transactional-update shellの中ならいけるのでは?」との助言を頂きました。
結論
成功
コマンド
transactional-update shell
transactional-updateそのもののアップデートが行われた後、独自のシェルに移行しました。
transactional update #
この状態で書き込み可能になります。書き込み後、シェルを抜けてrebootすれば反映されるしくみですね。
btrfs balance /
前後の状態を撮り損ねてしまったのですが、無事にbalanceされてました。
transactional-updateの真価はまだ味わえてないので、ロールバック等含め、近いうちにまとめて検証してみたいですね。
そもそも、transactional-update shellが一体何をどうしているのかも追えていない・・・
By ribbon @
2020-12-20 00:02
めでたくTumbleweedに20201115版の日本語マニュアルが入りましたが、必ずしも最新の日本語manpage が入ったわけではありません。たとえば、 od コマンドは、日本語訳が GNU textutils のバージョン2.1なのに対し、英語版の方はcoreutils のバージョン8.32になっています。coreutils にいくつかのパッケージが集約されたことも反映されていません。
たとえば od の日本語manpage には –endian オプションが含まれていません。また、接尾辞についての記述も、 b (512倍)しか記載がありません。8.32では、KB,K(KirobyteとKibibyte),MB,Mのように、単位を示す記述についての記載もあります(Mの上、G,T,P,E,Z,Yも使えます)。
openSUSEの場合、たとえば man od とすると、同じmanpage が複数ある場合、一旦マニュアルを選択する画面が表示されます。たとえば、環境変数で LANG=ja_JP.UTF-8 というように日本語を指定する場合、そのままEnterキーを入力すると、既定で日本語のmanpage が表示されます。しかし、1+1,あるいは +1 というように指定すると、英語版のマニュアルを表示できます。ですので、マニュアルページを参照する際は、適宜英語版のマニュアルも参照して、日本語版と差がないかどうかを確認することをお勧めします。
Category
openSUSE ,
Tips ,
その他 |
受け付けていません
By ftake @
2020-12-18 01:59
この記事は openSUSE Advent Calendar 18日目です。 残り、あと少しですが、まだ埋まってなく3年連続の完走がピンチ。みなさんご協力下さい。
この内容は小江戸らぐ のオフな集まり2月と、オフだけどオンライン開催だった5月の発表内容でもあります。
ことの始まり
この春、ファイルサーバーを組みました。これまで、写真等の大きめのファイルはデスクトップに置いていましたが、タブレットやスマフォを使用しているとデスクトップを起動しないこともあり、アクセスするにはちょっと不便でした。かといってクラウドに上げるには容量が大きいのが現状です。
このとき、電源の故障で引退した、ちょっと古いけどまだ使える一式(Socket FM2 の M/B, AMD A4-5300 APU, DDR3 8 GBメモリ)があったのと、鹿さん から、使わなくなったファイルサーバー用の MiniITX ケースを頂いたので、これでファイルサーバーを組んでみることにしました。
RAID カード調達
HDD は NAS 用のものを適当に買うとして、1度はRAID 5 や 6 で組んでみたい!ということで、RAID カードを探しました。一般のご家庭(誤変換)では、数万円クラスのカードを使っているかと思いますが、この「ありあわせ構成」には不釣り合いです。安く入手する方法としては、ヤフオクなどでサーバーから抜き取ったものを探す手がありますが、あまりに古いと EFI に対応していなかったり、4 KB セクタや 2TB の壁にあたる可能性があります。また、中古品はキャッシュ保護用のバッテリーが死んでいる可能性もあります。
そこで今回は eBay で3世代前の Adaptec ASR-71605 の新古品を買ってみました。キャッシュ保護用のコンデンサ付き、送料込みで 8500円くらいでした。ドライバはカーネルに入っているのですぐに使えます。
意外と高かったのがケーブルでした。Mini SAS HD から SATA ×4にするもので、Amazon で 2500 円くらいでした。
OS インストール
セットアップに困ることはないはずが、openSUSE 15.1 をインストールすると、なぜかディスプレイドライバが固まります。いろいろ試したところ modeset ドライバを ACPI が有効な状態で使うとダメなようです。今回はディスプレイはほとんど使わないので nomodeset を起動オプションに追加することで回避しました。(modeset ドライバだと、コンソールの解像度がディスプレイにあわせて変わるので良いのですが…)
ファイルサーバーの設定
Samba は入れるだけです。とっても簡単ですね。
Btrfs にしてスナップショットを取るようにしました。このあたりはOSCのスライド や Geeko Magazine を見てください。
iSCSI サーバーは4月に書いた別の記事 で。
バックアップの設定
重要なディレクトリを選んで USB 接続の HDD に1日に1回、Snapper の最新スナップショットからバックアップを取るようにしました。単純に rsync でコピーを取ります。Btrfs のバックアップといえば、ファイルシステムレベルで差分転送をできる btrfs send があります。しかし、ファイルシステムが壊れてしまった場合に、btrfs send を行うとバックアップも壊れる可能性があるのではないかと考え、今回は使用しませんでした。
タイマーとスクリプトはこのような感じです。タイマーの時間は Snapper の実行中にならないように気をつける必要があります。
backup-to-usb-disk.timer
[Unit]
Description=Back up files to USB disk daily
[Timer]
OnCalendar=*-*-* 6:20:00
Persistent=true
[Install]
WantedBy=timers.target
backup-to-usb-disk.service
[Unit]
Description=Back up files to USB disk
[Service]
ExecStart=/usr/local/sbin/backup-to-usb-disk.sh
Type=oneshot
backup-to-usb-disk.sh
#!/bin/bash
set -e
if [ ! -f /var/backup/backupdisk ]; then
echo "Back up disk is not found"
exit 1
fi
# home
snapshot_root=/home/.snapshots
cd $snapshot_root
latest_snapshot=`ls -1 | grep "[0-9]*" | sort -nr | head -n 1`/snapshot/
echo "creating back up of /home/.snapshots/$latest_snapshot"
if [ ! -e $latest_snapshot ]; then
echo "Snapshot directory error"
exit 1
fi
target_dir=/var/backup/home/
rsync -va --delete $latest_snapshot $target_dir
様子見中
Snapper が走る時(おそらく)に btrfs-cleaner がかなり CPU を使うので、試しに Quota 機能を無効にしています。
おわりに
簡単にではありますが、ファイルサーバーを構築したときのいろいろを紹介しました。このファイルサーバーでは、先日書いた Spotify クライアント も動いています。新たな活用を始めたら記事にしたいと思います。
Category
openSUSE ,
サーバ |
受け付けていません
By Syuta Hashimoto @
2020-12-17 01:00
私はKubicでKubernetesを構築しているのですが、Kuibcをアップデートしてkubeletのバージョンが1.19に上がったはずなのにもかかわらず、kubectl get nodeでずっとバージョンが1.18となっていて悩んでいました。
結論
/etc/sysconfig/kubelet に設定されている KUBELET_VERを、1.18から1.19に変更する
調査
パッケージを確認
まず、パッケージがなんのバージョンが入っているかを確認します。
kubic1-host:~ # zypper se kubelet S | Name | Summary | Type —+——————————-+—————————+——– i | kubernetes-kubelet | Kubernetes kubelet daemon | package i | kubernetes1.17-kubelet | Kubernetes kubelet daemon | package | kubernetes1.17-kubelet-common | Kubernetes kubelet daemon | package i | kubernetes1.18-kubelet | Kubernetes kubelet daemon | package i | kubernetes1.18-kubelet-common | Kubernetes kubelet daemon | package i+ | kubernetes1.19-kubelet | Kubernetes kubelet daemon | package | kubernetes1.19-kubelet-common | Kubernetes kubelet daemon | package | kubernetes1.20-kubelet | Kubernetes kubelet daemon | package | kubernetes1.20-kubelet-common | Kubernetes kubelet daemon | package
どうやら、1.17、1.18、1.19、と、いろいろなバージョンが入ってるようです。
今見たら、1.20も入ってますね。
使ってるバイナリを確認
kubic1-host:~ # type kubelet
kubelet is hashed (/usr/bin/kubelet)
ふむふむ。/usr/bin/kubelet、ですね。
こういう実行ファイルはスクリプトの場合があったりするので、種別を調べてみます。
kubic1-host:~ # file /usr/bin/kubelet /usr/bin/kubelet: POSIX shell script, ASCII text executable
なるほど、スクリプトっぽいですね。
中身を確認します。
kubic1-host:~ # cat /usr/bin/kubelet #!/bin/sh # Loader Script for Multi-Version Kubelet arrangement introduced to openSUSE in March 2020 source /etc/sysconfig/kubelet if [ -z “$KUBELET_VER” ] then echo “ERROR: KUBELET_VER= not defined in /etc/sysconfig/kubelet” exit 1 else /usr/bin/kubelet$KUBELET_VER “$@” fi
どうやら、/etc/sysconfig/kubeletの値を参照しているようです。こちらを確認してみます。
kubic1-host:~ # cat /etc/sysconfig/kubelet KUBELET_VER=1.19 KUBELET_EXTRA_ARGS=”–container-runtime=remote –container-runtime-endpoint=unix:///var/run/crio/crio.sock –runtime-request-timeout=15m –c group-driver=systemd -v=2 –runtime-cgroups=/systemd/system.slice –kubelet-cgroups=/systemd/system.slice”
なるほど、KUBELET_VERが定義されています。nodeのバージョンが低いときは、ここが1.18となっていましたので、それを1.19に更新しました。
それからKubernetesを起動すると、見事バージョンが1.19にあがってました。
今なら1.20に上がる予感・・・・
メーリングリスト
最近忙しいこともあって、なかなかメーリングリストなどの情報源にあたれず・・・もしかしたら、こういったことはとうに情報共有されていたのかもしれません。また、この設定がKubic独自なのか、一般的なのか、といったことも追いきれておらず。追って調査したいと思います。
そもそもの使い方
アップデートで使い続けるのではなく、折を見て最新プリメイドイメージに乗り換えていく運用が今っぽいのかも・・・・・
Category
サーバ ,
未分類 |
受け付けていません
By ribbon @
2020-12-16 00:03
Geeko Blog » マニュアルのみのRPMファイルを作ってみた で、Sambaの日本語マニュアルパッケージを作成した時に参照したLinuxの日本語マニュアルページですが、2017年12月15日バージョンでした。これは openSUSE 15.0 から変わっていません。ちょっと古いですね。そこで、他のディストリビューションなどと比較して見ることにしました。結果は以下の通りです。なお、各ディストリビューションとも、各種コマンドでパッケージの最新化をして確認するか、配布サイトのパッケージ情報を見ています(※のもの)。
CentOS 7 20130615版 Debian10 20180315版 openSUSE 15.2 20171215版 openSUSE Thumbleweed 20191215版(※) Fedora 20200315版(※) Oracle Linux 20130615版(※) Arch Linux なし(※) Gentoo Linux 20180315版(※)
CentOS(=RedHat=Oracle Linux)はちょと古すぎますね。Fedora はやはりというか新しいです。しかし、Thumbleweed も結構新しい方でしょう。とりあえず15.2で使うのであれば、Thumbleweed版を持ってきて入れてしまうと言うのも手かもしれません。rpmファイルの中身はテキストだけなので、バイナリの互換性で引っかかることはないですから。
ちなみに、日本語マニュアルについては、Open Build Service で20201115版を作成し、更新をお願いしておきましたので、そのうちopenSUSE用の最新版が提供されるようになるのではないかと思います。
ただ、ls コマンドのマニュアルを見てみると、openSUSE 15.2 での日本語マニュアルはは GNU Fileutils のバージョンが4.1であると表示されますが、英語版は バージョン8.29 となっています。となると、日本語マニュアルに頼りすぎるのは少々危険かもしれません。
By ftake @
2020-12-14 23:16
openSUSE Advent Calendar の14日目です。
オンラインイベント続きで Zoom が欠かせない今日この頃ですね。openSUSE 用のクライアントアプリの RPM パッケージは公開されていますが、なぜかリポジトリからの配信ではありません。そのため、アップデートが簡単にできなく不便です。
ということで、1コマンドで更新する小ネタです。単に zypper で URL を指定するだけです。自動更新がよければ、Systemd Timer で定期実行してもいいかもしれませんね。
sudo zypper in https://zoom.us/client/latest/zoom_openSUSE_x86_64.rpm
Category
openSUSE ,
デスクトップ |
受け付けていません
10 / 22 « 先頭 « ... 8 9 10 11 12 ... 20 ... » 最後 »