bsd

BSD md5 vs GNU md5sum output format?

為{幸葍}努か 提交于 2020-01-03 09:06:12
问题 Any one knows why BSD md5 program produces hash output in this format ... MD5 (checksum.md5) = 9eb7a54d24dbf6a2eb9f7ce7a1853cd0 ... while GNU md5sum produces much more sensible format like this? 9eb7a54d24dbf6a2eb9f7ce7a1853cd0 checksum.md5 As far as I can tell, the md5sum format is much easier to parse and makes more sense. How do you do md5sum -check with md5? And what do the -p, -q, -r, -t, -x options mean? man md5 says nothing about those options! :| 回答1: Historical reasons, i guess.

五种开源协议(GPL,LGPL,BSD,MIT,Apache)

给你一囗甜甜゛ 提交于 2019-12-27 14:48:38
什么是许可协议? 什么是许可,当你为你的产品签发许可,你是在出让自己的权利,不过,你仍然拥有版权和专利(如果申请了的话),许可的目的是,向使用你产品的人提供 一定的权限。 不管产品是免费向公众分发,还是出售,制定一份许可协议非常有用,否则,对于前者,你相当于放弃了自己所有的权利,任何人都没有义务表明你的原始作 者身份,对于后者,你将不得不花费比开发更多的精力用来逐个处理用户的授权问题。 而 开源许可协议 使这些事情变得简单,开发者很容易向一个项目贡献自己的代码,它还可以保护你原始作者的身份,使你 至少获得认可,开源许可协议还可以阻止其它人将某个产品据为己有。以下是开源界的 5 大许可协议。 GNU GPL GNU General Public Licence (GPL) 有可能是开源界最常用的许可模式。GPL 保证了所有开发者的权利,同时为使用者提供了足够的复制,分发,修改的权利: 可自由复制 你可以将软件复制到你的电脑,你客户的电脑,或者任何地方。复制份数没有任何限制。 可自由分发 在你的网站提供下载,拷贝到U盘送人,或者将源代码打印出来从窗户扔出去(环保起见,请别这样做)。 可以用来盈利 你可以在分发软件的时候收费,但你必须在收费前向你的客户提供该软件的 GNU GPL 许可协议,以便让他们知道,他们可以从别的渠道免费得到这份软件,以及你收费的理由。 可自由修改

五种开源协议(GPL,LGPL,BSD,MIT,Apache)介绍

强颜欢笑 提交于 2019-12-27 11:04:40
商业化的软件应该主要选用MIT或者Apache license的开源系统作为插件。 什么是许可协议? 什么是许可,当你为你的产品签发许可,你是在出让自己的权利,不过,你仍然拥有版权和专利(如果申请了的话),许可的目的是,向使用你产品的人提供 一定的权限。 不管产品是免费向公众分发,还是出售,制定一份许可协议非常有用,否则,对于前者,你相当于放弃了自己所有的权利,任何人都没有义务表明你的原始作 者身份,对于后者,你将不得不花费比开发更多的精力用来逐个处理用户的授权问题。 而 开源许可协议 使这些事情变得简单,开发者很容易向一个项目贡献自己的代码,它还可以保护你原始作者的身份,使你 至少获得认可,开源许可协议还可以阻止其它人将某个产品据为己有。以下是开源界的 5 大许可协议。 GNU GPL GNU General Public Licence (GPL) 有可能是开源界最常用的许可模式。GPL 保证了所有开发者的权利,同时为使用者提供了足够的复制,分发,修改的权利: 可自由复制 你可以将软件复制到你的电脑,你客户的电脑,或者任何地方。复制份数没有任何限制。 可自由分发 在你的网站提供下载,拷贝到U盘送人,或者将源代码打印出来从窗户扔出去(环保起见,请别这样做)。 可以用来盈利 你可以在分发软件的时候收费,但你必须在收费前向你的客户提供该软件的 GNU GPL 许可协议,以便让他们知道

Linux与Unix到底有什么不同?

大兔子大兔子 提交于 2019-12-25 22:47:21
来自:开源中国 原文:Linux vs. Unix: What's the difference? 链接: https:// opensource.com/article/ 18/5/differences-between-linux-and-unix 译者:Tocy, LinuxTech, 琪花亿草, lnovonl, 雪落无痕xdj, kevinlinkai, 无若 如果你是一名20多岁或30多岁的软件开发人员,那么你已成长在一个由Linux主导的世界中。数十年来,它一直是数据中心的重要参与者,尽管很难找到明确的操作系统市场份额的报告,但Linux在数据中心操作系统上的份额可能高达70%,而Windows变体几乎涵盖了所有剩余的比例。使用任何主流公共云的开发人员可以假定目标系统将运行Linux。近些年来,随着Android和基于Linux的嵌入式系统在智能手机、电视、汽车和其他设备中的应用,Linux随处可见的证据比比皆是。 即便如此,大多数软件开发人员,甚至是那些在这场古老的“Linux革命”中成长的软件开发人员,也至少听说过Unix。这听起来与Linux类似,你可能已经听说过人们可以互换地使用这些术语。或者你也许听说过Linux被称为“类Unix”操作系统。 那么,这个Unix是什么呢? 一些漫画种讲到的是坐在发绿光的屏幕后面的精灵般的“老人”,他编写C代码和shell脚本

Check if file is modified deleted or extended using python select.kqueue()

有些话、适合烂在心里 提交于 2019-12-25 02:14:27
问题 Hi I am having a hard time understanding how to use the BSD only python module classes select.kqueue and select.kevent to setup a watch for file write events. I want to a python program to respond whenever a text file is written to by another process. My test code goes as follows: import os myfd = os.open("/Users/hari/c2cbio/t.txt",os.O_RDONLY) my_event=select.kevent(myfd,filter=select.KQ_FILTER_VNODE,fflags=select.KQ_NOTE_WRITE|select.KQ_NOTE_EXTEND) # I now create a kqueue object and a

Script to find all .h file and put in specified folder with same structure?

不打扰是莪最后的温柔 提交于 2019-12-24 19:26:46
问题 I need a bash script like headers ~/headers-folder ~/output-folder so it recursively finds all .h files in ~/headers-folder and put them all in ~/output-folder with the folder hierarchy maintained? Thanks! 回答1: find /path/to/find -name "*.h" -type f | xargs -I {} cp --parents {} /path/to/destination Check this out. 回答2: rsync is great for that too: rsync --include '*.h' --filter 'hide,! */' -avm headers-folder/ output-folder/ This will copy all the *.h files, and create only the necessary

OSX setgid system call - which API is the correct one

跟風遠走 提交于 2019-12-24 01:17:25
问题 I'd like to use the system call setgid, to change the group ID of the current process. Trying to lookup this function, the only implementation I've found is in kern_prot.c : /* * setgid * * Description: Set group ID system call * * Parameters: uap->gid gid to set ... .. . */ int setgid(proc_t p, struct setgid_args *uap, __unused int32_t *retval) { ... .. . } Notice that according to /usr/unistd.h, the API is completely different ( int setgid(gid_t); ). does int setgid(gid_t); is a wrapper of

Why does this code works on Xcode simulator, but does not work on device?

家住魔仙堡 提交于 2019-12-23 21:07:19
问题 I'm really hoping, that someone explains it to me. I'm writing an app that uses it's device mac address, and this code perfectly works on the simulator, but does not work on a device. I got this code from the question Get router mac (without system call for ARP) in Objective-C #include <stdio.h> #include <sys/types.h> #include <stdio.h> #include <string.h> #include <sys/socket.h> #include <net/if_dl.h> #include <ifaddrs.h> #include <net/if_types.h> char* getMacAddress(char* macAddress, char*

What type of threads does OS X have?

我怕爱的太早我们不能终老 提交于 2019-12-23 15:49:40
问题 Kernel-level threads (like Linux and some *BSD systems) or something else? If there is any difference, I'm using pthreads. 回答1: They are Mach threads. 回答2: Old question, but could use some more detail and accuracy: The underlying threads in XNU (the OS X and iOS kernel) are indeed Mach threads, but these are generally hidden from user mode. Instead, there are BSD threads (also known as uthreads) over them, which are more accessible via the system calls (such as #360, bsdthread_create, and

Raw Sockets on BSD Operating Systems

China☆狼群 提交于 2019-12-23 11:59:06
问题 I've been writing some sockets code in C. I need modify packet headers and control how they're sent out, so I took the raw sockets approach. However, the code I wrote will not compile on BSD systems (Mac OS X/Darwin, FreeBSD, etc.) I've done a bunch of research on this and have found that BSD systems can't handle raw sockets the way Linux (or even Windows) does. From what I've read, it seems I need to use bpf (berkley packet filter), but I can't figure out how bpf works or how I would go