Articles of Linux操作系统

如何使用.Pem文件代码签名?

我正在尝试使用数字证书对我的应用程序组件进行代码签名。 证书格式是.Pem 我介绍了下面的url,并尝试使用Visual Studio SignTool.exe实现代码签名 协同devise C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>"C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\Bin\signtool.exe" sign /d "C:\\Users\\hpara\\Desktop\\SignCert\\Test.exe" /f "C:\\Users\\guest\\Desktop\\SignCert\\Test.pem"SignTool Signtool.exe返回错误:“错误:缺less文件名”。 题: 我可以使用signtool.exe和.pem文件签名代码吗? 我的实际构build环境是在Linux上。 仅用于testing目的,我将证书文件复制到Win 7计算机,并尝试使用Visual Studio signtool.exe签署应用程序。 签名证书请求(csr)是在Linux机器上生成的。 最后,我需要在Linux机器上签名应用程序。

覆盖文件没有损坏的文件的风险

所以经常我的应用程序想保存文件以后再加载。 最近因为崩溃而倒霉了,我想以这样一种方式编写操作,即保证有新的数据或原始数据,但不会有混乱。 我的第一个想法是做一些事情(保存一个名为example.dat的文件): 为目标目录提供一个唯一的文件名,例如example.dat.tmp 创build该文件并写入我的数据。 删除原始文件(example.dat) 重命名(“移动”)临时文件到原来的位置(example.dat.tmp – > example.dat)。 然后在加载时应用程序可以遵循以下规则: 如果没有“example.dat”而没有“example.dat.tmp”,首先运行/新build项目,这样就加载默认/新build文件。 如果“example.dat”没有“example.dat.tmp”,则加载example.dat(正常载入大小写) 如果存在“example.dat.tmp”,则为用户提供潜在恢复数据的机会。 如果还存在“example.dat”,则不要在没有明确的用户常量的情况下覆盖它。 但是,我做了一些小小的研究后发现,除了操作系统caching(我可以用文件刷新方法覆盖)之外,有些磁盘驱动器仍然可以在内部caching,甚至可能对操作系统说谎,因此4可以完成,写入不实际写入,如果系统closures,我已经丢失了我的数据… 我不确定磁盘问题实际上是由应用程序解决的,但是正确的事情上面的一般规则是? 我应该保留一个旧的文件恢复副本,以确保更长的时间,有关这些事情的指导方针是什么(例如,可接受的磁盘使用情况,用户应该select,放置这些文件的位置等)。 另外我应该如何避免潜在的冲突用户和其他程序“example.dat.tmp”。 我记得有时候从其他软件中看到“〜example.dat”,这是一个更好的约定吗?

您正在使用什么工具在Linux上开发Windows移动应用程序?

你正在使用什么工具? 我不是指文本编辑器,而是工具,库,debugging器,仿真器等等。

在Linux中使用pipe道的进程间通信

我已经写了我的代码编写一个数字在Linuxpipe道。 它是一样的,但它是显示错误,任何人都可以帮助我。 基本上这个程序的问题陈述如下: – 一个程序将打开一个pipe道,向pipe道写一个数字。 – 其他程序将打开相同的pipe道,将读取数字并打印它们。 – closures两个pipe道 int main() { int number; FILE *fout; fout = popen(" ","w"); pclose(fout); return 0; } 现在我的问题是我应该给popen命令选项(如上面显示的空白)什么命令,以便我可以进一步进行并编写一个数字pipe道。

不能在bash中的双括号中执行命令

为了保持一致,我试图在所有if语句中使用双括号[[]]。 但是当我要检查我想运行的命令的返回值时,我确实遇到了一个问题。 在testing几种创buildif语句的方法之后,我发现只有没有括号才能执行命令。 以下不起作用: if [[ $command ]] ; then echo "something" fi if [[ $(command) ]] ; then echo "something" fi if [[ ${command} ]] ; then echo "something" fi 上面的代码使if循环成为真,即使命令没有运行。 因为上面的代码不能使用大括号它不能使用这个: [[ $command ]] || echo "failed" 而且它不能在子shell中工作。 以下工作: if $command ; then echo "something" fi if $(command) ; then echo "something" fi […]

停止运行时如何closureslinux电源?

我已经成功地使用了pm_power_off函数指针,使我的自定义Linux电路板通过i2c调用其电源pipe理芯片(closures电源)。 我希望Linux halt命令也可以closures电源。 我怎样才能做到这一点? machine_halt的(ARM)代码没有类似于machine_power_off的pm_power_off的指针。 弓/ ARM /内核/ reboot.c: /* * Halting simply requires that the secondary CPUs stop performing any * activity (executing tasks, handling interrupts). smp_send_stop() * achieves this. */ void machine_halt(void) { local_irq_disable(); smp_send_stop(); local_irq_disable(); while (1); } /* * Power-off simply requires that the secondary CPUs stop performing any * activity […]

如何从Unixterminal的任何path运行.sh脚本?

我知道如何运行我创build的脚本。 但是,我需要通过terminal改变目录并运行我的脚本,这是一个痛苦的问题。 我需要运行到桌面的slowloris脚本,现在改变目录到桌面并运行。 然后我有另一个根; 现在将目录更改为root并运行该目录。 我的问题是: 如何通过从任何pathinput./script来运行任何shell脚本,就像我们从任何path启动Metasploit一样,通过从任何path给予msfconsole 。

为什么共享库的ELF标头指定Linux作为OSABI?

我的Linux系统上的所有标准共享库(Fedora 9)都将ELFOSABI_NONE(0)指定为它们的OSABI。 这很好 – 但是我收到了ELF头文件中给出的OSABI为ELFOSABI_LINUX(3)的共享库。 这对于一个用于Linux系统的共享库来说听起来并不合理,但是对于我的其他所有库来说这是一个不同的值 – 所以当我试图用dlopen()打开这个库时,我的其他库的这个失败,错误“ELF文件操作系统ABI无效”。 我编译了FreeBSD实用程序brandelf.c,并使用它将OSABItypes更改为0,现在该库似乎可以与其他所有程序一起使用。 我只是想知道 – 你为什么认为这个库被标记为ELFOSABI_LINUX? 我猜也许他们在另一个系统上交叉编译,并指定一些gcc标志,导致这个值被设置到ELF头? 我试图实现类似的东西,但无法确定适当的gcc标志或标志。 我想知道可能的原因是什么,因为这个特定的供应商不会做任何事情,没有很多的手,我想能够说“你可能在做X,但这意味着我们必须修改你的库我们接受了他们之后“。

如何传递存储在单个variables中的引号的命令行参数?

我想从shell脚本调用外部应用程序,但是这个shell脚本从一个variables中获取参数(来自其他脚本)。 一切都还好,直到我不必为单个参数使用双引号,而是用空格隔开单词。 这里是我的问题的简化例子(sh_param只是打印所有传递的参数): #!/bin/sh pass() { echo "Result with \$@" ./sh_param $@ echo "Result with \"\$@\"" ./sh_param "$@" echo "Result with \$*" ./sh_param $* echo "Result with \"\$*\"" ./sh_param "$*" } pass '"single param" separate params' 和结果(sh_param只是打印所有传递的参数): Result with $@ Param: "single Param: param" Param: separate Param: params Result with "$@" Param: "single param" separate […]

在Gnome Shell中使用通知的Python程序不起作用

我正在写一个Python程序,它从网页获取信息,并在Gnome Shell的Notification中显示。 我正在使用Arch,所以我想在启动时启动这个程序,如果网页上有任何改变,它会通知我。 这是我的代码: import time import webbrowser import requests from bs4 import BeautifulSoup from gi.repository import Notify, GLib IPS = {'Mobifone': True, 'Viettel': False, 'Vinaphone': False} LINK = "https://id.vtc.vn/tin-tuc/chuyen-muc-49/tin-khuyen-mai.html" def set_ips_state(ips_name, state): global IPS for key in IPS.iterkeys(): if key == ips_name: IPS[key] = state def call_webbrowser(notification, action_name, link): webbrowser.get('firefox').open_new_tab(link) def create_notify(summary, body, link): […]