我有一张 16 GB 的创见 SD 卡,正在我的智能手机中使用它。有一天,我发现智能手机只能识别 6 GB。我试图找到设置 SD 卡正确大小的解决方案,但不小心运行了这个:
dd if=/dev/zero of=/dev/sdc
Run Code Online (Sandbox Code Playgroud)
/dev/sdc是我通过手机安装的 SD 卡。之后,我的卡根本无法识别(无论是电话,相机还是Linux机器都无法识别)。我知道我在它上面破坏了某种MBR(一些显示 SD 卡必要参数的初始记录)。
我使用的是 Linux,根本没有 Windows。我找到了一些适用于 Windows 的解决方案(例如,SDFix 应用程序),但是否有 Linux 替代方案?是否可以修复?
我希望找到一个与 SD Association SD Memory Card Formatter等效的 Linux (这是一个仅适用于专有操作系统的二进制程序)。
我并行运行了一堆 CPU 饥渴的进程;它们通常每个使用几 GB 的内存。他们有时也会分配大量内存(比如 150-250GB)。通常最多只有一个进程这样做,因此它们适合可用的 RAM(我的机器上为 384GB)。然而,有时会发生更多的人同时分配这么大的数量,并且(显然)由于交换而一切都变慢了。
在这种情况下,我会停止除一个内存占用进程之外的所有进程,以使其有效计算。但是换入一个停止的进程需要很长时间,因为这意味着以随机访问模式从磁盘加载数十 GB。因此问题是:如何强制单个进程从交换中顺序加载整个核心?
到目前为止,我只找到了一个 swappiness 内核提示,它(在 cgroups 的帮助下)可以防止进程进行更多的交换,但对去交换的性能没有帮助。关闭所有交换显然是不可能的,因为其他停止的进程必须占用那里的空间。
构建我自己的迷你调度程序也不是一种选择 - 进程是 python 中的各种小脚本/程序,内存峰值通常发生在库调用中,所以我无法预测峰值何时会出现。
澄清一下:我不考虑购买 TB 级的 RAM,在这种规模下它太贵了。将交换放在 SSD/SSD 阵列上只会有一点帮助(测量),因此它也不是我正在寻找的解决方案。
(部分自答):
看起来,如果没有内核黑客攻击,真正的顺序交换读取(仅属于单个进程的页面)几乎是不可能的:我测量过swapoff -a,它肯定没有顺序读取交换。如果这样的优化很容易实现,那么更快地阅读它是合乎逻辑的。
目前我最好的方法是/proc/[pid]/mem使用下面的脚本(必须以 root 身份运行)通过伪文件读取整个进程内存:
#!/usr/bin/python2
import re
import sys
pid=str(sys.argv[1]) # process pid given by the first arg
print(pid) # just to aviod mistakes
CHUNKSIZE=10485760 # single read() invocation block size
total=0
maps_file = open("/proc/"+pid+"/maps", 'r')
mem_file = open("/proc/"+pid+"/mem", 'r', 0)
for line in maps_file.readlines(): # for each …Run Code Online (Sandbox Code Playgroud) 我在RHEL-6.4上使用 fakeroot v1.12.4 进行打包和提取。我有两个不同的服务器,我在其中使用 tar v1.23 压缩文件。一台服务器上的压缩失败并出现以下错误:
tar: ./isolinux/etc/modprobe.d/blacklist.conf: Cannot open: Not a directory
tar: Exiting with failure status due to previous errors
Run Code Online (Sandbox Code Playgroud)
如果我检查这个文件的文件类型(作为普通用户),它说它是一个 ASCII 文件:
girishp@~$ file ./isolinux/etc/modprobe.d/blacklist.conf
isolinux/etc/modprobe.d/blacklist.conf: ASCII English text
girishp@~$
Run Code Online (Sandbox Code Playgroud)
但是如果我在 fakeroot 环境中检查文件类型,它说它是目录:
+ file ./isolinux/etc/modprobe.d/blacklist.conf
./isolinux/etc/modprobe.d/blacklist.conf: directory
Run Code Online (Sandbox Code Playgroud)
我用来压缩的命令是:
tar -czf /home/users/girishp/tarfiles/mytar.tgz .
Run Code Online (Sandbox Code Playgroud)
使用*代替.
tar -czf /home/users/girishp/tarfiles/mytar.tgz *
Run Code Online (Sandbox Code Playgroud)
我比较了两台机器的环境变量,环境没有区别。如果我使用sudo而不是fakeroot,它工作正常。straceoftar表示它正在尝试使用O_DIRECTORY选项打开文件。
open("./isolinux/etc/modprobe.d/blacklist.conf", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = -1 ENOTDIR (Not a directory)
Run Code Online (Sandbox Code Playgroud)
我试图取消设置使用的一些环境变量fakeroot:
unset …Run Code Online (Sandbox Code Playgroud) 我正在运行 Linux 系统(基于 Gentoo),并在 SSD(具有 480GB 网络的东芝 Q300)上安装了 BTRFS 文件系统。我的/etc/fstab样子:
UUID=14cb9b65-... swap swap defaults,noatime, 0 0
UUID=cd7d93b3-... / btrfs defaults,cache,compress=lzo,subvol=@ 0 1
UUID=cd7d93b3-... /home btrfs defaults,noatime,space_cache,compress=lzo,subvol=@home 0 2
UUID=cd7d93b3-... /Data btrfs defaults,noatime,space_cache,compress=lzo,subvol=@Data 0 2
UUID=cd7d93b3-... /mnt/rootfs btrfs defaults,noatime,space_cache,compress=lzo 0 0
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0 tmpfs /proc proc defaults 0 0
tmpfs /var/log tmpfs defaults,noatime,rw,mode=1777 0 0
tmpfs /var/tmp tmpfs defaults,noatime,rw,mode=1777 0 0
tmpfs /var/run tmpfs defaults,noatime 0 0
tmpfs /var/spool tmpfs defaults,noatime 0 0
tmpfs /var/lock …Run Code Online (Sandbox Code Playgroud) 我需要从https://file_path. 这是我用于此的 curl 命令:
curl --user user:password "https://file_path?raw" > location
Run Code Online (Sandbox Code Playgroud)
我用 Gnome 和 GDM 全新安装了 Arch Linux;我使用集成显卡:Intel® HD Graphics 630。
以前我安装了 Fedora,旧设备有一个旧的 NVidia GPU。我使用一个名为“gpick”的程序从屏幕上选择一种颜色:

它可以正常工作,但是对于新装备,它总是选择黑色:

我尝试启动 Kali Linux 并在那里安装 gpick。即使分辨率不是原生的全高清,这也有效。我试过 gcolor2 是一个类似的工具,但它的作用是一样的。
我安装了以下软件包: xf86-video-intel mesa-libgl lib32-mesa-libgl
我该如何修复选择器?
具体来说,我询问密文是否可以包含诸如 之类的字节序列170303,这是一种可能的 TLS 记录标头。
通常,解析 TCP 字节流的应用程序通过解析标头并从标头开始后的第 4 个和第 5 个字节中提取八位位组的长度来分隔 TLS 记录。然后,我假设它向前跳过并尝试在由先前解析的标头计算出的偏移量处读取下一条记录。
我的问题是,TLS 1.3 的 AES 256 GCM 实施是否对密码输出施加了任何限制?RFC 没有提及这一点。是否存在以 header 开头170303xxxx,但也包含170303密文一部分的 TLS 记录?
我想在我的 Debian 服务器上创建一个共享文件夹,以便用户可以创建和编辑文件,但不能删除该目录中彼此的文件。
/home/sharedfolder
Run Code Online (Sandbox Code Playgroud)
可以读写地图文件的用户在一个组中: work
我尝试了一些像这样的权限命令,但仍然没有成功:
setfacl -dm u::rwx,g::rwx,o::r /shared/directory
Run Code Online (Sandbox Code Playgroud)
我怎样才能达到我想要的?
我的文件名称以 YYYYMMDD 开头,如下所示:
20160221_143223_Report.csv
20160222_121223_Report.csv
...
20160229_141223_Report.csv
20160301_171223_Report.csv
Run Code Online (Sandbox Code Playgroud)
我想要 tar 文件名中包含“Report”且其名称对应于 1-8 天前范围的文件。例如:今天是 3 月 1 日,所以我想 tar 2 月 22 日到 2 月 29 日(不包括今天)的文件。
files=($(ls |<HAS "Report" in filename> and <WITHIN `date -d "8 days ago" '+%Y%m%d'> )) #output will be filenames that has the word "Report" and from 22th to 29th FEB
tar cvfz oldfile.tar.gz "${files[@]}"
Run Code Online (Sandbox Code Playgroud)
我应该匹配什么模式?
/!\ 在那里寻找更新 2,问题现在已经回答了一半 /!\
我有时会完全擦除我的硬盘驱动器(不是 SSD);成为他们的样子,dd并badblocks -w盲目地擦拭一切。
问题是,他们也在写入硬盘驱动器的备用扇区,这很糟糕,因为它们都是全新的。因此,如果在擦除过程中确实发生了某些事情(断电、写入错误等),那将杀死一个非常有用的扇区......一无所获。
所以问题是:如何避免dd或badblocks擦除硬盘驱动器的备用扇区?
假设:
dd 众所周知,它会盲目地擦除经过它的所有东西。badblocks 已知能够访问未映射的块。更新 1:
dd如果他们没有更换有故障的扇区(显然),肯定无法访问备用扇区。这是由于dd设计方式(Kamil Maciorowski 评论):
可用的逻辑扇区号
dd被映射到编号的物理扇区,并且相应的数字最初是相等的。备用物理扇区最初没有分配逻辑编号,因此 dd 无法访问它们。
更新2:
主要是系统管理员 - 而不是“接近低级”编码器 (C) -,有人可以看看badblocks' 代码并判断它是否确实访问了备用扇区吗?更准确地说,是否badblocks还考虑了其块读/写内的备用扇区?
http://git.kernel.org/cgit/fs/ext2/e2fsprogs.git/tree/misc/badblocks.c
在另一边/方式得到答案;我还知道badblocks维护者Theodore Ts'o 在此处拥有一个超级用户帐户。如果他阅读此更新 2,是否有可能直接回答?
我可以复制/bin/cat并/tmp/test运行sudo setcap cap_dac_read_search+ep /tmp/test。然后我将拥有一个可以读取任何其他文件(例如/etc/shadow)的文件。
如何在文件系统中搜索具有功能集的文件,以查看是否已创建任何此类文件?
我想要一些现代设备的例子,它们等同于冯诺依曼架构中的“R”。
我指的是“EDVAC 报告初稿” PDF 版本第 3 页的第 2.6 节。
两个单核 CPU(在双插槽系统中)是否等同于单个双核处理器?
我们也可以说两个单核 CPU 的处理能力是单个四核系统的一半吗?
我的上述理解基于 Puget 的Dual Processor vs Dual Core文章。
linux ×9
aes ×1
arch-linux ×1
bash ×1
btrfs ×1
cpu ×1
cpu-speed ×1
curl ×1
date ×1
dd ×1
debian ×1
dual-core ×1
encryption ×1
filesystems ×1
find ×1
gentoo ×1
globbing ×1
hard-drive ×1
https ×1
memory ×1
performance ×1
permissions ×1
quad-core ×1
sd-card ×1
security ×1
shell ×1
ssd ×1
swap ×1
tls ×1
trim ×1
ubuntu ×1