解决 PVE 报错 rbd error list images

针对下列报错:

    2021-05-26 11:06:11 ERROR: Failed to sync data - rbd error: rbd: listing images failed: (2) No such file or directory

解决方法

进入命令行,执行

# 查看 rbd 清单
rbd ls -l <cephpool-name>
# 例如:
rbd ls -l data

# 使用命令删除错误磁盘镜像
rbd rm <img-name> -p <cephpool-name>

# 例如
rbd rm vm-111-disk-0 -p data

References

#ProxmoxVE #Ceph

getopts 处理 shell 参数

处理命令行参数是一个相似而又复杂的事情,为此,C提供了getopt/getopt_long等函数,
C++的boost提供了Options库,在shell中,处理此事的是getoptsgetopt.
getoptsgetopt功能相似但又不完全相同,其中getopt是独立的可执行文件,而getopts是由Bash内置的。
先来看看参数传递的典型用法:

  • ./test.sh -a -b -c: 短选项,各选项不需参数
  • ./test.sh -abc : 短选项,和上一种方法的效果一样,只是将所有的选项写在一起。
  • ./test.sh -a args -b -c :短选项,其中 -a 需要参数,而 -b -c 不需参数。
  • ./test.sh --a-long=args --b-long :长选项 使用getopts非常简单:
#test.sh

#!/bin/bash

while getopts "a:bc" arg #选项后面的冒号表示该选项需要参数
do
        case $arg in
             a)
                echo "a's arg:$OPTARG" #参数存在$OPTARG中
                argument1=$OPTARG
                ;;
             b)
                echo "b"
                branch=1
                ;;
             c)
                echo "c"
                iscar=1
                ;;
             ?)  #当有不认识的选项的时候arg为?
            echo "unkonw argument"
        exit 1
        ;;
        esac
done

现在就可以使用:

./test.sh -a arg -b -c

./test.sh -a arg -bc

来加载了。
应该说绝大多数脚本使用该函数就可以了,如果需要支持长选项以及可选参数,那么就需要使用getopt.

References

名侦探柯南松田阵平出场集数(最新1069话)

松田阵平,《名侦探柯南》原作漫画及其衍生作品中登场的角色,警视厅警备部机动队爆炸物处理班队员。在萩原研二殉职后为了给朋友报仇而多次申请调往处理炸弹犯的特殊犯系,领导为了让他冷静一下而将他调任到了强行犯系。

在三年前为了传达另一处炸弹所在而殉职。

下面整理松田阵平在剧内出场集数。

电视动画

集数 标题 首播时间 登场形式 备注
301(323) 恶意与圣者的游行(前篇) 2002/11/25 远影
302(324) 恶意与圣者的游行(后篇) 2002/12/02 远影
304(326-329) 震动的警视厅 1200万人质 2003/01/06 回忆登场、远影
359(390) 本厅刑警恋爱物语5(后篇) 2004/05/10 远影
535(586) 旧伤痕与刑警之魂 2009/05/23 远影
984(1041) 基德VS高明 被盯上的唇(后篇) 2020/10/10 远影
1029(1086) 警察学校篇 Wild Police Story CASE.松田阵平 2021/12/04 回忆登场
1038(1095) 警察学校篇 Wild Police Story CASE.伊达航 2022/03/12 回忆登场
1042(1099) 警察学校篇 Wild Police Story CASE.萩原研二 2022/05/07 回忆登场
1061(1118) 警察学校篇 Wild Police Story CASE.诸伏景光 2022/10/29 回忆登场
1068(1125) 圆谷光彦的侦探笔记 2023/01/07 登场 仅开头新年贺词部分登场

rsync 用法教程

简介

rsync 是一个常用的 Linux 应用程序,用于文件同步。

它可以在本地计算机与远程计算机之间,或者两个本地目录之间同步文件(但不支持两台远程计算机之间的同步)。它也可以当作文件复制工具,替代cpmv命令。

它名称里面的r指的是 remote,rsync 其实就是”远程同步”(remote sync)的意思。与其他文件传输工具(如 FTP 或 scp)不同,rsync 的最大特点是会检查发送方和接收方已有的文件,仅传输有变动的部分(默认规则是文件大小或修改时间有变动)。

安装

如果本机或者远程计算机没有安装 rsync,可以用下面的命令安装。


# Debian
$ sudo apt-get install rsync

# Red Hat
$ sudo yum install rsync

# Arch Linux
$ sudo pacman -S rsync

注意,传输的双方都必须安装 rsync。

基本用法

-r 参数

本机使用 rsync 命令时,可以作为cpmv命令的替代方法,将源目录同步到目标目录。


$ rsync -r source destination

上面命令中,-r表示递归,即包含子目录。注意,-r是必须的,否则 rsync 运行不会成功。source目录表示源目录,destination表示目标目录。

如果有多个文件或目录需要同步,可以写成下面这样。


$ rsync -r source1 source2 destination

上面命令中,source1source2都会被同步到destination目录。

-a 参数

-a参数可以替代-r,除了可以递归同步以外,还可以同步元信息(比如修改时间、权限等)。由于 rsync 默认使用文件大小和修改时间决定文件是否需要更新,所以-a-r更有用。下面的用法才是常见的写法。


$ rsync -a source destination

目标目录destination如果不存在,rsync 会自动创建。执行上面的命令后,源目录source被完整地复制到了目标目录destination下面,即形成了destination/source的目录结构。

如果只想同步源目录source里面的内容到目标目录destination,则需要在源目录后面加上斜杠。


$ rsync -a source/ destination

上面命令执行后,source目录里面的内容,就都被复制到了destination目录里面,并不会在destination下面创建一个source子目录。

-n 参数

如果不确定 rsync 执行后会产生什么结果,可以先用-n--dry-run参数模拟执行的结果。


$ rsync -anv source/ destination

上面命令中,-n参数模拟命令执行的结果,并不真的执行命令。-v参数则是将结果输出到终端,这样就可以看到哪些内容会被同步。

--delete 参数

默认情况下,rsync 只确保源目录的所有内容(明确排除的文件除外)都复制到目标目录。它不会使两个目录保持相同,并且不会删除文件。如果要使得目标目录成为源目录的镜像副本,则必须使用--delete参数,这将删除只存在于目标目录、不存在于源目录的文件。


$ rsync -av --delete source/ destination

上面命令中,--delete参数会使得destination成为source的一个镜像。

排除文件

--exclude 参数

有时,我们希望同步时排除某些文件或目录,这时可以用--exclude参数指定排除模式。


$ rsync -av --exclude='*.txt' source/ destination
# 或者
$ rsync -av --exclude '*.txt' source/ destination

上面命令排除了所有 TXT 文件。

注意,rsync 会同步以”点”开头的隐藏文件,如果要排除隐藏文件,可以这样写--exclude=".*"

如果要排除某个目录里面的所有文件,但不希望排除目录本身,可以写成下面这样。


$ rsync -av --exclude 'dir1/*' source/ destination

多个排除模式,可以用多个--exclude参数。


$ rsync -av --exclude 'file1.txt' --exclude 'dir1/*' source/ destination

多个排除模式也可以利用 Bash 的大扩号的扩展功能,只用一个--exclude参数。


$ rsync -av --exclude={'file1.txt','dir1/*'} source/ destination

如果排除模式很多,可以将它们写入一个文件,每个模式一行,然后用--exclude-from参数指定这个文件。


$ rsync -av --exclude-from='exclude-file.txt' source/ destination

--include 参数

--include参数用来指定必须同步的文件模式,往往与--exclude结合使用。


$ rsync -av --include="*.txt" --exclude='*' source/ destination

上面命令指定同步时,排除所有文件,但是会包括 TXT 文件。

远程同步

SSH 协议

rsync 除了支持本地两个目录之间的同步,也支持远程同步。它可以将本地内容,同步到远程服务器。


$ rsync -av source/ username@remote_host:destination

也可以将远程内容同步到本地。


$ rsync -av username@remote_host:source/ destination

rsync 默认使用 SSH 进行远程登录和数据传输。

由于早期 rsync 不使用 SSH 协议,需要用-e参数指定协议,后来才改的。所以,下面-e ssh可以省略。


$ rsync -av -e ssh source/ user@remote_host:/destination

但是,如果 ssh 命令有附加的参数,则必须使用-e参数指定所要执行的 SSH 命令。


$ rsync -av -e 'ssh -p 2234' source/ user@remote_host:/destination

上面命令中,-e参数指定 SSH 使用2234端口。

rsync 协议

除了使用 SSH,如果另一台服务器安装并运行了 rsync 守护程序,则也可以用rsync://协议(默认端口873)进行传输。具体写法是服务器与目标目录之间使用双冒号分隔::


$ rsync -av source/ 192.168.122.32::module/destination

注意,上面地址中的module并不是实际路径名,而是 rsync 守护程序指定的一个资源名,由管理员分配。

如果想知道 rsync 守护程序分配的所有 module 列表,可以执行下面命令。


$ rsync rsync://192.168.122.32

rsync 协议除了使用双冒号,也可以直接用rsync://协议指定地址。


$ rsync -av source/ rsync://192.168.122.32/module/destination

增量备份

rsync 的最大特点就是它可以完成增量备份,也就是默认只复制有变动的文件。

除了源目录与目标目录直接比较,rsync 还支持使用基准目录,即将源目录与基准目录之间变动的部分,同步到目标目录。

具体做法是,第一次同步是全量备份,所有文件在基准目录里面同步一份。以后每一次同步都是增量备份,只同步源目录与基准目录之间有变动的部分,将这部分保存在一个新的目标目录。这个新的目标目录之中,也是包含所有文件,但实际上,只有那些变动过的文件是存在于该目录,其他没有变动的文件都是指向基准目录文件的硬链接。

--link-dest参数用来指定同步时的基准目录。


$ rsync -a --delete --link-dest /compare/path /source/path /target/path

上面命令中,--link-dest参数指定基准目录/compare/path,然后源目录/source/path跟基准目录进行比较,找出变动的文件,将它们拷贝到目标目录/target/path。那些没变动的文件则会生成硬链接。这个命令的第一次备份时是全量备份,后面就都是增量备份了。

下面是一个脚本示例,备份用户的主目录。


#!/bin/bash

# A script to perform incremental backups using rsync

set -o errexit
set -o nounset
set -o pipefail

readonly SOURCE_DIR="${HOME}"
readonly BACKUP_DIR="/mnt/data/backups"
readonly DATETIME="$(date '+%Y-%m-%d_%H:%M:%S')"
readonly BACKUP_PATH="${BACKUP_DIR}/${DATETIME}"
readonly LATEST_LINK="${BACKUP_DIR}/latest"

mkdir -p "${BACKUP_DIR}"

rsync -av --delete \
  "${SOURCE_DIR}/" \
  --link-dest "${LATEST_LINK}" \
  --exclude=".cache" \
  "${BACKUP_PATH}"

rm -rf "${LATEST_LINK}"
ln -s "${BACKUP_PATH}" "${LATEST_LINK}"

上面脚本中,每一次同步都会生成一个新目录${BACKUP_DIR}/${DATETIME},并将软链接${BACKUP_DIR}/latest指向这个目录。下一次备份时,就将${BACKUP_DIR}/latest作为基准目录,生成新的备份目录。最后,再将软链接${BACKUP_DIR}/latest指向新的备份目录。

配置项

-a--archive参数表示存档模式,保存所有的元数据,比如修改时间(modification time)、权限、所有者等,并且软链接也会同步过去。

--append参数指定文件接着上次中断的地方,继续传输。

--append-verify参数跟--append参数类似,但会对传输完成后的文件进行一次校验。如果校验失败,将重新发送整个文件。

-b--backup参数指定在删除或更新目标目录已经存在的文件时,将该文件更名后进行备份,默认行为是删除。更名规则是添加由--suffix参数指定的文件后缀名,默认是~

--backup-dir参数指定文件备份时存放的目录,比如--backup-dir=/path/to/backups

--bwlimit参数指定带宽限制,默认单位是 KB/s,比如--bwlimit=100

-c--checksum参数改变rsync的校验方式。默认情况下,rsync 只检查文件的大小和最后修改日期是否发生变化,如果发生变化,就重新传输;使用这个参数以后,则通过判断文件内容的校验和,决定是否重新传输。

--delete参数删除只存在于目标目录、不存在于源目标的文件,即保证目标目录是源目标的镜像。

-e参数指定使用 SSH 协议传输数据。

--exclude参数指定排除不进行同步的文件,比如--exclude="*.iso"

--exclude-from参数指定一个本地文件,里面是需要排除的文件模式,每个模式一行。

--existing--ignore-non-existing参数表示不同步目标目录中不存在的文件和目录。

-h参数表示以人类可读的格式输出。

-h--help参数返回帮助信息。

-i参数表示输出源目录与目标目录之间文件差异的详细情况。

--ignore-existing参数表示只要该文件在目标目录中已经存在,就跳过去,不再同步这些文件。

--include参数指定同步时要包括的文件,一般与--exclude结合使用。

--link-dest参数指定增量备份的基准目录。

-m参数指定不同步空目录。

--max-size参数设置传输的最大文件的大小限制,比如不超过200KB(--max-size='200k')。

--min-size参数设置传输的最小文件的大小限制,比如不小于10KB(--min-size=10k)。

-n参数或--dry-run参数模拟将要执行的操作,而并不真的执行。配合-v参数使用,可以看到哪些内容会被同步过去。

-P参数是--progress--partial这两个参数的结合。

--partial参数允许恢复中断的传输。不使用该参数时,rsync会删除传输到一半被打断的文件;使用该参数后,传输到一半的文件也会同步到目标目录,下次同步时再恢复中断的传输。一般需要与--append--append-verify配合使用。

--partial-dir参数指定将传输到一半的文件保存到一个临时目录,比如--partial-dir=.rsync-partial。一般需要与--append--append-verify配合使用。

--progress参数表示显示进展。

-r参数表示递归,即包含子目录。

--remove-source-files参数表示传输成功后,删除发送方的文件。

--size-only参数表示只同步大小有变化的文件,不考虑文件修改时间的差异。

--suffix参数指定文件名备份时,对文件名添加的后缀,默认是~

-u--update参数表示同步时跳过目标目录中修改时间更新的文件,即不同步这些有更新的时间戳的文件。

-v参数表示输出细节。-vv表示输出更详细的信息,-vvv表示输出最详细的信息。

--version参数返回 rsync 的版本。

-z参数指定同步时压缩数据。

参考链接

k8s 使用官方 compose 部署 plausible

k8s 使用官方 compose 部署 plausible

主要记录使用 kompose 转换部署 compose 程序的思路,具体过程根据情况调整。

首先获取官方 compose 配置:

git clone -b v2.1.4 --single-branch https://github.com/plausible/community-edition plausible-ce
cd plausible-ce

调整配置

之后根据需要定制配置文件:

$ touch .env
$ echo "BASE_URL=https://plausible.example.com" >> .env
$ echo "SECRET_KEY_BASE=$(openssl rand -base64 48)" >> .env

# 服务暴露根据需要配置
# 这里采用反代的方法
$ echo "HTTP_PORT=8000" >> .env

之后定制一下 compose.yaml,其中有一些不合理的地方,直接使用 kompose 转换会出问题:

diff --git a/compose.yml b/compose.yml
index 2fe91e5..dd42713 100644
--- a/compose.yml
+++ b/compose.yml
@@ -1,16 +1,18 @@
 services:
-  plausible_db:
+  plausible-db:
     image: postgres:16-alpine
     restart: always
     volumes:
       - db-data:/var/lib/postgresql/data
     environment:
       - POSTGRES_PASSWORD=postgres
+    ports:
+      - 5432:5432
     healthcheck:
       test: ["CMD-SHELL", "pg_isready -U postgres"]
       start_period: 1m

-  plausible_events_db:
+  plausible-events-db:
     image: clickhouse/clickhouse-server:24.3.3.102-alpine
     restart: always
     volumes:
@@ -24,6 +26,8 @@ services:
       nofile:
         soft: 262144
         hard: 262144
+    ports:
+      - 5432:5432
     healthcheck:
       test: ["CMD-SHELL", "wget --no-verbose --tries=1 -O - http://127.0.0.1:8123/ping || exit 1"]
       start_period: 1m
@@ -33,9 +37,9 @@ services:
     restart: always
     command: sh -c "/entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh run"
     depends_on:
-      plausible_db:
+      plausible-db:
         condition: service_healthy
-      plausible_events_db:
+      plausible-events-db:
         condition: service_healthy
     volumes:
       - plausible-data:/var/lib/plausible
@@ -43,6 +47,9 @@ services:
       nofile:
         soft: 65535
         hard: 65535
+    env_file: ".env"
+    ports:
+      - 8000:8000
     environment:
       - TMPDIR=/var/lib/plausible/tmp
       # required: https://github.com/plausible/community-edition/wiki/configuration#required
@@ -54,28 +61,28 @@ services:
       - DISABLE_REGISTRATION
       - ENABLE_EMAIL_VERIFICATION
       # web: https://github.com/plausible/community-edition/wiki/configuration#web
-      - HTTP_PORT
+      - HTTP_PORT=8000
       - HTTPS_PORT
       # databases: https://github.com/plausible/community-edition/wiki/configuration#database
-      - DATABASE_URL
-      - CLICKHOUSE_DATABASE_URL
+      - DATABASE_URL=postgres://postgres:postgres@plausible_db:5432/plausible_db
+      - CLICKHOUSE_DATABASE_URL=http://plausible_events_db:8123/plausible_events_db

之后需要对 clickhouse 做一些配置,暂时解决 Application: Disabling cgroup memory observer because of an error during initialization: Code: 107. DB::Exception: Cannot find cgroups v1 or v2 current memory file 问题:

diff --git a/clickhouse/ipv4-only.xml b/clickhouse/ipv4-only.xml
index 7eb0a5c..4c8222d 100644
--- a/clickhouse/ipv4-only.xml
+++ b/clickhouse/ipv4-only.xml
@@ -1,3 +1,4 @@

<clickhouse>

<listen_host>0.0.0.0</listen_host>
+    
<cgroups_memory_usage_observer_wait_time>0</cgroups_memory_usage_observer_wait_time>
 </clickhouse>

转换资源清单

一切就绪后转换:

kompose convert -f compose.yaml  --controller statefulset -o plausible.yaml

检查一下文件,不喜欢的可以再调整,比如条整 pvc 大小。

最后使用 ingress 暴露:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress-plausible
  namespace: plausible
  annotations:
    cert-manager.io/cluster-issuer: issuer01
spec:
  ingressClassName: nginx
  rules:
  - host: example.com
    http:
      paths:
      - backend:
          service:
            name: plausible
            port:
              number: 8000
        path: /
        pathType: Prefix
  tls:
  - hosts:
      - example.com
    secretName: plausible-example-com-tls

检查 pod 状态,检查服务状态,最后访问,结束。

问题解决

pv 权限问题

如果出现这个故障:

Attaching to plausible
plausible  | Loading plausible..
plausible  | Starting dependencies..
plausible  | Starting repos..
plausible  | Plausible.Repo database already exists
plausible  | Plausible.IngestRepo database already exists
plausible  | Creation of Db successful!
plausible  | Loading plausible..
plausible  | Starting dependencies..
plausible  | Starting repos..
plausible  | Runtime terminating during boot (terminating)
plausible  | 09:55:19.599 [notice] Application tzdata exited: exited in: Tzdata.App.start(:normal, [])
plausible  |     ** (EXIT) an exception was raised:
plausible  |         ** (MatchError) no match of right hand side value: {:error, {:shutdown, {:failed_to_start_child, Tzdata.EtsHolder, {%File.Error{reason: :enoent, path: "/var/lib/plausible/tzdata_data/release_ets", action: "list directory"}, [{File, :ls!, 1, [file: ~c"lib/file.ex", line: 1700]}, {Tzdata.EtsHolder, :release_files_for_dir, 1, [file: ~c"lib/tzdata/ets_holder.ex", line: 127]}, {Tzdata.EtsHolder, :make_sure_a_release_is_on_file, 0, [file: ~c"lib/tzdata/ets_holder.ex", line: 90]}, {Tzdata.EtsHolder, :init, 1, [file: ~c"lib/tzdata/ets_holder.ex", line: 16]}, {:gen_server, :init_it, 2, [file: ~c"gen_server.erl", line: 2057]}, {:gen_server, :init_it, 6, [file: ~c"gen_server.erl", line: 2012]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]}]}}}}
plausible  |             (tzdata 1.1.2) lib/tzdata/tzdata_app.ex:13: Tzdata.App.start/2
plausible  |             (kernel 10.0) application_master.erl:295: :application_master.start_it_old/4
plausible  |
plausible exited with code 1

找到 pv 位置执行:

chown -R 999:nogroup /mnt/hdd-mirror/docker/plausible/data/

之后重启 plausible pod 即可。

References

#Kubernetes

Vim 替换文本

在vim中查找和替换命令需要在末行模式下执行。

命令 功能
:%s/旧文本/新文本/g 全局替换。
:s/旧文本/新闻本/g 可视区域替换。
:%s/旧文本/新文本/gc 确认替换。(推荐使用)

 全局替换

:%s/旧文本/新文本/g命令:用新文本一次性替换文件中所有出现的旧文本。

可视区域替换

:s/旧文本/新闻本/g命令:必须先要在可视模式下,选中替换文字的范围,然后才能局部替换。

确认替换

:%s/旧文本/新文本/gc命令:把末尾的”g”改为”gc”在替换的时候,会有提示。(推荐使用)

  • ①、”y” –> yes替换。
  • ②、”n” –> no不替换。
  • ③、”a” –> all替换所有。
  • ④、”q” –> quit退出替换。
  • ⑤、”l” –> last最后一个,并把光标移动到首行。
  • ⑥、”^E” –> 向下滚屏。
  • ⑦、”^Y” –> 向上滚屏。

References

#Vim

限制线程数避免Hugo资源耗尽被杀

如果项目很大,hugo默认启动物理核心数个线程并发,但如果已有程序占用,就可能导致 hugo 进程杀死。

hugo --gc --minify

此时可以尝试使用下面这个命令:

HUGO_NUMWORKERMULTIPLIER=2 hugo --gc --minify --cacheDir /root/archive/cacge

主要是这两个参数:

  • HUGO_NUMWORKERMULTIPLIER: (int) The number of workers used in parallel processing. Default is the number of logical CPUs.
  • --cacheDir: 指定一个缓存目录,可能有助于减少内存消耗。

References

#Hugo

名侦探柯南妃英理出场集数(最新1069话)

妃英理,《名侦探柯南》原作漫画及其衍生作品中登场的角色。精明强干的律师,毛利兰的母亲与毛利小五郎的妻子,工藤有希子的高中同学。10年前因故与丈夫分居。

下面整理妃英理在剧内出场集数。

本篇动画

编号 标题 推出日期 登场形式 备注
TV2(2) 社长千金绑架事件 1996/01/15 提及
TV31(32) 电视台杀人事件 1996/09/02 提及
TV32(33) 咖啡厅杀人事件 1996/09/09 登场 首次登场,和小五郎分居近十年
TV68(70) 暗夜男爵杀人事件(事件篇) 1997/07/21 提及
TV96(99-102) 走投无路的名侦探!连续两大杀人事件 1998/03/23 登场 在电话里和小五郎吵架
M2 第14个目标 1998/04/18 登场 被小兰邀请与家人共进晚餐,最终因小五郎不欢而散;以为巧克力是小五郎隐去姓名送给自己赔礼便毫无防备地吃下,不料中毒倒地
TV114(120) 有氧潜水杀人事件(前篇) 1998/08/24 登场
TV115(121) 有氧潜水杀人事件(后篇) 1998/08/31 登场
TV125(132) 谜之狙击者杀人事件(后篇) 1998/11/23 提及
TV141(151) 结婚前夜的密室事件(前篇) 1999/04/19 提及
TV150(160) 汽车爆炸事件的真相(前篇) 1999/06/28 提及
TV151(161) 汽车爆炸事件的真相(后篇) 1999/07/05 提及
TV161(171) 流水亭流淌的杀意 1999/09/20 提及
TV171(182) 黑暗中的死角(后篇) 1999/12/06 登场
TV174(185-188) 第二十年的杀意 新佛尼号连续杀人事件 2000/01/03 远影
M4 瞳孔中的暗杀者 2000/04/22 登场 参加白鸟沙罗的结婚庆祝会,提到小五郎求婚时的话;回家居住照顾失忆的小兰
TV199(214) 嫌疑人·毛利小五郎(前篇) 2000/07/17 登场
TV200(215) 嫌疑人·毛利小五郎(后篇) 2000/07/24 登场
TV203(218) 黑色伊卡洛斯之翼(前篇) 2000/08/14 提及
TV220(239) 满口谎言的委托人(前篇) 2001/01/15 远影
TV264(286) 法庭的对决 妃VS小五郎(前篇) 2002/01/14 登场
OVA2 16名嫌疑人?! 2002/01/16 登场 应白鸟的邀请和高木来到白鸟家在轻井泽的别墅
TV265(287) 法庭的对决 妃VS小五郎(后篇) 2002/01/21 登场
TV297(319) 法庭的对决Ⅱ 妃VS九条(前篇) 2002/10/21 登场
TV298(320) 法庭的对决Ⅱ 妃VS九条(后篇) 2002/10/28 登场
TV305(330) 未被看见的嫌疑人(前篇) 2003/01/13 新回忆
TV306(331) 未被看见的嫌疑人(后篇) 2003/01/20 登场
TV323(348) 服部平次走投无路!(前篇) 2003/06/09 提及
TV333(358) 相似的公主(前篇) 2003/08/25 登场
TV334(359) 相似的公主(后篇) 2003/09/01 登场
TV354(384) 小小的委托人(前篇) 2004/03/08 远影
M8 银翼的魔术师 2004/04/17 登场
TV371(402) 沉默的航线(前篇) 2004/08/23 远影
TV372(403) 沉默的航线(后篇) 2004/08/30 远影
TV379(410) 温泉雪夜长袖和服事件(前篇) 2004/11/22 提及
M9 水平线上的阴谋 2005/04/09 远影
TV428(466) 超秘密的上学路(后篇) 2006/01/30 远影
TV431(469) 本厅刑警恋爱物语7(前篇) 2006/02/20 登场
TV432(470) 本厅刑警恋爱物语7(后篇) 2006/02/27 提及
M10 侦探们的镇魂歌 2006/04/15 登场
TV438(476) 鱼邮件追踪记 2006/05/15 登场 动画原创
TV445(483) 俄罗斯蓝猫的秘密 2006/07/10 登场 中午要坐飞机去冲绳,拜托小兰照顾五郎
M11 绀碧之棺 2007/04/21 提及 回忆中小兰提及
TV472(512) 少年工藤新一的冒险(前篇) 2007/05/14 登场
TV473(513) 少年工藤新一的冒险(后篇) 2007/05/21 登场
TV474(514) 妃英理律师之恋 2007/06/04 登场
TV489(534-535) 法庭的对决Ⅲ 目击者是检察官 2007/11/26 登场
TV505(552) 律师妃英理的证言(前篇) 2008/06/16 登场
TV506(553) 律师妃英理的证言(后篇) 2008/06/23 登场
TV514(561) 杀意源自咖啡之香(后篇) 2008/09/08 提及
TV515(562-563) 怪盗基德的瞬间移动魔术 2008/10/20 登场 基德第二次作案时在出租车上看手机直播,无台词
TV528(579) 以柔制谜(前篇) 2009/03/09 登场
TV529(580) 以柔制谜(后篇) 2009/03/16 登场
SPOVA3 新一与兰·麻将牌与七夕的回忆 2009/04/18 登场
TV553(604) The·审讯室 2009/10/31 远影
TV540(591) 毛利小五郎不当侦探的日子(前篇) 2009/07/11 登场
TV541(592) 毛利小五郎不当侦探的日子(后篇) 2009/07/18 登场
TV589(640) 最糟糕的生日(前篇) 2010/09/25 登场
TV590(641) 最糟糕的生日(后篇) 2010/10/02 登场
TV606(657) 法庭的对决Ⅳ 陪审员小林澄子(前篇) 2011/02/19 登场
TV607(658) 法庭的对决Ⅳ 陪审员小林澄子(后篇) 2011/02/26 登场
TV608(659) 背叛的白色情人节(前篇) 2011/03/05 提及
TV609(660) 背叛的白色情人节(后篇) 2011/03/19 登场
M15 沉默的15分钟 2011/04/16 提及 小五郎提及
TV656(708) 博士的视频网站(前篇) 2012/05/19 登场
TV657(709) 博士的视频网站(后篇) 2012/05/26 登场
TV667(719) 婚礼前夕(前篇) 2012/09/01 远影
TV727(779) 装满水果的宝箱(前篇) 2014/01/25 提及
SPTV3 逃亡者·毛利小五郎 2014/04/23 登场
TV740(793) 小兰也倒在浴室里了(前篇) 2014/05/31 登场
TV741(794) 小兰也倒在浴室里了(后篇) 2014/06/07 登场
TV751(804) 招财三色猫的事件 2014/09/20 远影
TV753(806) 合租房的死角 2014/10/04 提及
SPTV5 谨贺新年 毛利小五郎 2015/01/03 登场
TV770(823) 气氛僵硬的茶会(前篇) 2015/03/07 登场
TV772(825) 工藤新一水族馆事件(前篇) 2015/03/21 远影
TV773(826) 工藤新一水族馆事件(后篇) 2015/03/28 提及
TV833(888) 名侦探有弱点 2016/09/24 远影
SPTV6 第”1″集 变小的名侦探 2016/12/09 登场 在电话里和小五郎吵架;观看小兰的空手道比赛
TV853(908) 樱花班的回忆(兰GIRL) 2017/03/18 登场
TV854(909) 樱花班的回忆(新一BOY) 2017/03/25 提及
TV901(956) 妃律师SOS(前篇) 2018/03/17 登场
TV902(957) 妃律师SOS(后篇) 2018/03/24 登场
M22 零的执行人 2018/04/13 登场 为洗清小五郎的嫌疑寻求外援;一家三口随人群避难
TV919(974) 女高中生三人组的秘密咖啡厅(前篇) 2018/11/03 提及
TV931(988) 北九州推理之旅(小仓篇) 2019/02/16 提及
TV962(1019) 毛利小五郎大演讲会(前篇) 2019/12/14 登场
TV963(1020) 毛利小五郎大演讲会(中篇) 2019/12/14 登场
TV964(1021) 毛利小五郎大演讲会(后篇) 2019/12/21 登场
TV1069(1126) 电话那头的甜美声音 2023/01/14 想象 小五郎想象电话那头是英理时出现
M26 黑铁的鱼影 2023/04/14 提及 小兰提及

References

《名侦探柯南》官方人气投票结果

《名侦探柯南》史上首次官方人气投票“绯色的总选举”公布最终结果,赤井秀一获得冠军,漫画家青山刚昌特别绘图祝贺。此外,安室透、灰原哀分获亚季军。柯南排名第六,工藤新一排第七。“小黑人”排名第三十三位。

此次投票总票数44237,只有在日本购买了电影票凭票编号才能投票。 ​

前十排名为:

  1. 赤井秀一
  2. 安室透
  3. 灰原哀
  4. 毛利兰
  5. 怪盗基德
  6. 江户川柯南
  7. 工藤新一
  8. 冲矢昴
  9. 世良真纯
  10. 琴酒

犯人“小黑人”排名第33位,毛利小五郎排名第38位。

References

名侦探柯南TV安室透出场集数(最新1110话)

  • 登场 指安室透以原本身份正面登场
  • 回忆登场 指在他人的回忆中登场
  • 新回忆 指回忆的内容与画面为此前剧情中未曾出现过的内容
  • 旧回忆 指回忆的内容与画面为此前剧情中曾经出现过的内容
  • 远影 指他人提及或想到时出现的安室透的形象
  • 提及 指仅提及名字或身份、无画面
  • 声音 指安室未以本来形象登场时出现其声音
  • 想象 指凭空想象出的角色形象(通常与角色本人行为或性格不符)
集数 标题 播出日期 登场形式 备注
509(556) 红白黄色与侦探团 2008/07/14 提及 茱蒂收到怜奈的通知后向柯南提及
563(614) 侦探团VS强盗团(骚乱) 2010/01/23 登场/远影/提及 以火伤赤井的身份登场;詹姆斯、茱蒂和卡迈尔提到
564(615) 侦探团VS强盗团(沉默) 2010/01/30 登场/远影 以火伤赤井的身份登场
578(629) 召唤危机的红色前兆 2010/06/26 旧回忆/提及 侦探团三人提及
579(630) 黑色13的暗示 2010/07/03 登场/新回忆/旧回忆/远影/提及 以火伤赤井的身份登场;部分回忆情节为动画原创
580(631) 逼近的黑色时限 2010/07/10 登场/提及 以火伤赤井的身份登场;琴酒、伏特加和基尔提及
581(632) 摇摆的红色准星 2010/07/17 登场/新回忆/提及 以火伤赤井的身份登场;路人回忆,琴酒对波本的独断专行自言自语,冲矢向柯南提及
667(719) 婚礼前夕(前篇) 2012/09/01 登场/新回忆/旧回忆/提及 初登场;姓名牌:安室透(29岁),探侦;安室和春冈回忆并提及,伴场向加门提及
668(720) 婚礼前夕(后篇) 2012/09/08 登场/旧回忆 前情回顾(动画原创),姓名牌同上(动画原创)
671(723) 侦探们的夜想曲(事件) 2012/10/06 登场/旧回忆/提及 前情回顾(动画原创),姓名牌同上(动画原创);目暮和小五郎提及
672(724) 侦探们的夜想曲(绑架) 2012/10/13 登场/旧回忆/提及 前情回顾(动画原创);安室回忆,世良向小兰提及
673(725) 侦探们的夜想曲(推理) 2012/10/20 登场/旧回忆/提及 前情回顾(动画原创);柯南回忆
674(726) 侦探们的夜想曲(波本) 2012/10/27 登场/旧回忆/远影/提及 前情回顾(动画原创);安室对事件形势的判断与部分飙车画面为动画原创,贝尔摩德在电话中提到
675(727) 一丁点都不原谅(前篇) 2012/11/10 登场/提及 以火伤赤井的身份登场;世良提及
681(773) 赌上性命的恋爱转播(直播开始) 2013/01/05 登场/旧回忆/提及 安室回忆,柯南和侦探团三人提及
683(775) 赌上性命的恋爱转播(直击现场) 2013/01/19 登场/提及 伊达向高木提及
699(751) 逼近灰原秘密的黑影(前篇) 2013/06/08 登场
700(752) 逼近灰原秘密的黑影(后篇) 2013/06/15 登场/旧回忆/声音 波本回忆
701(753) 漆黑的特快列车(发车) 2013/07/13 登场/提及 贝尔摩德在电话中向琴酒提及
702(754) 漆黑的特快列车(交叉) 2013/07/20 登场/提及 琴酒和伏特加提及
703(755) 漆黑的特快列车(隧道) 2013/07/27 登场
704(756) 漆黑的特快列车(终点) 2013/08/03 登场/旧回忆/提及 揭晓波本的真实身份为安室透,以及假扮火伤赤井的目的[注 50];波本回忆,伏特加向琴酒提及,贝尔摩德在电话中向琴酒提及,贝尔摩德思考
705(757) 密室中的柯南 2013/08/10 登场/旧回忆/提及 前情回顾(动画原创);安室回忆,柯南和博士提及,小兰向柯南提及,参悟和小五郎提及
706(758) 解谜的波本 2013/08/17 登场/提及 波本和贝尔摩德提及
723(775) 香甜冰冷的快递(后篇) 2013/12/21 登场/远影/提及 柯南和灰原提及、光彦和博士提及(末尾彩蛋)
734(787) 茱蒂的追忆与赏花的陷阱 2014/03/29 登场/旧回忆/远影/提及 以弁崎桐平的身份登场;茱蒂、柯南和弁崎回忆,贝尔摩德回忆,柯南和茱蒂提到;部分回忆画面为动画原创
739(792) 小五郎在酒吧里(后篇) 2014/05/17 旧回忆/远影 高木回忆,柯南回忆并想起;回忆画面为动画原创
740(793) 小兰也倒在浴室里了(前篇) 2014/05/31 登场/远影 躲在小巷中监视柯南
751(804) 招财三色猫的事件(前篇) 2014/09/20 登场
770(823) 气氛僵硬的茶会(前篇) 2015/03/07 登场
771(824) 气氛僵硬的茶会(后篇) 2015/03/14 登场/新回忆/旧回忆 前情回顾(动画原创);安室回忆
779(832) 绯色的序章 2015/05/30 登场/旧回忆/提及 前情回顾与柯南回忆均为动画原创;安室回忆,柯南向茱蒂提及,茱蒂向卡迈尔小声提及
780(833) 绯色的追查 2015/06/06 登场/旧回忆 前情回顾(动画原创);推测安室的真实身份为日本公安,柯南回忆
781(834) 绯色的交错 2015/06/13 登场/旧回忆/提及/想象 前情回顾(动画原创);柯南回忆并想象,茱蒂向卡迈尔提及,柯南向卡迈尔和茱蒂提及
782(835) 绯色的回归 2015/06/20 登场/旧回忆/声音 前情回顾(动画原创)
783(836) 绯色的真相 2015/06/27 登场/旧回忆/远影/提及/声音 前情回顾(动画原创);揭晓安室的本名为降谷零,其真实身份为日本公安;冲矢回忆并向茱蒂和卡迈尔提及,卡迈尔和冲矢提及,茱蒂向冲矢提及
792(845) 三个第一发现者(前篇) 2015/09/19 远影/提及 柯南想起;远影画面为动画原创
813(868) 悄悄接近安室的黑影 2016/04/16 登场/新回忆/旧回忆 教授面包师如何制作三明治;安室回忆三天前自己被跟踪,柯南和面包师回忆
836(891) 关系恶劣的女子乐队(前篇) 2016/10/15 登场/新回忆 世良回忆
837(892) 关系恶劣的女子乐队(后篇) 2016/10/22 登场
866(921) 背叛的舞台(前篇) 2017/07/15 登场/新回忆 安室回忆并出现应激反应
867(922) 背叛的舞台(后篇) 2017/07/22 登场/新回忆 安室和冲矢回忆
872(927) 柯南与平次的鵺传说(鸣声篇) 2017/09/09 登场 声称自己被假小梓拉进音乐厅
885(940) 在波洛咖啡厅解谜(前篇) 2017/12/16 登场/提及 平次和柯南提及
886(941) 在波洛咖啡厅解谜(后篇) 2017/12/23 登场/旧回忆 安室回忆
898(953) 蛋糕融化了! 2018/04/07 登场/旧回忆 着手解决特制蛋糕融化的问题,并研发出新制的半熟蛋糕;柯南回忆
919(974) 女高中生三人组的秘密咖啡厅(前篇) 2018/11/03 提及 园子提及
925(980) 充满心意的手机挂件(前篇) 2018/12/15 登场/提及 冲矢向侦探团四人提及
926(981) 充满心意的手机挂件(后篇) 2018/12/22 登场/旧回忆/远影/提及/声音 冲矢向博士提及,安室回忆
942(999) 寻找玛利亚!(后篇) 2019/06/08 登场
952(1009) 谜之鸡尾酒(前篇) 2019/08/31 登场/提及 纱菜向小兰提及
953(1010) 谜之鸡尾酒(中篇) 2019/09/07 登场/新回忆/旧回忆/提及 前情回顾(动画原创);安室出现记忆闪回并回忆,目暮提及
954(1011) 谜之鸡尾酒(后篇) 2019/09/14 登场/新回忆/旧回忆/提及 前情回顾(动画原创);安室和优作回忆,小兰向柯南提及;部分回忆画面为动画原创
972(1029) 目标是警视厅交通部(二) 2020/03/14 登场/旧回忆/远影 安室回忆,柯南想起
974(1031) 目标是警视厅交通部(四) 2020/03/28 登场/旧回忆/提及 安室回忆,黑田在电话中提及其代号
984(1041) 基德VS高明 被盯上的唇(后篇) 2020/10/10 新回忆/远影 高明回忆,佐藤想起
1003(1060) 36格的完美犯罪(前篇) 2021/04/24 登场
1004(1061) 36格的完美犯罪(中篇) 2021/05/01 登场/新回忆 高明回忆
1005(1062) 36格的完美犯罪(后篇) 2021/05/08 登场/旧回忆 小五郎回忆
1029(1086) 警察学校篇 Wild Police Story CASE.松田阵平 2021/12/04 回忆登场/远影/提及 姓名牌:降谷零(22岁);伊达和鬼冢提及
1038(1095) 警察学校篇 Wild Police Story CASE.伊达航 2022/03/12 回忆登场/旧回忆/提及 伊达回忆,被部分同学称呼为“金发的外国小哥”和“金发的混血”,松田和萩原提及
1039(1096) 飞天的万圣南瓜 2022/04/16 提及 柯南提及,小梓提及安室以休息为由请假,并希望给他戴上项圈,让他好好看店
1042(1099) 警察学校篇 Wild Police Story CASE.萩原研二 2022/05/07 回忆登场/新回忆/提及 姓名牌:降谷零(22岁);松田向萩原提及
1053(1110) 坠落于牧场的火种(前篇) 2022/08/06 登场/新回忆 安室回忆自己在公安培训课上了解的羽田浩司案
1054(1111) 坠落于牧场的火种(后篇) 2022/08/13 登场/旧回忆 柯南和安室回忆
1060(1117) 冲野洋子与阁楼密室(后篇) 2022/10/15 登场 看着偷拍的若狭照片若有所思
1061(1118) 警察学校篇 Wild Police Story CASE.诸伏景光 2022/10/29 回忆登场 姓名牌:降谷零(22岁)
1068(1125) 圆谷光彦的侦探笔记 2023/01/07 登场 仅开头新年贺词部分登场
1079(1137) 黑衣组织的谋略(真身) 2023/04/08 旧回忆/提及 贝尔摩德回忆并提及
1085(1143) 不吉利的结缘(前篇) 2023/06/03 旧回忆/远影 平次回忆(动画原创),柯南想起
1105(1163) 基德VS安室 王妃的刘海(前篇) 2023/12/02 登场/他人假扮 临时由风见变装
1106(1164) 基德VS安室 王妃的刘海(后篇) 2023/12/09 登场/旧回忆/他人假扮 揭晓风见假扮成降谷戏耍基德;柯南和基德回忆
1109(1167) 高木、伊达与手帐中的约定(前篇) 2024/01/06 登场/提及 高木和佐藤提及
1110(1168) 高木、伊达与手帐中的约定(后篇) 2024/01/13 登场/旧回忆 安室回忆

References