FrontPage
Linux Common
目次
- コマンド メモ
- ファイルシステム
- 映像
- テキスト
- システム監視、top
- ターミナルマルチプレクサー(tmux)
- sudo で adduser や sbin コマンドを使えない
- 1つ前のディレクトリに戻る
- iso ファイルをマウントする
- DVD,CD-ROMからISOファイルを作成する。
- Cronで定期実行をずらす
- 特定のファイルやディレクトリを除いてコピー
- ファイル名の一括変更(正規表現)
- ハードウェアの情報を表示する,Hardware,CPU,Memory,Motherboard,メモリー,マザーボード
- Intel CPUのTurbo boost関連
- ホスト名(コンピュータ名)の変更方法(コマンド,CUI)
- less で行番号を表示する。
- 何文字目から何文字目を抽出,文字列
- 引数
- ディレクトリ名の一括置換
- MC,Midnight Commander
- ディレクトリ(フォルダ)名を指定して一括削除
- UUIDとLABELを表示する。
- プロセスの優先順位を変更する
- Argument list too long が表示される
- vim で 「visual」 となりマウスで範囲選択できない
- その他
- メモリー解放
- 圧縮・解凍
- Network
- Linux ディストリビューション distribution
- その他
- タイムスタンプ
- ubuntu版chkconfig
- ユーザー、グループ管理
- Ubuntu LTS upgrade
- ファイルがあり実行権限があるのに「そのようなファイルやディレクトリはありません」「No such file or directory」と表示される
- ubuntu, /boot 容量削減, kernel削除
- プロセス名でgrepした結果をkillする
- find の結果でpermissionを表示する。
- yum,Error: Multilib version problems found.
- dpkg-divert: エラー: パッケージの不整合です
- 省電力,充電制御,電源設定
- LVM,領域,拡張,volume,partition,
- Ubuntu, OSが起動せず「initramfs」と表示される,HDD エラー修復
- OS が起動せず Control-D とか、root といった文字だけ見える(他は文字化け)
- apt update, apt-key が非推奨となりエラーが表示される
- systemd-resolve が無い
コマンド メモ †
ファイルシステム †
- 強制 umount
sudo umount -l ディレクトリ
- 全てmount [#ua2f8bc5]
sudo mount -a
- ext4 フォーマット [#d6df1d57]
mkfs.ext4
- HDD、パーティションラベル [#zbb73ab2]
e2label|
- ファイルシステムの修復
e2fsck -c /dev/sda1
- e2fsck: Cannot continue, aborting.
e2fsck -nf /dev/sda1
映像 †
- ffmepg マルチコア対応オプション
-threads 8
テキスト †
システム監視、top †
- top(CPU使用率など)
- iotop (ディスクのIO監視)
- iftop (ネットワーク監視)
ターミナルマルチプレクサー(tmux) †
ssh などリモートでログインしている時のセッションを保持する。
作業中、ネットワークが切断されたりターミナルがブチ切れした時も
続きから作業が行える
sudo で adduser や sbin コマンドを使えない †
1つ前のディレクトリに戻る †
cd -
iso ファイルをマウントする †
mount -o loop -t iso9660 isoファイル マウントするディレクトリ
DVD,CD-ROMからISOファイルを作成する。 †
Cronで定期実行をずらす †
特定のファイルやディレクトリを除いてコピー †
ファイル名の一括変更(正規表現) †
- 参考サイト
- やりたい事など
- Ubuntu18.04で実行
- 正規表現で表した規則に則ってファイル名を変更したい。
- 最初の14桁の数字は変わる。
- 具体的には以下な感じ。
- 変更前
- 20181104165305-雑誌名-2016-11.pdf
- 20181104165524-雑誌名-2016-12.pdf
- 変更後
- 雑誌名_2016-11.pdf
- 雑誌名_2016-12.pdf
- 以下のコマンドでできました。
- テスト・コマンド(ちゃんと変換できるか確認)
for org in `find ./ -maxdepth 1 -name "201811*" -printf '%f\n'`
do
replaced=`echo ${org} | sed -e 's/201811........-雑誌名-/雑誌名_/g'`
echo ${org}
echo ${replaced}
done
- 本番(ファイル名変更)コマンド
for org in `find ./ -maxdepth 1 -name "201811*" -printf '%f\n'`
do
replaced=`echo ${org} | sed -e 's/201811........-雑誌名-/雑誌名_/g'`
mv ${org} ${replaced}
done
- スペースが含まれるとうまく変更できないので、rename コマンドも併用。
ハードウェアの情報を表示する,Hardware,CPU,Memory,Motherboard,メモリー,マザーボード †
Intel CPUのTurbo boost関連 †
- Ubuntu
- 参考サイト(UbuntuでIntel Turbo Boostを無効にする)
- 必要ソフトのインストール
udo apt-get install msr-tools
- 必要moduleのロード
sudo modprobe msr
- 状態の表示(pの後ろがCPU番号。以下は例で1)
rdmsr -p1 0x1a0 -f 38:38
- CPUコア番号の取得
cat /proc/cpuinfo | grep processor
- Turbo boost の無効化(p の後ろはCPU番号なのでCPU番号分繰り返す)
wrmsr -p0 0x1a0 0x4000850089
- Turbo boost の有効化(p の後ろはCPU番号なのでCPU番号分繰り返す)
wrmsr -p0 0x1a0 0x850089
- Redhat, CentOS, AlmaLinux?
ホスト名(コンピュータ名)の変更方法(コマンド,CUI) †
- Ubuntu,CnetOS,AlmaLinux? 共通
less で行番号を表示する。 †
- ファイル
less -N ファイル
- コマンド実行結果
コマンド | less -N
何文字目から何文字目を抽出,文字列 †
ls | cut -c 55-500 | sort
引数 †
$1
$2
ディレクトリ名の一括置換 †
rename 's/^12/2012/' *
MC,Midnight Commander †
- Install
- RHEL
sudo yum install mc
- Ubuntu
sudo apt install mc
- 複数選択
Insert
- 右・左の移動
Tab
- 上のメニューへ移動
F9
- help
F1 -> Enter
ディレクトリ(フォルダ)名を指定して一括削除 †
find . -type d -name .comments -prune -exec rm -rf {} +
UUIDとLABELを表示する。 †
sudo blkid
プロセスの優先順位を変更する †
- renice
- renice -n 優先度(数字) -p プロセスNo
- 優先度は確か -20 〜 19
- 値が小さいほど優先順位が高い
Argument list too long が表示される †
vim で 「visual」 となりマウスで範囲選択できない †
- vim ~/.vimrc
set mouse-=a
- sudo vim /root/.vimrc
(sudo用)
set mouse-=a
その他 †
- ls でサイズ順にソートする
ls -S
- pingコマンドの出力結果にタイムスタンプを付与する
ping 8.8.8.8 | xargs -L 1 -I '{}' date '+[%Y/%m/%d %H:%M:%S] {}'
- export した環境変数を削除する。
unset http_proxy
export http_proxy="" では削除されないので注意
- ファイルの合計容量を取得
du -bhc ~/*.pdf
メモリー解放 †
sudo sh -c "echo 3 > /proc/sys/vm/drop_caches"
圧縮・解凍 †
tar.gz †
tar.bz2、tbz †
- bzip2 -dc filename | tar xvf -
.gz †
Network †
ubuntu、network_設定 †
- 設定方法1
- dns-nameservers を利用可にする。
- sudo apt-get install resolvconf
- Network 情報の記述
- リゾルバ(resolv.con)の設定
- network-manager の無効化
#インストール
sudo aptitude -y install sysv-rc-conf
#切り替え
sudo sysv-rc-conf network-manager off
sudo sysv-rc-conf networking on
- network-manager のアンインストール
sudo apt-get remove network-manager
- network の再起動
sudo /etc/init.d/networking restart
- network の再起動2
sudo ifdown eth0
sudo ifup eth0
sudo ifdown eth1
sudo ifup eth1
- 設定方法2
CentOS,RedHat? Network 設定 †
- sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
NM_CONTROLLED=no
IPADDR=192.168.1.29
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
- リゾルバ設定
- network の再起動
sudo /etc/init.d/networking restart
- network の再起動2
sudo ifdown eth0
sudo ifup eth0
/etc/resolv.conf が元に戻ってしまう †
- 以下を編集
sudo vi /etc/resolvconf/resolv.conf.d/base
- 追加
nameserver 192.168.1.1
nameserver 192.168.1.2
search tar3.net
※自分の環境ではこれをやっても resolv.conf が
勝手に書き換わってしまうので、結局上記の
network-manager をやめて /etc/network/interfaces からの
/etc/init.d/networking へ。
さらに、/etc/init.d/networking restart で設定が反映されず
sudo ifdown eth0 && sudo ifup eth0
で設定を反映させました。。。
nextdns †
Linux ディストリビューション distribution †
Debian 系 †
- Debian
- Linux ディストリビューションの中でもかなり老舗
- Ubuntu よりシンプルな構造で軽量。
- パッケージ管理システムは apt
- Ubuntu
- デスクトップ用途に向いているDebianベースのディストリビューション。
- デバイスドライバが豊富で、ハードウェアは大体認識する。
- 2年に一度、LTS(Long time support)、半年に一度のバージョンアップが行われる。
- パッケージ管理システムは apt
- WattOS
- Debian ベースのディストリビューション。
- 省電力に特化。TLPなどを用いながら省電力化。
- Kali Linux
- Debian ベースのディストリビューション。
- サーバーに潜む脆弱性の発見に特化。
- パッケージ管理システムは apt
Redhat 系 †
- CentOS
- 有名な有償 Linux ディストリビューション RedHat? のコピーOS
- 無料
- ほぼ RedHat? のフル機能が使用可能
- パッケージ管理システムは yum
- Fedora
- RedHat? の実験的機能が実装された無償ディストリビューション。
- 無料
- かなり頻繁に更新される模様。
- パッケージ管理システムは yum
その他 †
Puppy Linux †
- 軽量Linux の代表格
- 独自のシステムでパッケージ管理も独自。
Rescuezilla †
- OSのイメージバックアップを取るディストリビューションらしい。
- 未検証。
Back box †
- 軽量Linux
- 家の Sony VAIO Type P 用として使用。(PCG-11113N)
- バージョン7からは寄付必須??
その他 †
タイムスタンプ †
- 参考サイト
- UNIXファイルのタイムスタンプは以下の3つ。
タイムスタンプ名 | 説明 | 参照コマンド | atime | 最終アクセス時刻 (access time) | ls -lu | mtime | 最終変更時刻 (modify time) | ls -l | ctime | 最終ステータス変更時刻 (change time) | ls -lc |
ubuntu版chkconfig †
sudo apt-get install sysv-rc-conf
sudo sysv-rc-conf networking on
ユーザー、グループ管理 †
Ubuntu LTS upgrade †
sudo do-release-upgrade
ファイルがあり実行権限があるのに「そのようなファイルやディレクトリはありません」「No such file or directory」と表示される †
- 32bitアプリ、64bitアプリが合ってない可能性がある
ubuntu, /boot 容量削減, kernel削除 †
- 参考(外部):古いカーネルの削除方法メモ
- 現在のカーネルバージョンを確認
uname -r
- インストールされているカーネルを確認
dpkg --get-selections | grep linux-
- 削除(複数選択可能)
sudo apt-get autoremove --purge linux-headers-3.13.0-{65,67,71}
- きちんと消えなければimageを削除
sudo apt-get autoremove --purge linux-image-3.13.0-{65,67,71}
プロセス名でgrepした結果をkillする †
find の結果でpermissionを表示する。 †
yum,Error: Multilib version problems found. †
dpkg-divert: エラー: パッケージの不整合です †
- 結構はまったのですが、退避ファイルに関するパッケージの不整合。
- エラーは以下な感じ。
dpkg-divert: エラー: パッケージの不整合です
`libnvidia-gl-460 による /usr/lib/i386-linux-gnu/libEGL.so の退避 (divert)' の削除中に
`nvidia-340 による /usr/lib/i386-linux-gnu/libEGL.so から /usr/lib/i386-linux-gnu/libEGL.so.distrib への退避 (divert)' を発見しました
dpkg: アーカイブ /var/cache/apt/archives/libnvidia-gl-460_460.73.01-0ubuntu0.18.04.1_i386.deb の処理中にエラーが発生しました (--unpack):
new libnvidia-gl-460:i386 package pre-installation script subprocess returned
error exit status 2
処理中にエラーが発生しました:
/var/cache/apt/archives/libnvidia-gl-460_460.73.01-0ubuntu0.18.04.1_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
- 注目するのは以下の部分。
/usr/lib/i386-linux-gnu/libEGL.so
- distribファイルを以下のコマンドで根気良く削除していきます。
同じようなPathやファイルが有るので出来ればコピペした方が良いかも。。。
sudo dpkg-divert --rename --remove /usr/lib/i386-linux-gnu/libEGL.so
- 少しずつ削除していきますが、以下のエラーも出ます。
'nvidia-340 による /usr/lib/i386-linux-gnu/libGL.so.1 から /usr/lib/i386-linux-gnu/libGL.so.1.distrib への退避 (divert)' を削除しています
dpkg-divert: エラー: 名前変更は `/usr/lib/i386-linux-gnu/libGL.so.1' を異なるファイル `/usr/lib/i386-linux-gnu/libGL.so.1.distrib' で上書きすることを伴います。
これは許可されていません。
- この場合は、distribファイルを手動で削除して再度コマンドをsudo dpkg-divert コマンドを実行しました。
- ちなみに以下のコマンドとセットで少しずつ進めました。
sudo apt --fix-broken install
省電力,充電制御,電源設定 †
- 関連ソフトのインストール
- powertopの簡単な使い方
- tlp
- 起動
sudo systemctl start tlp
- 自動起動の設定
sudo systemctl enable tlp
- 充電制御
- Ubuntu 20.04 では以下のファイルを変更
sudo vim /etc/tlp.conf
- 以下の行のコメントアウトを外す
START_CHARGE_THRESH_BAT0=75
STOP_CHARGE_THRESH_BAT0=80
- tlp を再起動
sudo systemctl restart tlp
- tlp 設定の確認
sudo tlp-stat -b
- バッテリーの状態を確認
upower -i /org/freedesktop/UPower/devices/battery_BAT0
LVM,領域,拡張,volume,partition, †
参考サイト †
- 【LVM入門】LinuxのLVMでディスク容量を拡張する
- LVMでディスク拡張(CentOS6 + lvm2 + ext4)
df コマンドで現状を確認 †
[root@localhost ~]# df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/mapper/rhel-root 14G 1.4G 13G 11% /
devtmpfs 908M 0 908M 0% /dev
tmpfs 920M 0 920M 0% /dev/shm
tmpfs 920M 8.9M 911M 1% /run
tmpfs 920M 0 920M 0% /sys/fs/cgroup
/dev/sda1 1014M 146M 869M 15% /boot
tmpfs 184M 0 184M 0% /run/user/0
/dev/mapper/vg_sdb1-lv_sdb1 2.0G 33M 2.0G 2% /mnt
拡張前のディスク容量を確認 †
fdisk -l /dev/sda
ファイルシス サイズ 使用 残り 使用% マウント位置
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 41M 1.9G 3% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root 36G 3.5G 30G 11% /
/dev/sda1 477M 186M 262M 42% /boot
/dev/mapper/centos-var 30G 7.4G 21G 27% /var
centos6:/var/log 9.5G 692M 8.4G 8% /mnt/centos6-log
VMなどでHDDのストレージを拡張 †
- 方法は省略
- 拡張後は変わらず
fdisk -l /dev/sda
ファイルシス サイズ 使用 残り 使用% マウント位置
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 41M 1.9G 3% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root 36G 3.5G 30G 11% /
/dev/sda1 477M 186M 262M 42% /boot
/dev/mapper/centos-var 30G 7.4G 21G 27% /var
centos6:/var/log 9.5G 692M 8.4G 8% /mnt/centos6-log
拡張後OSでリスキャンし、容量を認識させる †
パーティションの拡張 †
- 以下のコマンドを実行(例 /dev/sda)
sudo parted /dev/sda
- (parted) のプロンプトで以下のコマンドを実行
p free
- resizepart を実行
resizepart
- 再度確認
p free
PV容量拡張 †
- 現状確認
pvdisplay /dev/sda2
- PVのリサイズ
pvresize /dev/sda2
- 再度確認
pvdisplay /dev/sda2
- 一応VGも確認しておく
vgdisplay vg_sda2
LV容量拡張 †
- 現状の確認(vg_sdb1/lv_sda2 は適宜変更)
lvdisplay /dev/vg_sdb1/lv_sda2
- 対象を100%に増やす
lvextend -l +100%FREE /dev/vg_sda2/lv_sda2
- 再度確認
lvdisplay /dev/vg_sdb1/lv_sda2
ファイルシステム拡張(ext4) †
最後に確認 †
df -h
Ubuntu, OSが起動せず「initramfs」と表示される,HDD エラー修復 †
- とりあえず起動するための施策
- とりあえず以下のコマンドでファイルチェック & 修復
赤い箇所は適宜書き換え
- 途中で何回か「y」キーを押す
- 終わったら「reboot」コマンドで再起動
- 起動後、不良セクタを調べる
- sudo badblocks -v -s /dev/sda6 | tee /tmp/badblocks.txt
- 不良セクタのマーキング
- e2fsck -l /tmp/badblocks.txt /dev/sda6
- 1回のコマンドですべて実行
- sudo fsck -t -y -f -c /dev/sda6
OS が起動せず Control-D とか、root といった文字だけ見える(他は文字化け) †
- とりあえず root のパスワードを入力すれば、bash が表示される
apt update, apt-key が非推奨となりエラーが表示される †
- エラーメッセージ
- W: (URL): Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
- 対策
- まずは普通にダウンロード(例はmoose file system)
wget https://ppa.moosefs.com/moosefs.key
- 変換(import)
gpg --no-default-keyring --keyring temp-keyring.gpg --import moosefs.key
- 変換後の出力
gpg --no-default-keyring --keyring temp-keyring.gpg --export --output moosefs-gpg.gpg
- apt へコピー
sudo cp moosefs-gpg.gpg /etc/apt/trusted.gpg.d/
- soucelist の編集
vim /etc/apt/sources.list
- 例(signed-by= 以下を追加)
deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/moosefs-gpg.gpg] http://ppa.moosefs.com/moosefs-3/apt/ubuntu/focal focal main
systemd-resolve が無い †
|