Unix & Linux

Linux,FreeBSD和其他类似Un * x的操作系统用户的问答

1
“读取交换头失败:成功”是什么意思?
我正在尝试安装Arch Linux(从2014-04-01快照)。我已经制作了一个交换文件并尝试使用swapon它,但是收到了一条我不理解的错误(?)消息。 我已经执行了 fallocate -l 512M /mnt/sda2/swapfile chmod 600 /mnt/sda2/swapfile swapon /mnt/sda2/swapfile 输出是 swapon: /mnt/sda2/swapfile: read swap header failed: Success 我:(在命令行末尾。那么成功还是失败?这不是如何设置交换文件吗?

4
哪些文件系统元数据操作实际上记录在ext4和xfs中?
对于哪个文件系统元数据操作实际上保留在ext4和xfs文件系统日志中,我找不到简单直接的答案。请注意,我并不是在询问POSIX声明为“原子”的什么。我更关心的是,原子文件系统操作的哪些子集可以通过启用启用日志而无需持久地向后弯曲而有效地持久化fsync(2)。 我相当确定的操作是: creat(2) link(2) unlink(2) rename(2) mkdir(2) rmdir(2) 我不确定的操作: symlink(2) 该symlink(2)案件是最令人头疼的,因为似乎没有任何可以简单的方式来 fsync(2)或fdatasync(2)存储符号链接的内容的基本数据块。知道日记本能帮我解决这个麻烦。

3
apt-get将重要软件包显示为“不再需要”
我最近在系统中安装了Kali Linux。它带有预装的Iceweasel。但是,我想安装firefox而不是Iceweasel,所以我按照了本指南并成功安装了firefox。 现在,每当我调用apt-get它时,它都会将许多预安装的软件包显示为“自动安装且不再需要”: abhishek@ab-linux:~$ sudo apt-get install [sudo] password for abhishek: Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: empathy empathy-common fonts-cantarell gcalctool gnome-backgrounds gnome-dictionary gnome-font-viewer gnome-icon-theme-extras gucharmap libavahi-gobject0 libcaribou-gtk-module libcaribou-gtk3-module libchamplain-0.12-0 libchamplain-gtk-0.12-0 libgdict-1.0-6 libgdict-common libgeocode-glib0 …
9 apt  kali-linux 


1
先运行然后终止
我想添加一个cron条目,其功能类似于: 00 00 * * * * /tmp/script.sh 我可以在行尾添加一些内容,以便在完成后将其从我的cron中删除吗? 另外,如果有更好的方法可以做到,那么我肯定会想要这些信息。

4
如何从管道读取用户输入?
假设我有一个文件confirmation.sh,其内容如下: #!/bin/bash echo -n "Are you sure [Y/n]? " read line case "$line" in n|N) echo "smth" ;; y|Y) echo "smth" ;; esac 并且我想通过以下方式运行此脚本: cat confirmation.sh | sh 我看到Are you sure [Y/n]?了,脚本被打断了。有什么问题?



2
永不中断的文件系统(可接受数据丢失)
关于这个问题有几个现有的话题,但是我所寻求的略有不同。我在嵌入式Linux上有SD卡,它会掉电。我也许可以在某个时候修改硬件,正确关闭硬件等等,但是等等,但是现在,我只是想找到一个在断电后仍能正常工作的文件系统。数据丢失是可以接受的。我宁愿不丢失比当前正在写的文件更多的信息,但我还是宁愿丢失所有文件,也不愿面对“无法装载”,“等待10分钟fsck”或“无法创建新文件”。文件由于此inode出现了一些错误”。该程序必须继续! 为了确保这一点,我正在付出很多努力。我使用的是工业级组件,有硬件看门狗,软件看门狗,内部,外部,用于重新启动程序的init,不断检查内存,文件描述符的守护程序等等,我有看门狗看我的看门狗,而这些看门狗又会监视其他看门狗...但是我似乎无法保证SD卡能够安装并正常运行? 目前,我最好的选择是在SD卡上使用JFS,在我的安装中包括fsck和fsck.jfs。(添加600kb +占用了我的ram和flash。这是不好的。)并在每次启动时运行fsck(可能会增加很多启动时间。这有些不好。)。不过似乎有点难过。 有谁知道更好的方法或更好的文件系统? 更新:e2fsprogs-libs(对jfsutils的依赖)在我的发行版中似乎很难编译。我将研究ZFS(不过,它并不是我的发行版中的本机。它似乎做了很多我不需要的事情。) UPDATE2:有关我的系统和测试的更多信息:SD卡存储是辅助的可选存储。SD卡是2Gb-8Gb工业级microSD。SD卡是通过我的rc使用mount -t命令安装的。选项“ noatime”,但不“ sync”。我的发行版是一个定制的Analog Device风格的uClinux,具有3.10内核和1.21 busybox。我的主要存储是带有jffs2的spi闪存。我从来没有任何问题。我什至不知道是否有fsck.jffs2可用。另一方面,南德(Nand)闪过光芒……但这是另一回事。SD卡的用途是存储测量数据。“监控”程序会将结果附加到文件中,并具有策略性的同步放置。当文件超过给定大小时,将创建一个新文件。当达到给定数量的文件时,最早的文件将被删除。如果当前的测量文件由于掉电而丢失,那就没有灾难了。文件通常为50-100kb,1个结果通常为1kb。这只是初始开发阶段。没有固定的东西。这是我第一次处理嵌入式系统中的非闪存文件系统。(我在x86服务器上使用了ext4。) 我从vfat开始。默认文件系统。(我认为工厂可能有选择它的理由。如果一切正常,我并不是很在乎。)我从未见过嵌入式vfat设备中的任何断电问题。我在WinCE中遇到了FAT问题。但是,当我的“监视”程序达到100-200个文件时,它拒绝再创建文件。似乎FAT在根目录中有一个特殊的文件限制问题,在子目录中有一个稍大的文件限制问题。我需要能够在1个目录中创建500-1000个文件。所以vfat不会。 然后我切换到ext2。我没有在启动时插入fsck。(不知道我必须这样做。)由于出现“ inode something something”错误,一天之内,我的“监控”程序无法创建更多文件。灾害! 我当前的解决方案是在启动时使用“ e2fsck -y”的ext2。到目前为止,这似乎很有希望。但是e2fsck和“启动时fsck”的整个概念困扰着我。e2fsck本身就花费了超过350kb的主闪存和ram。(当它不运行时。)这意味着这是我最大的程序。它比busybox大。它几乎可以与我的内核媲美。 我一直在考虑ext3。它具有日志化的元数据,不会受到伤害。我对此有多大帮助还不确定。我的小文件和可控同步文件应该被覆盖吗?它具有有序的写入顺序。这意味着数据也有日志记录。但是,这可能导致不确定的滞后。在我的情况下,这很糟糕。(这可能不是问题。)它还具有计划的同步功能。例如。每5秒提交一次。我认为这干扰了我自己的同步。太多的写入操作对SD卡不利。甚至工业的。我找不到有关如何禁用此功能的任何文档。ext3 仍然需要在每次启动时都运行fsck!但是ext3仍然是可能的。 分机4。将解决ext3的许多性能问题。不过我真的不需要性能。而且我的发行版似乎没有内置的mkfs.ext4和fsck.ext4。也许这不是问题。可能会。例如。e2progs-libs(对jfsutils的依赖)似乎有很多编译问题。 JFS,XFS,BRFSS。我的内核都支持。当前未包含在我的用户空间工具框中。一切似乎都是相当大的,复杂的系统。而且它们似乎都在启动时需要“ fsck”等效项吗? 我还考虑过抛出自己的文件系统:始终写入文件表的2个副本。遍历时,它将选择具有正确CRC和最新序列号的一个。进行两个阶段的写入序列。临时分配,修复提交。无需fsck。恐怕这可能会有些天真。 UPDATE3:顺便说一句,嵌入式系统(至少是嵌入式系统)的本质是它们是自治的,无人看管的,遥不可及的,并且它们必须运行多年。诸如fsck之类的程序可能需要人与人之间的交流,使我无所适从。


6
为什么我不能通过远程SSH会话运行Gnome应用程序?
使用登录到远程主机后ssh -X me@host,我成功运行了gnome-terminal -e "tail -F /var/log/file" &。当我注销然后第二天尝试相同的操作时,我得到了: 无法获取会话总线:无法连接到套接字/ tmp / dbus-K99gT9yDjS:连接被拒绝回到非出厂模式。无法召唤GConf恶魔;退出。联系配置服务器失败;一些可能的原因是您需要为ORBit启用TCP / IP网络,或者由于系统崩溃而拥有过时的NFS锁定。有关信息,请参见http://projects.gnome.org/gconf/。(详细信息-1:无法连接到会话:无法连接到套接字/ tmp / dbus-K99gT9yDjS:连接被拒绝) 在这种情况下如何运行gnome-terminal?
9 ssh  gnome  d-bus 

1
使用需要身份验证的Samba打印机进行命令行打印
是否可以通过在命令行上提供凭据(例如,使用lpr)来打印到需要身份验证的Samba打印机? 我设法将凭据存储在GNOME密钥环中,当我通过桌面会话登录时,可以使用打印lpr。 有没有一种方法可以: 提供凭证给 lpr 验证队列中的作业 远程登录(SSH)时? 编辑 我知道可以为所有用户存储一组凭据(直接在打印机URI中的CUPS中),但是我们需要每个用户使用自己的凭据进行身份验证。

2
如何使用tar,gzip,rsync加快对稀疏文件的操作?
我的文件稀疏。(du -h报告3G,du -h --apparent-size报告100G。)到目前为止,还不错。 现在,当我要使用压缩文件tar或使用进行网络传输时rsync,将需要3G的时间。这些工具似乎读取了所有零。 我以为以某种方式标记了漏洞,而这些工具可能以某种方式跳过了它们? 我的文件可能没有问题? 这是在缺少功能tar和rsync不看稀疏文件?我使用了tar参数--sparse,但是并没有加快速度。rsync参数也没有--sparse。 有什么方法可以在稀疏文件上加快这些工具的速度吗?


1
如何使用支持多台机器硬件的localmodconfig构建自定义内核?
将服务器配置为运行单个任务(如设备)时,可能会需要构建自定义内核。例如节省磁盘空间。 Ubuntu Core 13.10 amd64根文件系统的下载量为38 MB,其中包括所需依赖项的“ linux-image-generic”元软件包将下载79 MB的档案,而kernel-image-xyz-generic软件包的大小仍为14 MB。 对于构建从硬件不使用的模块中剥离的内核,该make localmodconfig命令是完成任务的正确工具。但是,运行构建和测试环境的虚拟机将加载与目标部署硬件不同的模块。和/或一段时间后,您的部署硬件可能会失效,并且使用了其他硬件。在发布内核更新的频率上,它可能变得太麻烦了,无法为每种不同的硬件配置构建自定义内核。 如何快速构建在几个不同硬件盒上运行的自定义Linux内核?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.