Merge remote-tracking branch 'LCTT/master'

This commit is contained in:
Xingyu Wang 2019-10-12 09:19:10 +08:00
commit d6bd9cd0c7
12 changed files with 883 additions and 626 deletions

View File

@ -1,8 +1,8 @@
[#]: collector: (lujun9972)
[#]: translator: (wxy)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: reviewer: (wxy)
[#]: publisher: (wxy)
[#]: url: (https://linux.cn/article-11448-1.html)
[#]: subject: (3 command line games for learning Bash the fun way)
[#]: via: (https://opensource.com/article/19/10/learn-bash-command-line-games)
[#]: author: (Seth Kenlon https://opensource.com/users/seth)
@ -12,21 +12,19 @@ Bash 学习的快乐之旅3 个命令行游戏
> 通过这些命令行游戏,学习有用的 Bash 技能也是一件乐事。
![connecting yellow dots in a maze][1]
![](https://attackofthefanboy.com/wp-content/uploads/2018/11/fallout-terminal-computer-hacking-guide.jpg)
学习是件艰苦的工作,然而没有人喜欢工作。这意味着无论学习 Bash 多么容易,它仍然对你来说就像工作一样。当然,除非你通过游戏来学习。
你不会觉得会有很多游戏可以教你如何使用 Bash 终端吧,这是对的。严肃的 PC 游戏玩家知道,《<ruby>辐射<rt>Fallout</rt></ruby>》系列在金库中配备了基于终端的计算机,这可以帮你理解通过文本与计算机进行交互是什么样子,但是尽管其功能的灵感或多或少地类似于 [Alpine][2] 或 [Emacs][3]可是玩《辐射》并不会教给你可以在现实生活中使用的命令或应用程序。《辐射》系列从未直接移植到Linux尽管可以通过 Steam 的开源的 [Proton][4] 来玩。)曾是《辐射》的前身的《<ruby>[废土][5]<rt>Wasteland</rt></ruby>》系列的最新作品确实是面向 Linux 的,因此,如果你想体验游戏中的终端,可以在你的 Linux 游戏计算机上玩《[废土 2][6]》和《[废土 3][7]》。《<ruby>[暗影狂奔][8]<rt>Shadowrun</rt></ruby>》系列也有面向 Linux 的版本,它有许多基于终端的交互,尽管公认 [hot sim][9] 序列常常使它黯然失色。
![](https://attackofthefanboy.com/wp-content/uploads/2018/11/fallout-terminal-computer-hacking-guide.jpg)
你不会觉得会有很多游戏可以教你如何使用 Bash 终端吧,这是对的。严肃的 PC 游戏玩家知道,《<ruby>辐射<rt>Fallout</rt></ruby>》系列在金库中配备了基于终端的计算机,这可以帮你理解通过文本与计算机进行交互是什么样子,但是尽管其功能或多或少地类似于 [Alpine][2] 或 [Emacs][3]可是玩《辐射》并不会教给你可以在现实生活中使用的命令或应用程序。《辐射》系列从未直接移植到Linux尽管可以通过 Steam 的开源的 [Proton][4] 来玩。)曾是《辐射》的前身的《<ruby>[废土][5]<rt>Wasteland</rt></ruby>》系列的最新作品倒是面向 Linux 的,因此,如果你想体验游戏中的终端,可以在你的 Linux 游戏计算机上玩《[废土 2][6]》和《[废土 3][7]》。《<ruby>[暗影狂奔][8]<rt>Shadowrun</rt></ruby>》系列也有面向 Linux 的版本,它有许多基于终端的交互,尽管公认 [hot sim][9] 序列常常使它黯然失色。
虽然这些游戏中采用了有趣的操作计算机终端的方式,并且可以在开源的系统上运行,但它们本身都不是开源的。不过,至少有两个游戏采用了严肃且非常有趣的方法来教人们如何通过文本命令与系统进行交互。最重要的是,它们是开源的。
### Bashcrawl
你可能听说过《<ruby>[巨洞探险][10]<rt>Colossal Cave Adventure</rt></ruby>》游戏,这是一款古老的基于文本的交互式游戏,其风格为“自由冒险”类。早期的计算机爱好者们在 DOS 或 ProDOS 命令行上痴迷地玩这些游戏,他们努力寻找有效语法和(如一个讽刺黑客所解释的)滑稽幻想逻辑的正确组合来击败游戏。想象一下,如果除了探索虚拟的中世纪地下城之外,挑战还在于回忆起有效的 Bash 命令,那么这样的挑战会多有成效。这就是 [Bashcrawl][11] 的基调,这是一个基于 Bash 的地下城探险游戏,你可以通过学习和使用 Bash 命令来玩。
你可能听说过《<ruby>[巨洞探险][10]<rt>Colossal Cave Adventure</rt></ruby>》游戏,这是一款古老的基于文本的交互式游戏,其风格为“自由冒险”类。早期的计算机爱好者们在 DOS 或 ProDOS 命令行上痴迷地玩这些游戏,他们努力寻找有效语法和(如一个讽刺黑客所解释的)滑稽幻想逻辑的正确组合来击败游戏。想象一下,如果除了探索虚拟的中世纪地下城之外,挑战还在于回忆起有效的 Bash 命令,那么这样的挑战会多有成效。这就是 [Bashcrawl][11] 的基调,这是一个基于 Bash 的地下城探险游戏,你可以通过学习和使用 Bash 命令来玩这个游戏
在 Bashcrawl 中,“地下城”是以目录和文件的形式在你的计算机上创建的。你可以通过使用 `cd` 命令更改目录进入地下城的每个房间来探索它。当你[穿行目录][12]时,你可以用 [ls -F] [13] 来查看文件,用 [cat][14] 读取文件,[设置变量][15]来收集宝藏,并运行脚本来与怪物战斗。你在游戏中所做的一切操作都是有效的 Bash 命令,你可以稍后在现实生活中使用它,并且玩这个游戏提供了 Bash 体验,因为这个“游戏”是由计算机上的实际目录和文件组成的。
在 Bashcrawl 中,“地下城”是以目录和文件的形式创建在你的计算机上的。你可以通过使用 `cd` 命令更改目录进入地下城的每个房间来探索它。当你[穿行目录][12]时,你可以用 [ls -F][13] 来查看文件,用 [cat][14] 读取文件,[设置变量][15]来收集宝藏,并运行脚本来与怪物战斗。你在游戏中所做的一切操作都是有效的 Bash 命令,你可以稍后在现实生活中使用它,玩这个游戏提供了 Bash 体验,因为这个“游戏”是由计算机上的实际目录和文件组成的。
```
$ cd entrance/
@ -72,13 +70,13 @@ $ git clone https://gitlab.com/slackermedia/bashcrawl.git bashcrawl
与你下载的几乎所有新的软件包一样,你必须做的第一件事是阅读 README 文件。你可以通过双击`bashcrawl` 目录中的 `README.md` 文件来阅读。在 Mac 上,你的计算机可能不知道要使用哪个应用程序打开该文件;你也可以使用任何文本编辑器或 LibreOffice 打开它。`README.md` 这个文件会具体告诉你如何开始玩游戏,包括如何在终端上进入游戏以及要开始游戏必须发出的第一条命令。如果你无法阅读 README 文件,那游戏就不战自胜了(尽管由于你没有玩而无法告诉你)。
Bashcrawl 并不意味着是给比较聪明或高级用户玩的。相反,为了对新用户透明,它尽可能简单。理想情况下,新的 Bash 用户可以从游戏中学习 Bash 的一些基础知识,然后会偶然发现一些游戏机制,包括使游戏运行的简单脚本,并学习到更多的 Bash 知识。此外,新的 Bash 用户可以按照 Bashcrawl 现有内容的示例设计自己的地下城,没有比编写游戏更好的学习编码的方法了。
Bashcrawl 并不意味着是给比较聪明或高级用户玩的。相反,为了对新用户透明,它尽可能简单。理想情况下,新的 Bash 用户可以从游戏中学习 Bash 的一些基础知识,然后会偶然发现一些游戏机制,包括使游戏运行起来的简单脚本,并学习到更多的 Bash 知识。此外,新的 Bash 用户可以按照 Bashcrawl 现有内容的示例设计自己的地下城,没有比编写游戏更好的学习编码的方法了。
### 命令行英雄BASH
Bashcrawl 适用于绝对初学者。如果你经常使用 Bash则很有可能会尝试通过以初学者尚不了解的方式查看 Bashcrawl 的文件,以胜过它。如果你是 Bash 的中级或高级用户,则应尝试一下 [命令行英雄BASH][22]。
Bashcrawl 适用于绝对初学者。如果你经常使用 Bash则很有可能会尝试通过以初学者尚不了解的方式查看 Bashcrawl 的文件,从而找到胜过它的秘径。如果你是中高级的 Bash 用户,则应尝试一下 [命令行英雄BASH][22]。
这个游戏很简单在给定的时间内输入尽可能多的有效命令LCTT 译注BASH 也有“猛击”的意思)。听起来很简单。作为 Bash 用户,你每天都会使用许多命令。作为 Linux 用户,你知道在哪里可以找到命令列表。仅 util-linux 软件包就包含一百多个命令!问题是,在倒计时的压力下,你的指尖是否忙的过来输入这些命令?
这个游戏很简单在给定的时间内输入尽可能多的有效命令LCTT 译注BASH 也有“猛击”的意思)。听起来很简单。作为 Bash 用户,你每天都会使用许多命令。对于 Linux 用户来说,你知道在哪里可以找到命令列表。仅 util-linux 软件包就包含一百多个命令!问题是,在倒计时的压力下,你的指尖是否忙的过来输入这些命令?
![Command Line Heroes: BASH][23]
@ -92,17 +90,17 @@ Bashcrawl 适用于绝对初学者。如果你经常使用 Bash则很有可
### 在 Bash 中扫雷
如果你是高级 Bash 用户,并且已经编写了多个 Bash 脚本,那么你可能不仅仅想学习 Bash。你可以尝试编写游戏而不是玩游戏这才是真的挑战。稍加思考用上一个下午或几个小时便可以完全在 Bash 中实现流行的游戏《扫雷》。你可以先尝试自己编写游戏,然后参阅 Abhishek Tamrakar 的[文章][27],以了解他如何完成该游戏的。
如果你是高级 Bash 用户,并且已经编写了多个 Bash 脚本,那么你可能不仅仅想学习 Bash。你可以尝试编写游戏而不是玩游戏这才是真的挑战。稍加思考用上一个下午或几个小时便可以在 Bash 中实现流行的游戏《扫雷》。你可以先尝试自己编写这个游戏,然后参阅 Abhishek Tamrakar 的[文章][27],以了解他如何完成该游戏的。
![][28]
有时编程没有目的而是为了教育。在 Bash 中编写游戏可能不是可以在网上赢得声誉的项目,但是该过程可能会很有趣且很有启发性。面对一个你从未想到的问题,这是学习新技巧的好方法。
有时编程没有什么目的而是为了教育。在 Bash 中编写游戏可能不是可以让你在网上赢得声誉的项目,但是该过程可能会很有趣且很有启发性。面对一个你从未想到的问题,这是学习新技巧的好方法。
### 学习 Bash玩得开心
不管你如何学习它Bash 都是一个功能强大的界面,因为它使你能够指示计算机执行所需的操作,而无需通过图形界面的应用程序的“中间人”界面。有时,图形界面很有帮助,但有时你想离开那些已经非常了解的东西,然后转向可以快速或通过自动化来完成的事情。由于 Bash 基于文本,因此易于编写脚本,使其成为自动化作业的理想起点。
了解 Bash 以开始走向高级用户之路但是请确保你乐在其中。
了解 Bash 以开始走向高级用户之路但是请确保你乐在其中。
--------------------------------------------------------------------------------
@ -111,7 +109,7 @@ via: https://opensource.com/article/19/10/learn-bash-command-line-games
作者:[Seth Kenlon][a]
选题:[lujun9972][b]
译者:[wxy](https://github.com/wxy)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出

View File

@ -1,5 +1,5 @@
[#]: collector: (lujun9972)
[#]: translator: ( )
[#]: translator: (geekpi)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )

View File

@ -0,0 +1,65 @@
[#]: collector: (lujun9972)
[#]: translator: ( )
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (Everything you need to know about Grace Hopper in six books)
[#]: via: (https://opensource.com/article/19/10/grace-hopper-books)
[#]: author: (Joshua Allen Holm https://opensource.com/users/holmja)
Everything you need to know about Grace Hopper in six books
======
A reading list for people of all ages about the legendary Queen of Code.
![Book list, favorites][1]
Grace Hopper is one of those iconic figures that really needs no introduction. During her long career in the United States Navy, she was a key figure in the early days of modern computing. If you have been involved in open source or technology in general, chances are you have already heard several anecdotes about Grace Hopper. The story of finding [the first computer bug][2], perhaps? Or maybe you have heard some of her nicknames: Queen of Code, Amazing Grace, or Grandma COBOL?
While computing has certainly changed from the days of punch cards, Grace Hopper's legacy lives on. She was posthumously awarded a Presidential Medal of Freedom, the Navy named a warship after her, and the [Grace Hopper Celebration][3] is an annual conference with an emphasis on topics that are relevant to women in computing. Suffice it to say, Grace Hopper's name is going to live on for a very long time.
Grace Hopper had a career anyone should be proud of, and she accomplished many great things. Like many historical figures who have accomplished great things, sometimes the anecdotes about her contributions start to drift towards the realm of tall tales, which does Grace Hopper a disservice. Her real accomplishments are already legendary, and there is no reason to try to turn her into the computer science version of [John Henry][4] or [Paul Bunyan][5].
To that end, here are six books that explore the life and legacy of Grace Hopper. No tall tales, just story after story of Grace Hopper, a woman who changed the world.
##
[broad_band_150.jpg][6]
![Broad Band book cover][7]
Broad Band: The Untold Story of the Women Who Made the Internet
### by Claire L. Evans
In [_Broad Band: The Untold Story of the Women Who Made the Internet_][8], Claire L. Evans explores the lives of several women whose contributions to technology helped to shape the internet. Starting with Ada Lovelace and moving towards modern times with Grace Hopper and others, Evans weaves an interesting narrative that highlights the roles various women played in early computing. While only part of the book focuses on Grace Hopper, the overarching narrative of Evans's work does an excellent job of showcasing Hopper's place in computing history.
##
[grace_hopper_admiral_of_the_cyber_sea_150.jpg][9]
![Grace Hopper: Admiral of the Cyber Sea cover][10]
I sat down with Leslie Hawthorn , Community Manager at Red Hat, and chatted with her about the 2012...
--------------------------------------------------------------------------------
via: https://opensource.com/article/19/10/grace-hopper-books
作者:[Joshua Allen Holm][a]
选题:[lujun9972][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensource.com/users/holmja
[b]: https://github.com/lujun9972
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/reading_book_stars_list.png?itok=Iwa1oBOl (Book list, favorites)
[2]: https://www.computerhistory.org/tdih/september/9/
[3]: https://ghc.anitab.org/
[4]: https://en.wikipedia.org/wiki/John_Henry_(folklore)
[5]: https://en.wikipedia.org/wiki/Paul_Bunyan
[6]: https://opensource.com/file/453331
[7]: https://opensource.com/sites/default/files/uploads/broad_band_150.jpg (Broad Band book cover)
[8]: https://clairelevans.com/
[9]: https://opensource.com/file/453336
[10]: https://opensource.com/sites/default/files/uploads/grace_hopper_admiral_of_the_cyber_sea_150.jpg (Grace Hopper: Admiral of the Cyber Sea cover)

View File

@ -0,0 +1,66 @@
[#]: collector: (lujun9972)
[#]: translator: ( )
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (FOSS in India: Perspectives of an American Anthropologist)
[#]: via: (https://opensourceforu.com/2019/10/foss-in-india-perspectives-of-an-american-anthropologist-2/)
[#]: author: (Prof. C.N Krishnan https://opensourceforu.com/author/cn-krishnan/)
FOSS in India: Perspectives of an American Anthropologist
======
[![][1]][2]
_In her doctoral thesis done at the University of Manchester, UK, titled Free and Open Source Software (FOSS) in India: Mobilising Technology for the National Good, American anthropologist Dr Jasmine Folz addresses the question “What can the case of FOSS in India tell us about the roles and relationships between technology, autonomy, and the state?” This article gives a quick summary of some topics discussed in the thesis to convey a flavour of the work._
Dr Folz spent one year in India doing field work for her thesis, travelling and interacting extensively with many different players in the Indian FOSS space. Studies of FOSS in India have been very few and mostly lacking in depth, and even those that have been done are confined to its technological and economic aspects. This work is therefore unique and valuable in many ways as it provides the deeper insights and understanding that only anthropologists are capable of, and Dr Folz has maintained the rigour and focus of her profession in this effort. Among other things, it could help answer frequently asked questions like “Why is there very little contribution from India to the global FOSS corpus?” Much of this review quotes directly from the thesis itself.
**Historical origins of FOSS in India**
Modern science and technology (S&amp;T) came to India bundled with the European colonial project, and it was viewed with suspicion, if not hostility. Searching for alternatives to modern S&amp;T (especially in the areas of healthcare, agriculture, village industries, etc) was thus a part of the freedom struggle, and it continued well beyond Independence. Even decades later, large corporations like IBM and Coca Cola came to be seen as symbols of continued western domination. When software and IT became a major force in the country from the 1980s onwards, driven by the global outsourcing industry, Microsoft too joined the list of such corporations.
The Indian FOSS community took root in this context, with a strong nationalist position and in favour of the digitally disadvantaged sections of the population. In fact, FOSS can be considered a descendant of Gandhian Swadeshi, which includes self-rule via home grown craft and technology, though many in the FOSS community may be opposed to Gandhi on other issues. The Indian FOSS community has always been in conversation with larger issues of what role technology can or should play in Indian society; FOSS came to be seen as a way to develop the nation along particular moral and material pathways, and for that material development to be understood in moral terms.
While sections of the Indian government were sympathetic to FOSS, the former stayed rather non-aligned between proprietary and free software, given how the former was the backbone of the countrys massively successful IT boom that was generating jobs and wealth. The FOSS community, too, mostly did not take any strong position on national political issues, considering that there were many differing ideological strands within the community itself. Yet, the community was quite united on the need to make essential software free and open in the country.
**Notions of freedom, autonomy, individualism and FOSS**
Although FOSS is often free of cost, the FOSS community continues to emphasise that it uses the term free to mean freedom itself, as a concept. FOSS was born in the USA, with Richard Stallman and the Free Software Foundation (FSF) that he created, driving it. The LINUX project of Linus Torvalds from Europe illustrated the process of community-based creation and support of FOSS.
Awareness of FOSS did reach India early on, though the approaches to engaging in and mobilising FOSS have been quite different in India compared to the US. These differences can be understood, to a large degree, as arising from the different conceptions of and relationships between freedom and individualism that exist in the two societies. Hence, they help to explain why FOSS acquired the status of a tool for nation building in India.
To understand what American FOSS enthusiasts mean when they say “Free as in freedom” it is also necessary to understand American individualism. There are two liberal tenets integral to American individualism — free speech and intellectual property law, both of which are at the core of the FOSS ideology as it developed there. American individualism is utilitarian and premised on a core value of self-reliance so that individuals tend to negate the influence of family and class, even minimising personal responsibility to society. American software engineers who produce FOSS code are predominantly educated white men with high incomes and a strong sense of individualism.
For Western FOSS enthusiasts, then, freedom as in free speech is the central issue. The code is viewed as a form of speech and thus not to be owned. To them, the activity of writing code is a form of exploring and opening up physical and mental frontiers. The technical practice of creating FOSS is central to making ideas meaningful to the community. Stallman and the FSF do not view FOSS, per se, as standing for the promotion of socio-economic equality, though they would be for it. To Stallman and the FSF, large scale profiteering from FOSS (if it is possible), as such, would not be an issue, as long as the four freedoms of the code are scrupulously guaranteed. FOSS in the US takes no stand vis-a-vis capitalism, free markets or profit making. In fact, it enables participation in the market in a healthier and stronger manner.
Concepts like freedom and individualism are not universal or uniform; they must be understood as products of unique cultural histories, and there are vast differences between the US and Indian societies, in this regard. It is not that the concept of individualism does not exist in India but it is more in the nature of a relational individualism as against the utilitarian individualism of the US. The relational individualists understand themselves as part of a community with shared beliefs and practices and, besides this, their personal duties and desires are bound to the collective. By ensuring that the goals of the collective are met, the rights of the individual are protected. Because Indian FOSS enthusiasts conceptualise individualism as inherently relational, their interpretation of the FOSS philosophy and its implications, includes the role and rights of the individual, but expands on this to include the community. Thus the freedom imagined by the Indian FOSS community includes the wider socio-economic potential FOSS holds for their developing nation, to which they feel morally obligated to contribute as individuals. It can now be understood how so many Indian FOSS enthusiasts can, on the one hand accept that, “Free as in freedom” is the foundational underpinning of the FOSS philosophy and, on the other hand, emphasise the importance that FOSS is also “Free, as in cost.”
While individual self-reliance is not a traditional cultural touchstone in India, national self-reliance is, as reflected in the Swadeshi movement and post-Independence political and economic policy. As a matter of fact, autonomy could be a more appropriate term than freedom for the Indian context.
**The Indian FOSS community**
Members of the Indian FOSS community come overwhelmingly from middle-class, upper-caste backgrounds, but the majority of them are best understood as being ideologically closer to the old middle class who historically engaged with the nation building process. Many of them stayed back in India rather than emigrate to the West as a commitment to improving India. There are strong ties between the FOSS community and earlier politically engaged science and technology based movements. A majority of the community conceives of FOSS as a technology that can be made Indian and that should be mobilised in efforts to improve the lives of all Indians. In this way, the community is using FOSS as a social as much as a technical tool.
The Indian FOSS community is deeply committed to evangelising FOSS, both in terms of bringing in more people (particularly students) into its fold, as well as by lobbying with the government, academia, NGOs, industry, media, etc. Unlike in the US, it is not essential in India for one to contribute quality code to be accepted as an important member of the FOSS community.
Another aspect that Dr Folzs study examines is gender. The ways in which gender informs the IT industry generally and the FOSS community, specifically in India, are unique. While low participation of women in FOSS is a worldwide issue, within India it has played out in particular ways which have to do with how the male and female roles at home, work, and in public are conceived. Respectable femininity, which is a refraction of hegemonic masculinity, has provided women with the right amount of freedom to participate in the lucrative IT industry so long as their essential identity as wives and mothers was not impacted.
Womens exclusion and discrimination in the Indian FOSS community is rooted in a different set of gendered assumptions and priorities from those in the West, where it is assumed women are not as intellectually capable as men. While Indian women are generally presumed to be as technically capable as men (because much of the work of the Indian FOSS community such as evangelising is social rather than technical and done in public, social settings), many women cannot participate because they do not have as much free time away from work and family obligations as men do. Further, due to the prevalence of homosociality, many women and men do not necessarily feel comfortable socialising together in the public sphere.
For the most part, the Indian FOSS community is left-leaning, middle class and urban, though there are significant generational, regional, and gendered differences. The older generation (aged 50 +) is almost exclusively upper middle class and upper caste, and its members have held important positions in the government, academia, R&amp;D, NGOs, etc. The younger generation, in its 20s and 30s, is most likely to be students or employed by IT companies, with a few entrepreneurs as well. In general, class, caste and gender inequalities are maintained in the FOSS community, though many members of the community are sincerely committed to making it more inclusive.
FOSS offers Indians the possibility of exerting autonomy in the relationships between technology and the state. FOSS allows for the autonomy of states in relation to the market and it also, crucially, offers autonomy to citizens in relation to markets and the Indian state. The Indian FOSS community has taken a technology created in a Western context and mobilised it towards what can broadly be called nation building efforts, though to what extent these mobilisations lead to substantive societal change is yet to be seen.
**Note:** Interested readers can obtain a copy of the entire thesis by writing to Dr Jasmine Folz at _[jasminefolz@gmail.com][3]_.
--------------------------------------------------------------------------------
via: https://opensourceforu.com/2019/10/foss-in-india-perspectives-of-an-american-anthropologist-2/
作者:[Prof. C.N Krishnan][a]
选题:[lujun9972][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensourceforu.com/author/cn-krishnan/
[b]: https://github.com/lujun9972
[1]: https://i2.wp.com/opensourceforu.com/wp-content/uploads/2019/10/Foss-Apps.jpg?resize=696%2C396&ssl=1 (Foss Apps)
[2]: https://i2.wp.com/opensourceforu.com/wp-content/uploads/2019/10/Foss-Apps.jpg?fit=900%2C512&ssl=1
[3]: mailto:jasminefolz@gmail.com

View File

@ -0,0 +1,94 @@
[#]: collector: (lujun9972)
[#]: translator: ( )
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (How a business was built on podcasts for Linux: The story of Jupiter Broadcasting)
[#]: via: (https://opensource.com/article/19/10/linux-podcasts-Jupiter-Broadcasting)
[#]: author: (Don Watkins https://opensource.com/users/don-watkins)
How a business was built on podcasts for Linux: The story of Jupiter Broadcasting
======
Learn about Jupiter Broadcasting's origins and its future under the
Linux Academy wing in an interview with cofounder Chris Fisher.
![Woman programming][1]
I spend a lot of time on the road and enjoy listening to podcasts about a variety of topics. One of my interests is keeping up with the latest news and information about Linux and open source, and that led me to [Jupiter Broadcasting][2], an open source (both in topics covered and its own license) podcasting network. I met Jupiter's cofounder [Chris Fisher][3] when I [visited System76][4]'s Denver headquarters in late 2018.
Jupiter Broadcasting emerged from [The Linux Action Show][5], a podcast that began in 2006 and ended 10 years later in early 2017. The show was such a success that, in 2008, Chris and co-founder [Bryan Lunduke][6] decided to start Jupiter Broadcasting. Back then, the company only had two shows, The Linux Action Show and [CastaBlasta][7]. Now it offers 10 Linux-related podcasts with titles like [Linux Headlines][8], [Linux Action News][9], [Choose Linux][10], [Coder Radio][11], [Self-Hosted][12], and more.
I was interested in learning more about Jupiter, so I was grateful when Chris agreed to do this interview (which has been lightly edited for length and clarity).
**Don Watkins**: What is your background?
**Chris Fisher**: I grew up during the transition from early '80s digital solutions to more "modern" networked solutions. In both schools and businesses, the world was slowly getting networked and online. Some people made early bets on DOS-based systems, and others held out completely for the move to digital. From a very young age, I was fortunate to have access to tech I could tinker with to learn. And right out of high school, I got to work migrating systems, standing up networks, and building out centralized authentication, storage, and early web services.
**DW**: How did you get started with Linux?
**CF**: Coming from a Microsoft and Novell admin background, distros like Debian Linux and the open source services that run on top of it were like discovering a new world of solutions. I quickly became very enthusiastic about open source software and the long-term possibilities of Linux. It didn't take long for me to **rm -rf** my root partition and be blown away with how powerful Linux was. From that moment, I had to have it on the desktop and found more and more uses for it on the server.
**DW**: What is your favorite distribution? Why is it your favorite?
**CF**: I really do enjoy something about all of them. These days, my studio runs Ubuntu LTS, my servers run Fedora (as does my Thinkpad), and my workstation runs Xubuntu. From Gentoo to MX, I like to try them all. But I often stick to the classics on my production systems.
**DW**: What was the genesis of Jupiter Broadcasting?
**CF**: It really started as an outlet to share things my friends and I are passionate about. Over time, as we started more podcasts, it made a lot of sense to put it all under one roof. Podcasts grew into a real industry, we started taking advertisers, and after a few years of working a few jobs at once, I was able to go full time. Fast forward some 10+ years later, and one year ago, we merged with [Linux Academy][13]. They have enabled us to give our podcasts away to the community without advertising and while investing in the crew to make them better than ever. We're on a mission to keep people informed and passionate about Linux and open source, and that fits in really great with our bigger mission at Linux Academy to train people on the stacks we talk about.
**DW**: There are 10 different podcasts at Jupiter Broadcasting. How do you stay on top of all of that?
**CF**: It can be a big job, more than ever these days. We just launched two new podcasts: Linux Headlines—a daily Linux, open source, and cloud news show in three minutes or less, and Self-Hosted, a podcast all about hosting services on your LAN with open source software and leveraging the cloud in a secure, under-your-control way, when it makes sense.
Just getting those efforts off the ground, while also keeping the existing shows fresh and packed with good content, is a lot of work! Especially combined with a fair bit of travel required for the job. Now that we're part of Linux Academy, I have a good team behind me—from a core of full-timers to a raft of co-hosts from various areas in the industry—and they're all really good at their jobs.
I am constantly finding my balance and working with the team to take that on. It's definitely an ongoing process. And I'm really thankful I get to make these podcasts as a living.
**DW**: Do you use open source hardware and software to record the content?
**CF**: Our shows are recorded on Linux, and we use the amazing REAPER editor on Linux. It's not open source, but it's a great example of what kind of powerful, workstation-grade software you can get when you have an open platform underneath it enabling it.
**DW**: How large is your audience?
**CF**: I'm not sure we have ever shared numbers, but I'm thrilled to say it's well over 1 million unique downloads a quarter. Without advertising, we don't have to track very aggressively and have turned our focus on the content. So now we work with some high-level numbers for health checks.
**DW**: Do you have a favorite topic on a particular show?
**CF**: I love the #askerror questions that come into our [User Error][14] podcast. They're always a source of great conversation among the guys. The moment that show hits my podcast player, I hit Play.
But I'm a real newshound, so my favorite topics in the shows I do are driven by the news cycle.
**DW**: How is your content licensed?
**CF**: Attribution-ShareAlike 4.0 International.
**DW**: How do we support you?
**CF**: For us—and for all content creators in this space—word of mouth. People trust direct recommendations, and that means a lot in this area. It's hard to find good content that avoids clickbait and does its research. By the very nature of not chasing that clickbait, it limits the viral discovery of content that is working very hard to get right. So taking a few minutes to tell a friend, or share a post, or anything that helps spread awareness is real support!
--------------------------------------------------------------------------------
via: https://opensource.com/article/19/10/linux-podcasts-Jupiter-Broadcasting
作者:[Don Watkins][a]
选题:[lujun9972][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensource.com/users/don-watkins
[b]: https://github.com/lujun9972
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/programming-code-keyboard-laptop-music-headphones.png?itok=EQZ2WKzy (Woman programming)
[2]: https://www.jupiterbroadcasting.com/
[3]: https://twitter.com/ChrisLAS
[4]: https://opensource.com/article/19/5/system76-secret-sauce
[5]: https://www.jupiterbroadcasting.com/tag/linux-action-show/
[6]: https://twitter.com/BryanLunduke
[7]: https://www.jupiterbroadcasting.com/show/castablasta/
[8]: https://linuxheadlines.show/
[9]: https://linuxactionnews.com/
[10]: https://chooselinux.show/
[11]: https://coder.show/
[12]: https://www.jupiterbroadcasting.com/show/self-hosted/
[13]: https://linuxacademy.com/
[14]: https://www.jupiterbroadcasting.com/show/error/

View File

@ -0,0 +1,62 @@
[#]: collector: (lujun9972)
[#]: translator: ( )
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (How to use IoT devices to keep children safe?)
[#]: via: (https://opensourceforu.com/2019/10/how-to-use-iot-devices-to-keep-children-safe/)
[#]: author: (Andrew Carroll https://opensourceforu.com/author/andrew-carroll/)
How to use IoT devices to keep children safe?
======
[![][1]][2]
_IoT (Internet of Things) devices are transforming our lives rapidly. These devices are everywhere, from our homes to industries. According to some estimates, there will be 10 billion IoT devices by 2020. By 2025, the number of IoT devices will grow to 22 billion. IoT has found its application in a range of fields, including smart homes, industrial processes, agriculture, and even healthcare. With such a wide variety of applications, it is obvious why IoT has become one of the hot topics in recent years._
Several factors have contributed to the explosion of IoT devices in multiple disciplines. These include the availability of low-cost processors and wireless connectivity. Moreover, open-source platforms have enabled the exchange of information in driving innovation in the field of IoT. Compared with conventional application development, IoT has developed exponentially because its resources are open-source.
Before explaining how IoT can be used to protect children, a basic understanding of IoT technology is essential.
**What are IoT devices?**
IoT devices are those that can communicate with each other, without the involvement of humans. Hence, smartphones and computers are not considered as IoT devices by many experts. Moreover, IoT devices must be able to gather data and communicate it to other devices or the cloud for processing.
However, there are some fields where we need to explore the potential for IoT. Children are vulnerable, which makes them an easy target for criminals and others who mean to harm them. Whether in the physical or digital world, children are susceptible to crime. Since parents cannot be physically present to protect their children at all times; thats where the need for monitoring tools is obvious.
In addition to wearable devices for children, there are plenty of parental monitoring applications such as Xnspy that monitor children in real-time and provide live updates. These tools ensure that the child is safe. While wearable devices ensure that the child is not physically in danger, parental monitoring apps ensure that the child is safe online.
As more children spend time on their smartphones, it is no surprise to see them becoming the primary target for frauds and scammers. Moreover, there is also a chance of children becoming targets of cyberbullying because pedophilia, catfishing, and other crimes are prevalent on the internet.
Are these solutions enough? We need to find IoT solutions for ensuring our childrens safety, both online and offline. How can we keep children secure in these times? We need to come up with new and innovative solutions that keep our children safe. The solutions provided by IoT can help keep our children safe in schools as well as homes.
**The potential of IoT**
The benefits offered by IoT devices are numerous. For one, parents can remotely monitor their children without being too overbearing. Thus, children have space and freedom to become independent while having a safe environment to do so.
Moreover, parents do not have to worry about their childrens safety. IoT devices can provide 24/7 updates about a child. Monitoring apps such as Xnspy go a step further in providing information regarding a childs smartphone activity. As IoT devices become more sophisticated, it is only a matter of time before we have devices with increased battery life. IoT devices such as location tracking can provide accurate details regarding a childs whereabouts, so parents do not have to worry.
While wearable devices are great to have, these are often not enough, when ensuring a childs safety. Hence, to provide a safe environment for children, we need other methods. Many incidents have shown that schools are just as susceptible to attacks than any other public place. Therefore, schools need to adopt safety measures that keep children and teachers safe. In this, IoT devices can be used to detect threats and take necessary action to prevent the onslaught of an attack. The threat detection system can include cameras. Once the system detects a threat, it can notify the authorities, including law enforcement agencies and hospitals. Devices such as smart locks can be used to lock down the school, including classrooms, to protect children. In addition to this, parents can be informed about their childs safety, receive immediate alerts on threats. It would require the implementation of wireless technology, such as Wi-Fi and sensors. Thus, schools need to create a budget that is specifically for providing security in the classroom.
Smart homes have made it possible to turn off lights with a clap, or telling your home assistant to do so. Likewise, IoT devices can be used in a house to protect children. In a home, IoT devices such as cameras can be used to provide parents with 100% visibility when looking after the children. When parents arent in the house, cameras and other sensors can be used to detect if any suspicious activity takes place. Other devices, such as smart locks connected to these sensors, can lock the doors, windows, and bedrooms to ensure that the kids are safe.
Likewise, there are plenty of IoT solutions that can be introduced to keep kids safe.
**Just as bad as they are good**
Sensors in IoT devices create an enormous amount of data. The safety of the data is a crucial factor. The data gathered on a child falling into the wrong hands is a risk. Hence, precautions are required. Any data data breached from your IoT devices can be used to determine behavior patterns. So one must invest in providing safe IoT solutions that do not breach user privacy.
Often IoT devices connect to the Wi-Fi to transmit data between devices. Unsecure networks that deal with unencrypted data pose certain risks. Such networks are easy to eavesdrop. Hackers can use such network points to hack the system. They can also introduce malware into the system, making it vulnerable. Moreover, cyberattacks on devices and public networks such as those in schools can lead to data breaches and theft of private data. Hence, an overall plan for protecting the network and IoT devices must be in effect when implementing an IoT solution for the protection of children.
The potential of IoT devices to protect children in schools and homes is yet to find innovation. We need more effort to protect the network that connects IoT devices. Moreover, the data generated by an IoT device can fall into the wrong hands, causing more trouble. So this is one area where IoT security is essential.
--------------------------------------------------------------------------------
via: https://opensourceforu.com/2019/10/how-to-use-iot-devices-to-keep-children-safe/
作者:[Andrew Carroll][a]
选题:[lujun9972][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensourceforu.com/author/andrew-carroll/
[b]: https://github.com/lujun9972
[1]: https://i0.wp.com/opensourceforu.com/wp-content/uploads/2019/10/Visual-Internet-of-things_EB-May18.jpg?resize=696%2C507&ssl=1 (Visual Internet of things_EB May18)
[2]: https://i0.wp.com/opensourceforu.com/wp-content/uploads/2019/10/Visual-Internet-of-things_EB-May18.jpg?fit=900%2C656&ssl=1

View File

@ -1,143 +0,0 @@
[#]: collector: (lujun9972)
[#]: translator: ( )
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (Guide to Install VMware Tools on Linux)
[#]: via: (https://itsfoss.com/install-vmware-tools-linux)
[#]: author: (Ankush Das https://itsfoss.com/author/ankush/)
Guide to Install VMware Tools on Linux
======
**VMware Tools enhances your VM experience by allowing you to share clipboard and folder among other things. Learn how to install VMware tools on Ubuntu and other Linux distributions.**
In an earlier tutorial, you learned to [install VMware Workstation on Ubuntu][1]. You can further enhance the functionality of your virtual machines by installing VMware Tools.
If you have already installed a guest OS on VMware, you must have noticed the requirement for [VMware tools][2] even though not completely aware of what it is needed for.
In this article, we will highlight the importance of VMware tools, the features it offers, and the method to install VMware tools on Ubuntu or any other Linux distribution.
### VMware Tools: Overview & Features
![Installing VMware Tools on Ubuntu][3]Installing VMware Tools on Ubuntu
For obvious reasons, the virtual machine (your Guest OS) will not behave exactly like the host. There will be certain limitations in terms of its performance and operationg. And, that is why a set of utilities (VMware Tools) was introduced.
VMware tools help in managing the guest OS in an efficient manner while also improving its performance.
#### What exactly is VMware tool responsible for?
![How to Install VMware tools on Linux][4]
You have got a vague idea of what it does but let us talk about the details:
* Synchronize the time between the guest OS and the host to make things easier.
* Unlocks the ability to pass messages from host OS to guest OS. For example, you copy a text on the host to your clipboard and you can easily paste it to your guest OS.
* Enables sound in guest OS.
* Improves video resolution.
* Improves the cursor movement.
* Fixes incorrect network speed data.
* Eliminates inadequate color depth.
These are the major changes that happen when you install VMware tools on Guest OS. But, what exactly does it contain / feature in order to unlock/enhance these functionalities? Lets see..
#### VMware tools: Core Feature Details
![Sharing clipboard between guest and host OS with VMware Tools][5]Sharing clipboard between guest and host OS with VMware Tools
If you do not want to know what it includes to enable the functionalities, you can skip this part. But, for the curious readers, let us briefly discuss about it:
**VMware device drivers:** It really depends on the OS. Most of the major operating systems do include device drivers by default. So, you do not have to install it separately. This generally involves memory control driver, mouse driver, audio driver, NIC driver, VGA driver and so on.
**VMware user process:** This is where things get really interesting. With this, you get the ability to copy-paste and drag-drop between the host and the guest OS. You can basically copy and paste the text from the host to the virtual machine or vice versa.
You get to drag and drop files as well. In addition, it enables the pointer release/lock when you do not have an SVGA driver installed.
**VMware tools lifecycle management** : Well, we will take a look at how to install VMware tools below but this feature helps you easily install/upgrade VMware tools in the virtual machine.
**Shared Folders** : In addition to these, VMware tools also allow you to have shared folders between the guest OS and the host.
![Sharing folder between guest and host OS using VMware Tools in Linux][6]Sharing folder between guest and host OS using VMware Tools in Linux
Of course, what it does and facilitates also depends on the host OS. For example, on Windows, you get a Unity mode on VMware to run programs on virtual machine and operate it from the host OS.
### How to install VMware Tools on Ubuntu & other Linux distributions
**Note:** For Linux guest operating systems, you should already have “Open VM Tools” suite installed, eliminating the need of installing VMware tools separately, most of the time.
Most of the time, when you install a guest OS, you will get a prompt as a software update or a popup telling you to install VMware tools if the operating system supports [Easy Install][7].
Windows and Ubuntu does support Easy Install. So, even if you are using Windows as your host OS or trying to install VMware tools on Ubuntu, you should first get an option to install the VMware tools easily as popup message. Heres how it should look like:
![Pop-up to install VMware Tools][8]Pop-up to install VMware Tools
This is the easiest way to get it done. So, make sure you have an active network connection when you setup the virtual machine.
If you do not get any of these pop ups or options to easily install VMware tools. You have to manually install it. Heres how to do that:
1\. Launch VMware Workstation Player.
2\. From the menu, navigate through **Virtual Machine - > Install VMware tools**. If you already have it installed, and want to repair the installation, you will observe the same option to appear as “ **Re-install VMware tools** “.
3\. Once you click on that, you will observe a virtual CD/DVD mounted in the guest OS.
4\. Open that and copy/paste the **tar.gz** file to any location of your choice and extract it, here we choose the **Desktop**.
![][9]
5\. After extraction, launch the terminal and navigate to the folder inside by typing in the following command:
```
cd Desktop/VMwareTools-10.3.2-9925305/vmware-tools-distrib
```
You need to check the name of the folder and path in your case depending on the version and where you extracted it might vary.
![][10]
Replace **Desktop** with your storage location (such as cd Downloads) and the rest should remain the same if you are installing **10.3.2 version**.
6\. Now, simply type in the following command to start the installation:
```
sudo ./vmware-install.pl -d
```
![][11]
You will be asked the password for permission to install, type it in and you should be good to go.
Thats it. You are done. These set of steps should be applicable to almost any Ubuntu-based guest operating system. If you want to install VMware tools on Ubuntu Server, or any other OS.
**Wrapping Up**
Installing VMware tools on Ubuntu Linux is pretty easy. In addition to the easy method, we have also explained the manual method to do it. If you still need help, or have a suggestion regarding the installation, let us know in the comments down below.
--------------------------------------------------------------------------------
via: https://itsfoss.com/install-vmware-tools-linux
作者:[Ankush Das][a]
选题:[lujun9972][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/ankush/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.com/install-vmware-player-ubuntu-1310/
[2]: https://kb.vmware.com/s/article/340
[3]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2019/02/vmware-tools-downloading.jpg?fit=800%2C531&ssl=1
[4]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2019/03/install-vmware-tools-linux.png?resize=800%2C450&ssl=1
[5]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2019/02/vmware-tools-features.gif?resize=800%2C500&ssl=1
[6]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/02/vmware-tools-shared-folder.jpg?fit=800%2C660&ssl=1
[7]: https://docs.vmware.com/en/VMware-Workstation-Player-for-Linux/15.0/com.vmware.player.linux.using.doc/GUID-3F6B9D0E-6CFC-4627-B80B-9A68A5960F60.html
[8]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2019/02/vmware-tools.jpg?fit=800%2C481&ssl=1
[9]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/02/vmware-tools-extraction.jpg?fit=800%2C564&ssl=1
[10]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/02/vmware-tools-folder.jpg?fit=800%2C487&ssl=1
[11]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2019/02/vmware-tools-installation-ubuntu.jpg?fit=800%2C492&ssl=1

View File

@ -1,339 +0,0 @@
[#]: collector: (lujun9972)
[#]: translator: ( )
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (RPM packages explained)
[#]: via: (https://fedoramagazine.org/rpm-packages-explained/)
[#]: author: (Ankur Sinha "FranciscoD" https://fedoramagazine.org/author/ankursinha/)
RPM packages explained
======
![][1]
Perhaps the best known way the Fedora community pursues its [mission of promoting free and open source software and content][2] is by developing the [Fedora software distribution][3]. So its not a surprise at all that a very large proportion of our community resources are spent on this task. This post summarizes how this software is “packaged” and the underlying tools such as _rpm_ that make it all possible.
### RPM: the smallest unit of software
The editions and flavors ([spins][4]/[labs][5]/[silverblue][6]) that users get to choose from are all very similar. Theyre all composed of various software that is mixed and matched to work well together. What differs between them is the exact list of tools that goes into each. That choice depends on the use case that they target. The basic unit of all of these is an RPM package file.
RPM files are archives that are similar to ZIP files or tarballs. In fact, they uses compression to reduce the size of the archive. However, along with files, RPM archives also contain metadata about the package. This can be queried using the _rpm_ tool:
```
```
$ rpm -q fpaste
fpaste-0.3.9.2-2.fc30.noarch
$ rpm -qi fpaste
Name        : fpaste
Version     : 0.3.9.2
Release     : 2.fc30
Architecture: noarch
Install Date: Tue 26 Mar 2019 08:49:10 GMT
Group       : Unspecified
Size        : 64144
License     : GPLv3+
Signature   : RSA/SHA256, Thu 07 Feb 2019 15:46:11 GMT, Key ID ef3c111fcfc659b9
Source RPM  : fpaste-0.3.9.2-2.fc30.src.rpm
Build Date  : Thu 31 Jan 2019 20:06:01 GMT
Build Host  : buildhw-07.phx2.fedoraproject.org
Relocations : (not relocatable)
Packager    : Fedora Project
Vendor      : Fedora Project
URL         : <https://pagure.io/fpaste>
Bug URL     : <https://bugz.fedoraproject.org/fpaste>
Summary     : A simple tool for pasting info onto sticky notes instances
Description :
It is often useful to be able to easily paste text to the Fedora
Pastebin at <http://paste.fedoraproject.org> and this simple script
will do that and return the resulting URL so that people may
examine the output. This can hopefully help folks who are for
some reason stuck without X, working remotely, or any other
reason they may be unable to paste something into the pastebin
$ rpm -ql fpaste
/usr/bin/fpaste
/usr/share/doc/fpaste
/usr/share/doc/fpaste/README.rst
/usr/share/doc/fpaste/TODO
/usr/share/licenses/fpaste
/usr/share/licenses/fpaste/COPYING
/usr/share/man/man1/fpaste.1.gz
```
```
When an RPM package is installed, the _rpm_ tools know exactly what files were added to the system. So, removing a package also removes these files, and leaves the system in a consistent state. This is why installing software using _rpm_ is preferred over installing software from source whenever possible.
### Dependencies
Nowadays, it is quite rare for software to be completely self-contained. Even [fpaste][7], a simple one file Python script, requires that the Python interpreter be installed. So, if the system does not have Python installed (highly unlikely, but possible), _fpaste_ cannot be used. In packager jargon, we say that “Python is a **run-time dependency** of _fpaste_“.
When RPM packages are built (the process of building RPMs is not discussed in this post), the generated archive includes all of this metadata. That way, the tools interacting with the RPM package archive know what else must must be installed so that fpaste works correctly:
```
```
$ rpm -q --requires fpaste
/usr/bin/python3
python3
rpmlib(CompressedFileNames) &amp;lt;= 3.0.4-1
rpmlib(FileDigests) &amp;lt;= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) &amp;lt;= 4.0-1
rpmlib(PayloadIsXz) &amp;lt;= 5.2-1
$ rpm -q --provides fpaste
fpaste = 0.3.9.2-2.fc30
$ rpm -qi python3
Name        : python3
Version     : 3.7.3
Release     : 3.fc30
Architecture: x86_64
Install Date: Thu 16 May 2019 18:51:41 BST
Group       : Unspecified
Size        : 46139
License     : Python
Signature   : RSA/SHA256, Sat 11 May 2019 17:02:44 BST, Key ID ef3c111fcfc659b9
Source RPM  : python3-3.7.3-3.fc30.src.rpm
Build Date  : Sat 11 May 2019 01:47:35 BST
Build Host  : buildhw-05.phx2.fedoraproject.org
Relocations : (not relocatable)
Packager    : Fedora Project
Vendor      : Fedora Project
URL         : <https://www.python.org/>
Bug URL     : <https://bugz.fedoraproject.org/python3>
Summary     : Interpreter of the Python programming language
Description :
Python is an accessible, high-level, dynamically typed, interpreted programming
language, designed with an emphasis on code readability.
It includes an extensive standard library, and has a vast ecosystem of
third-party libraries.
The python3 package provides the "python3" executable: the reference
interpreter for the Python language, version 3.
The majority of its standard library is provided in the python3-libs package,
which should be installed automatically along with python3.
The remaining parts of the Python standard library are broken out into the
python3-tkinter and python3-test packages, which may need to be installed
separately.
Documentation for Python is provided in the python3-docs package.
Packages containing additional libraries for Python are generally named with
the "python3-" prefix.
$ rpm -q --provides python3
python(abi) = 3.7
python3 = 3.7.3-3.fc30
python3(x86-64) = 3.7.3-3.fc30
python3.7 = 3.7.3-3.fc30
python37 = 3.7.3-3.fc30
```
```
### Resolving RPM dependencies
While _rpm_ knows the required dependencies for each archive, it does not know where to find them. This is by design: _rpm_ only works on local files and must be told exactly where they are. So, if you try to install a single RPM package, you get an error if _rpm_ cannot find the packages run-time dependencies. This example tries to install a package downloaded from the Fedora package set:
```
```
$ ls
python3-elephant-0.6.2-3.fc30.noarch.rpm
$ rpm -qpi python3-elephant-0.6.2-3.fc30.noarch.rpm
Name        : python3-elephant
Version     : 0.6.2
Release     : 3.fc30
Architecture: noarch
Install Date: (not installed)
Group       : Unspecified
Size        : 2574456
License     : BSD
Signature   : (none)
Source RPM  : python-elephant-0.6.2-3.fc30.src.rpm
Build Date  : Fri 14 Jun 2019 17:23:48 BST
Build Host  : buildhw-02.phx2.fedoraproject.org
Relocations : (not relocatable)
Packager    : Fedora Project
Vendor      : Fedora Project
URL         : <http://neuralensemble.org/elephant>
Bug URL     : <https://bugz.fedoraproject.org/python-elephant>
Summary     : Elephant is a package for analysis of electrophysiology data in Python
Description :
Elephant - Electrophysiology Analysis Toolkit Elephant is a package for the
analysis of neurophysiology data, based on Neo.
$ rpm -qp --requires python3-elephant-0.6.2-3.fc30.noarch.rpm
python(abi) = 3.7
python3.7dist(neo) &gt;= 0.7.1
python3.7dist(numpy) &gt;= 1.8.2
python3.7dist(quantities) &gt;= 0.10.1
python3.7dist(scipy) &gt;= 0.14.0
python3.7dist(six) &gt;= 1.10.0
rpmlib(CompressedFileNames) &amp;lt;= 3.0.4-1
rpmlib(FileDigests) &amp;lt;= 4.6.0-1
rpmlib(PartialHardlinkSets) &amp;lt;= 4.0.4-1
rpmlib(PayloadFilesHavePrefix) &amp;lt;= 4.0-1
rpmlib(PayloadIsXz) &amp;lt;= 5.2-1
$ sudo rpm -i ./python3-elephant-0.6.2-3.fc30.noarch.rpm
error: Failed dependencies:
        python3.7dist(neo) &gt;= 0.7.1 is needed by python3-elephant-0.6.2-3.fc30.noarch
        python3.7dist(quantities) &gt;= 0.10.1 is needed by python3-elephant-0.6.2-3.fc30.noarch
```
```
In theory, one could download all the packages that are required for _python3-elephant_, and tell _rpm_ where they all are, but that isnt convenient. What if _python3-neo_ and _python3-quantities_ have other run-time requirements and so on? Very quickly, the **dependency chain** can get quite complicated.
#### Repositories
Luckily, _dnf_ and friends exist to help with this issue. Unlike _rpm_, _dnf_ is aware of **repositories**. Repositories are collections of packages, with metadata that tells _dnf_ what these repositories contain. All Fedora systems come with the default Fedora repositories enabled by default:
```
```
$ sudo dnf repolist
repo id              repo name                             status
fedora               Fedora 30 - x86_64                    56,582
fedora-modular       Fedora Modular 30 - x86_64               135
updates              Fedora 30 - x86_64 - Updates           8,573
updates-modular      Fedora Modular 30 - x86_64 - Updates     138
updates-testing      Fedora 30 - x86_64 - Test Updates      8,458
```
```
Theres more information on [these repositories][8], and how they [can be managed][9] on the Fedora quick docs.
_dnf_ can be used to query repositories for information on the packages they contain. It can also search them for software, or install/uninstall/upgrade packages from them:
```
```
$ sudo dnf search elephant
Last metadata expiration check: 0:05:21 ago on Sun 23 Jun 2019 14:33:38 BST.
============================================================================== Name &amp;amp; Summary Matched: elephant ==============================================================================
python3-elephant.noarch : Elephant is a package for analysis of electrophysiology data in Python
python3-elephant.noarch : Elephant is a package for analysis of electrophysiology data in Python
$ sudo dnf list \\*elephant\\*
Last metadata expiration check: 0:05:26 ago on Sun 23 Jun 2019 14:33:38 BST.
Available Packages
python3-elephant.noarch      0.6.2-3.fc30      updates-testing
python3-elephant.noarch      0.6.2-3.fc30              updates
```
```
#### Installing dependencies
When installing the package using _dnf_ now, it _resolves_ all the required dependencies, then calls _rpm_ to carry out the _transaction_:
```
```
$ sudo dnf install python3-elephant
Last metadata expiration check: 0:06:17 ago on Sun 23 Jun 2019 14:33:38 BST.
Dependencies resolved.
==============================================================================================================================================================================================
 Package                                      Architecture                     Version                                                        Repository                                 Size
==============================================================================================================================================================================================
Installing:
 python3-elephant                             noarch                           0.6.2-3.fc30                                                   updates-testing                           456 k
Installing dependencies:
 python3-neo                                  noarch                           0.8.0-0.1.20190215git49b6041.fc30                              fedora                                    753 k
 python3-quantities                           noarch                           0.12.2-4.fc30                                                  fedora                                    163 k
Installing weak dependencies:
 python3-igor                                 noarch                           0.3-5.20150408git2c2a79d.fc30                                  fedora                                     63 k
Transaction Summary
==============================================================================================================================================================================================
Install  4 Packages
Total download size: 1.4 M
Installed size: 7.0 M
Is this ok [y/N]: y
Downloading Packages:
(1/4): python3-igor-0.3-5.20150408git2c2a79d.fc30.noarch.rpm                                                                                                  222 kB/s |  63 kB     00:00
(2/4): python3-elephant-0.6.2-3.fc30.noarch.rpm                                                                                                               681 kB/s | 456 kB     00:00
(3/4): python3-quantities-0.12.2-4.fc30.noarch.rpm                                                                                                            421 kB/s | 163 kB     00:00
(4/4): python3-neo-0.8.0-0.1.20190215git49b6041.fc30.noarch.rpm                                                                                               840 kB/s | 753 kB     00:00
\----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                         884 kB/s | 1.4 MB     00:01
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                                      1/1
  Installing       : python3-quantities-0.12.2-4.fc30.noarch                                                                                                                              1/4
  Installing       : python3-igor-0.3-5.20150408git2c2a79d.fc30.noarch                                                                                                                    2/4
  Installing       : python3-neo-0.8.0-0.1.20190215git49b6041.fc30.noarch                                                                                                                 3/4
  Installing       : python3-elephant-0.6.2-3.fc30.noarch                                                                                                                                 4/4
  Running scriptlet: python3-elephant-0.6.2-3.fc30.noarch                                                                                                                                 4/4
  Verifying        : python3-elephant-0.6.2-3.fc30.noarch                                                                                                                                 1/4
  Verifying        : python3-igor-0.3-5.20150408git2c2a79d.fc30.noarch                                                                                                                    2/4
  Verifying        : python3-neo-0.8.0-0.1.20190215git49b6041.fc30.noarch                                                                                                                 3/4
  Verifying        : python3-quantities-0.12.2-4.fc30.noarch                                                                                                                              4/4
Installed:
  python3-elephant-0.6.2-3.fc30.noarch   python3-igor-0.3-5.20150408git2c2a79d.fc30.noarch   python3-neo-0.8.0-0.1.20190215git49b6041.fc30.noarch   python3-quantities-0.12.2-4.fc30.noarch
Complete!
```
```
Notice how dnf even installed _python3-igor_, which isnt a direct dependency of _python3-elephant_.
### DnfDragora: a graphical interface to DNF
While technical users may find _dnf_ straightforward to use, it isnt for everyone. [Dnfdragora][10] addresses this issue by providing a graphical front end to _dnf_.
![dnfdragora \(version 1.1.1-2 on Fedora 30\) listing all the packages installed on a system.][11]
From a quick look, dnfdragora appears to provide all of _dnf_s main functions.
There are other tools in Fedora that also manage packages. GNOME Software, and Discover are two examples. GNOME Software is focused on graphical applications only. You cant use the graphical front end to install command line or terminal tools such as _htop_ or _weechat_. However, GNOME Software does support the installation of [Flatpaks][12] and Snap applications which _dnf_ does not. So, they are different tools with different target audiences, and so provide different functions.
This post only touches the tip of the iceberg that is the life cycle of software in Fedora. This article explained what RPM packages are, and the main differences between using _rpm_ and using _dnf_.
In future posts, well speak more about:
* The processes that are needed to create these packages
* How the community tests them to ensure that they are built correctly
* The infrastructure that the community uses to get them to community users in future posts.
--------------------------------------------------------------------------------
via: https://fedoramagazine.org/rpm-packages-explained/
作者:[Ankur Sinha "FranciscoD"][a]
选题:[lujun9972][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://fedoramagazine.org/author/ankursinha/
[b]: https://github.com/lujun9972
[1]: https://fedoramagazine.org/wp-content/uploads/2019/06/rpm.png-816x345.jpg
[2]: https://docs.fedoraproject.org/en-US/project/#_what_is_fedora_all_about
[3]: https://getfedora.org
[4]: https://spins.fedoraproject.org/
[5]: https://labs.fedoraproject.org/
[6]: https://silverblue.fedoraproject.org/
[7]: https://src.fedoraproject.org/rpms/fpaste
[8]: https://docs.fedoraproject.org/en-US/quick-docs/repositories/
[9]: https://docs.fedoraproject.org/en-US/quick-docs/adding-or-removing-software-repositories-in-fedora/
[10]: https://src.fedoraproject.org/rpms/dnfdragora
[11]: https://fedoramagazine.org/wp-content/uploads/2019/06/dnfdragora-1024x558.png
[12]: https://fedoramagazine.org/getting-started-flatpak/

View File

@ -1,127 +0,0 @@
[#]: collector: (lujun9972)
[#]: translator: (geekpi)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (How to Install and Use Cockpit on CentOS 8 / RHEL 8)
[#]: via: (https://www.linuxtechi.com/install-use-cockpit-tool-centos8-rhel8/)
[#]: author: (Pradeep Kumar https://www.linuxtechi.com/author/pradeep/)
How to Install and Use Cockpit on CentOS 8 / RHEL 8
======
**Cockpit** is a Web based server management tool available for CentOS and RHEL systems, recently **CentOS 8** and **RHEL 8** are released where cockpit is kept as default server management tool. Its package is available in the default CentOS 8 and RHEL 8 package repositories. Cockpit is a useful Web based GUI tool through which sysadmins can monitor and manage their Linux servers, it can also used to manage networking and storage on servers, containers, virtual machines and inspections of system and applications logs.
In this article we will demonstrate how to install and setup Cockpit on CentOS 8 and RHEL 8 system.
### Installation and setup of Cockpit on CentOS 8 / RHEL 8 System
Login to your CentOS8 / RHEL 8 system and open the terminal and execute the following dnf command,
```
[root@linuxtechi ~]# dnf install cockpit -y
```
Run the following command to enable and start cockpit service,
```
[root@linuxtechi ~]# systemctl start cockpit.socket
[root@linuxtechi ~]# systemctl enable cockpit.socket
```
Allow Cockpit ports in OS firewall using following command,
```
[root@linuxtechi ~]# firewall-cmd --permanent --add-service=cockpit
[root@linuxtechi ~]# firewall-cmd --reload
```
Verify whether cockpit service is up and running or not, execute the following commands,
```
[root@linuxtechi ~]# systemctl status cockpit.socket
[root@linuxtechi ~]# ss -tunlp | grep cockpit
[root@linuxtechi ~]# ps auxf|grep cockpit
```
![cockpit-status-centos8-rhel8][1]
### Access Cockpit on CentOS 8 / RHEL 8 system
As we can see in above commands output that cockpit is listening on tcp port 9090, open your system web browser and type url :
https://&lt;Your-CentOS8/RHEL8-System-IP&gt;:9090
[![CentOS8-cockpit-login-screen][1]][2]
Cockpit Login Screen for RHEL 8,
[![RHEL8-Cockpit-Login-Screen][1]][3]
Use the user name which has admin rights, or we can also use the root users credentials to login. In case you want to assign admin rights to any local user, execute the following command,
```
[root@linuxtechi ~]# usermod -G wheel pkumar
```
here pkumar is my local user,
Once you enter the users credentials, choose “**Reuse my password for privileged tasks**” and then click on “**Log In**” option after that we will get following screen,
[![cockpit-dashboard-centos8][1]][4]
On the Left-hand side bar, we can see what things can be monitored and configured via cockpit GUI,
Lets assume if you wish to check whether there are any updates available for your CentOS 8 / RHEL 8 system, click on “**System Updates**” option,
[![Software-Updates-Cockpit-GUI-CentOS8-RHEL8][1]][5]
To Install all updates, click on “**Install All Updates**”
[![Install-Software-Updates-CentOS8-RHEL8][1]][6]
If wish to modify networking and want to add Bond interface and Bridge, then click on “**Networking**”
[![Networking-Cockpit-Dashboard-CentOS8-RHEL8][1]][7]
As we can in above window, we have the options to create Bond interface, Bridge and VLAN tagged interface.
Lets assume we want to create a bridge as “**br0**” and want to add **enp0s3** as port to it, click on “**Add Bridge**” option,
Specify the bridge name as “br0” and port as “enp0s3” and then click on apply
[![Add-Bridge-Cockpit-CentOS8-RHEL8][1]][8]
In the next screen we will see that our bridge is active and got the same IP as of enp0s3 interface,
[![Bridge-Details-Cockpit-Dashboard-CentOS8-RHEL8][1]][9]
If you wish to inspect system logs then click on “**Logs**” options, there we can view logs based on their severity
[![System-Logs-Cockpit-Dashboard-CentOS8-RHEL8][1]][10]
Thats all from this article, similarly sysadmins can use remaining other options of cockpit to monitor and manage their CentOS 8 and RHEL 8 server. In case these steps help you to setup cockpit on your Linux server then please do share your feedback and comments in the comments section below.
--------------------------------------------------------------------------------
via: https://www.linuxtechi.com/install-use-cockpit-tool-centos8-rhel8/
作者:[Pradeep Kumar][a]
选题:[lujun9972][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://www.linuxtechi.com/author/pradeep/
[b]: https://github.com/lujun9972
[1]: data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7
[2]: https://www.linuxtechi.com/wp-content/uploads/2019/09/CentOS8-cockpit-login-screen.jpg
[3]: https://www.linuxtechi.com/wp-content/uploads/2019/09/RHEL8-Cockpit-Login-Screen.jpg
[4]: https://www.linuxtechi.com/wp-content/uploads/2019/09/cockpit-dashboard-centos8.jpg
[5]: https://www.linuxtechi.com/wp-content/uploads/2019/09/Software-Updates-Cockpit-GUI-CentOS8-RHEL8.jpg
[6]: https://www.linuxtechi.com/wp-content/uploads/2019/09/Install-Software-Updates-CentOS8-RHEL8.jpg
[7]: https://www.linuxtechi.com/wp-content/uploads/2019/09/Networking-Cockpit-Dashboard-CentOS8-RHEL8.jpg
[8]: https://www.linuxtechi.com/wp-content/uploads/2019/09/Add-Bridge-Cockpit-CentOS8-RHEL8.jpg
[9]: https://www.linuxtechi.com/wp-content/uploads/2019/09/Bridge-Details-Cockpit-Dashboard-CentOS8-RHEL8.jpg
[10]: https://www.linuxtechi.com/wp-content/uploads/2019/09/System-Logs-Cockpit-Dashboard-CentOS8-RHEL8.jpg

View File

@ -0,0 +1,141 @@
[#]: collector: (lujun9972)
[#]: translator: (tomjlw)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (Guide to Install VMware Tools on Linux)
[#]: via: (https://itsfoss.com/install-vmware-tools-linux)
[#]: author: (Ankush Das https://itsfoss.com/author/ankush/)
在 Linux 上安装 VMware 工具的教程
======
**VMware 工具通过允许你分享剪贴板和文件夹以及其他东西来提升你的虚拟机体验。了解如何在 Ubuntu 和其它 Linux 发行版上安装 VMware 工具**
在先前的教程中,你学习了[在 Ubuntu 上安装 VMware 工作站][1]。你可以通过安装 VMware 工具进一步提升你的虚拟机功能。
如果你已经在 VMware 上安装了一个访客系统,你必须要注意 [VMware 工具][2]的要求-尽管并不完全清楚到底有什么要求。
在本文中,我们将要强调 VMware 工具的重要性,所提供的特性,以及在 Ubuntu 和其它 Linux 发行版上安装 VMware 工具的方法。
### VMware 工具:概览及特性
![在 Ubuntu 上安装 VMware 工具][3]在 Ubuntu 上安装 VMware 工具
出于显而易见的的理由虚拟机你的客机系统将不会与主机上的表现完全一致。在其性能和操作上会有特定的限制。而那是为什么工具箱VMware 工具)被引入的原因。
VMware 工具以一种高效的形式在提升了其性能的同时,帮助管理访客系统。
#### VMware 工具到底负责什么?
![如何在在 Linux 上安装 VMware 工具][4]
你已大致了解它做什么了-但让我们探讨一下细节:
* 同步访客系统与主机系统间的时间以简化事务
* 解锁从主机系统向客机系统传递消息的能力。比如说,你可以复制文字到剪贴板并将它轻松粘贴到你的客机系统。
* 在客机系统启用声音
* 提升视频分辨率
* 修正错误网络速度数据
* 减少不合适的色深
当你在客机系统上安装 VMware 工具时有重大改变。但是它到底包含什么特性以解锁/提升这些功能呢?然让我们来看看。。
#### VMware 工具:核心特性细节
![用 VMware 工具在主机系统与客机系统间分享剪切板][5]用 VMware 工具在主机系统与客机系统间分享剪切板
如果你不想知道它包含什么来启用这些功能的话,你可以跳过这部分。但是为了好奇的读者,让我们简短地讨论它一下:
**VMware 设备驱动:** 它真的取决于系统。大多数主流操作系统确实默认包括设备驱动。因此你不必另外安装它。这主要涉及-内存控制驱动鼠标驱动音频驱动NIC 驱动VGA 驱动以及其它。
**VMware 用户处理:** 这是事情变得十分有趣的地方。通过它你获得了在客机和主机间复制粘贴和拖拽的能力。你基本上可以从主机复制粘贴到虚拟机,反之亦然。
你同样也可以拖拽文件。此外,在你未安装 SVGA 驱动时它会启用指针释放/锁定。
**VMware工具生命周期管理** 嗯我们会在下面看看如何安装 VMware 工具,但是这个特性帮你在虚拟机中轻松安装/升级 VMware 工具。
**分享文件夹**除了这些。VMware 工具同样允许你在客机与主机系统间分享文件夹。
![使用 VMware 工具在客机与主机系统间分享文件][6]使用 VMware 工具在客机与主机系统间分享文件
当然,它的效果同样取决于客机系统。例如在 Windows 上你通过 Unity 模式在虚拟机上运行程序并从主机系统上操作它。
### 如何在 Ubuntu 和其它 Linux 发行版上安装 VMware 工具
**注意:** 对于 Linux 操作系统你应该已经安装好了“Open VM 工具”,大多数情况下移除了额外安装 VMware 工具的需求。
大部分时候,当你安装了客机系统时,如果操纵系统支持 [Easy Install][7] 的话你会收到软件更新弹窗告诉你安装 VMware 工具。
Windows 和 Ubuntu 不支持 Esay Install。因此即使你使用 Windows 作为你的主机或尝试在 Ubuntu 上安装 VMware 工具,你应该有一个和弹窗消息差不多的选项来轻松安装 VMware 工具。这是它应该看起来的样子:
![安装 VMware 工具的弹窗][8]安装 VMware 工具的弹窗
这是搞定它最简便的办法。因此当你配置虚拟机时确保你有一个通畅的网络连接。
如果你没收到任何弹窗-或者选项来轻松安装VMware 工具。你需要手动安装它。以下是如何去做:
1\. 运行工作站播放器。
2\. 从菜单导航至**虚拟机->安装 VMware 工具**。如果你已经安装了它并想修复安装,你会看到“**重新安装 VMware 工具**”这一选项出现。
3\. 一旦你点击了,你就会看到一个虚拟 CD/DVD 挂载在客户系统上。
4\. 打开并复制粘贴 **tar.gz** 文件到任何你选择的区域并解压,这里我们选择**桌面**。
![][9]
5\. 在解压后运行终端并通过输入以下命令导航至里面的文件夹:
```
cd Desktop/VMwareTools-10.3.2-9925305/vmware-tools-distrib
```
你需要检查文件夹与路径名-取决于版本与解压目的地-名字可能会改变。
![][10]
Replace **Desktop** with your storage location (such as cd Downloads) and the rest should remain the same if you are installing **10.3.2 version**.
6\. 现在仅需输入以下命令开始安装:
```
sudo ./vmware-install.pl -d
```
![][11]
你会被询问密码以获得安装权限,输入密码然后应当一切都搞定了。
到此为止了,你搞定了。这系列步骤应当适用于几乎大部分基于 Ubuntu 的客机系统。如果你想要在 Ubuntu 服务器上或其它系统安装 VMware 工具,步骤应该类似。
**总结**
在 Ubuntu Linux 上安装 VMware 工具应该挺简单。除了简单办法,我们也详述了手动安装的方法。如果你仍需帮助或者对安装有任何建议,在评论区评论让我们知道。
--------------------------------------------------------------------------------
via: https://itsfoss.com/install-vmware-tools-linux
作者:[Ankush Das][a]
选题:[lujun9972][b]
译者:[tomjlw](https://github.com/tomjlw)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/ankush/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.com/install-vmware-player-ubuntu-1310/
[2]: https://kb.vmware.com/s/article/340
[3]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2019/02/vmware-tools-downloading.jpg?fit=800%2C531&ssl=1
[4]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2019/03/install-vmware-tools-linux.png?resize=800%2C450&ssl=1
[5]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2019/02/vmware-tools-features.gif?resize=800%2C500&ssl=1
[6]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/02/vmware-tools-shared-folder.jpg?fit=800%2C660&ssl=1
[7]: https://docs.vmware.com/en/VMware-Workstation-Player-for-Linux/15.0/com.vmware.player.linux.using.doc/GUID-3F6B9D0E-6CFC-4627-B80B-9A68A5960F60.html
[8]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2019/02/vmware-tools.jpg?fit=800%2C481&ssl=1
[9]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/02/vmware-tools-extraction.jpg?fit=800%2C564&ssl=1
[10]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/02/vmware-tools-folder.jpg?fit=800%2C487&ssl=1
[11]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2019/02/vmware-tools-installation-ubuntu.jpg?fit=800%2C492&ssl=1

View File

@ -0,0 +1,313 @@
[#]: collector: (lujun9972)
[#]: translator: (wxy)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (RPM packages explained)
[#]: via: (https://fedoramagazine.org/rpm-packages-explained/)
[#]: author: (Ankur Sinha "FranciscoD" https://fedoramagazine.org/author/ankursinha/)
RPM 包初窥
======
![][1]
也许Fedora 社区追求其[促进自由和开源的软件和内容的使命][2]的最著名方法就是开发 [Fedora 软件发行版][3]了。因此,我们将很大一部分的社区资源用于此任务也就不足为奇了。这篇文章总结了这些软件是如何“打包”的,以及使之成为可能的基础工具,如 `rpm` 之类。
### RPM最小的软件单元
用户可以选择的“版本”和“风味版”([spins][4] / [labs][5] / [silverblue][6])其实非常相似。它们都是由各种软件组成的,这些软件经过混合和搭配,可以很好地协同工作。它们之间的不同之处在于放入其中的具体工具不同。这种选择取决于它们所针对的用例。所有这些的“版本”和“风味版”基本组成单位是 RPM 软件包文件。
RPM 文件是类似于 ZIP 文件或 tarball 的存档文件。实际上它们使用了压缩来减小存档文件的大小。但是除了文件之外RPM 存档中还包含有关软件包的元数据。可以使用 `rpm` 工具查询:
```
$ rpm -q fpaste
fpaste-0.3.9.2-2.fc30.noarch
$ rpm -qi fpaste
Name : fpaste
Version : 0.3.9.2
Release : 2.fc30
Architecture: noarch
Install Date: Tue 26 Mar 2019 08:49:10 GMT
Group : Unspecified
Size : 64144
License : GPLv3+
Signature : RSA/SHA256, Thu 07 Feb 2019 15:46:11 GMT, Key ID ef3c111fcfc659b9
Source RPM : fpaste-0.3.9.2-2.fc30.src.rpm
Build Date : Thu 31 Jan 2019 20:06:01 GMT
Build Host : buildhw-07.phx2.fedoraproject.org
Relocations : (not relocatable)
Packager : Fedora Project
Vendor : Fedora Project
URL : https://pagure.io/fpaste
Bug URL : https://bugz.fedoraproject.org/fpaste
Summary : A simple tool for pasting info onto sticky notes instances
Description :
It is often useful to be able to easily paste text to the Fedora
Pastebin at http://paste.fedoraproject.org and this simple script
will do that and return the resulting URL so that people may
examine the output. This can hopefully help folks who are for
some reason stuck without X, working remotely, or any other
reason they may be unable to paste something into the pastebin
$ rpm -ql fpaste
/usr/bin/fpaste
/usr/share/doc/fpaste
/usr/share/doc/fpaste/README.rst
/usr/share/doc/fpaste/TODO
/usr/share/licenses/fpaste
/usr/share/licenses/fpaste/COPYING
/usr/share/man/man1/fpaste.1.gz
```
安装 RPM 软件包后,`rpm` 工具可以知道具体哪些文件被添加到了系统中。因此,删除该软件包也会删除这些文件,并使系统保持一致状态。这就是为什么要尽可能地使用 `rpm` 安装软件,而不是从源代码安装软件的原因。
### 依赖关系
如今,完全独立的软件已经非常罕见。甚至 [fpaste][7],连这样一个简单的单个文件的 Python 脚本,都需要安装 Python 解释器。因此,如果系统未安装 Python几乎不可能但有可能则无法使用 `fpaste`。用打包者的术语来说“Python 是 `fpaste` 的**运行时依赖项**。”
构建 RPM 软件包时(本文不讨论构建 RPM 的过程),生成的归档文件中包括了所有这些元数据。这样,与 RPM 软件包归档文件交互的工具就知道必须要安装其它的什么东西,以便 `fpaste` 可以正常工作:
```
$ rpm -q --requires fpaste
/usr/bin/python3
python3
rpmlib(CompressedFileNames) &lt;= 3.0.4-1
rpmlib(FileDigests) &lt;= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) &lt;= 4.0-1
rpmlib(PayloadIsXz) &lt;= 5.2-1
$ rpm -q --provides fpaste
fpaste = 0.3.9.2-2.fc30
$ rpm -qi python3
Name : python3
Version : 3.7.3
Release : 3.fc30
Architecture: x86_64
Install Date: Thu 16 May 2019 18:51:41 BST
Group : Unspecified
Size : 46139
License : Python
Signature : RSA/SHA256, Sat 11 May 2019 17:02:44 BST, Key ID ef3c111fcfc659b9
Source RPM : python3-3.7.3-3.fc30.src.rpm
Build Date : Sat 11 May 2019 01:47:35 BST
Build Host : buildhw-05.phx2.fedoraproject.org
Relocations : (not relocatable)
Packager : Fedora Project
Vendor : Fedora Project
URL : https://www.python.org/
Bug URL : https://bugz.fedoraproject.org/python3
Summary : Interpreter of the Python programming language
Description :
Python is an accessible, high-level, dynamically typed, interpreted programming
language, designed with an emphasis on code readability.
It includes an extensive standard library, and has a vast ecosystem of
third-party libraries.
The python3 package provides the "python3" executable: the reference
interpreter for the Python language, version 3.
The majority of its standard library is provided in the python3-libs package,
which should be installed automatically along with python3.
The remaining parts of the Python standard library are broken out into the
python3-tkinter and python3-test packages, which may need to be installed
separately.
Documentation for Python is provided in the python3-docs package.
Packages containing additional libraries for Python are generally named with
the "python3-" prefix.
$ rpm -q --provides python3
python(abi) = 3.7
python3 = 3.7.3-3.fc30
python3(x86-64) = 3.7.3-3.fc30
python3.7 = 3.7.3-3.fc30
python37 = 3.7.3-3.fc30
```
### 解决 RPM 依赖关系
虽然 `rpm` 知道每个归档文件所需的依赖关系,但不知道在哪里找到它们。这是设计使然:`rpm` 仅适用于本地文件,必须具体告知它们的位置。因此,如果你尝试安装单个 RPM 软件包,则 `rpm` 找不到该软件包的运行时依赖项时就会出错。本示例尝试安装从 Fedora 软件包集中下载的软件包:
```
$ ls
python3-elephant-0.6.2-3.fc30.noarch.rpm
$ rpm -qpi python3-elephant-0.6.2-3.fc30.noarch.rpm
Name : python3-elephant
Version : 0.6.2
Release : 3.fc30
Architecture: noarch
Install Date: (not installed)
Group : Unspecified
Size : 2574456
License : BSD
Signature : (none)
Source RPM : python-elephant-0.6.2-3.fc30.src.rpm
Build Date : Fri 14 Jun 2019 17:23:48 BST
Build Host : buildhw-02.phx2.fedoraproject.org
Relocations : (not relocatable)
Packager : Fedora Project
Vendor : Fedora Project
URL : http://neuralensemble.org/elephant
Bug URL : https://bugz.fedoraproject.org/python-elephant
Summary : Elephant is a package for analysis of electrophysiology data in Python
Description :
Elephant - Electrophysiology Analysis Toolkit Elephant is a package for the
analysis of neurophysiology data, based on Neo.
$ rpm -qp --requires python3-elephant-0.6.2-3.fc30.noarch.rpm
python(abi) = 3.7
python3.7dist(neo) >= 0.7.1
python3.7dist(numpy) >= 1.8.2
python3.7dist(quantities) >= 0.10.1
python3.7dist(scipy) >= 0.14.0
python3.7dist(six) >= 1.10.0
rpmlib(CompressedFileNames) &lt;= 3.0.4-1
rpmlib(FileDigests) &lt;= 4.6.0-1
rpmlib(PartialHardlinkSets) &lt;= 4.0.4-1
rpmlib(PayloadFilesHavePrefix) &lt;= 4.0-1
rpmlib(PayloadIsXz) &lt;= 5.2-1
$ sudo rpm -i ./python3-elephant-0.6.2-3.fc30.noarch.rpm
error: Failed dependencies:
python3.7dist(neo) >= 0.7.1 is needed by python3-elephant-0.6.2-3.fc30.noarch
python3.7dist(quantities) >= 0.10.1 is needed by python3-elephant-0.6.2-3.fc30.noarch
```
理论上,你可以下载 `python3-elephant` 所需的所有软件包,并告诉 `rpm` 它们都在哪里,但这并不方便。如果 `python3-neo``python3-quantities` 还有其它的运行时要求怎么办?很快,这种“依赖链”就会变得相当复杂。
#### 存储库
幸运的是,有了 `dnf` 和它的朋友们,可以帮助解决此问题。与 `rpm` 不同,`dnf` 能感知到**存储库**。存储库是程序包的集合,带有告诉 `dnf` 这些存储库包含什么内容的元数据。所有 Fedora 系统都带有默认启用的默认 Fedora 存储库:
```
$ sudo dnf repolist
repo id              repo name                             status
fedora               Fedora 30 - x86_64                    56,582
fedora-modular       Fedora Modular 30 - x86_64               135
updates              Fedora 30 - x86_64 - Updates           8,573
updates-modular      Fedora Modular 30 - x86_64 - Updates     138
updates-testing      Fedora 30 - x86_64 - Test Updates      8,458
```
在 Fedora 快速文档中有[这些存储库][8]以及[如何管理][9]它们的更多信息。
`dnf` 可用于查询存储库以获取有关它们包含的软件包信息。它还可以在这些存储库中搜索软件,或从中安装/卸载/升级软件包:
```
$ sudo dnf search elephant
Last metadata expiration check: 0:05:21 ago on Sun 23 Jun 2019 14:33:38 BST.
============================================================================== Name &amp; Summary Matched: elephant ==============================================================================
python3-elephant.noarch : Elephant is a package for analysis of electrophysiology data in Python
python3-elephant.noarch : Elephant is a package for analysis of electrophysiology data in Python
$ sudo dnf list \*elephant\*
Last metadata expiration check: 0:05:26 ago on Sun 23 Jun 2019 14:33:38 BST.
Available Packages
python3-elephant.noarch 0.6.2-3.fc30 updates-testing
python3-elephant.noarch 0.6.2-3.fc30 updates
```
#### 安装依赖项
现在使用 `dnf` 安装软件包时,它将*解决*所有必需的依赖项,然后调用 `rpm` 执行该事务操作:
```
$ sudo dnf install python3-elephant
Last metadata expiration check: 0:06:17 ago on Sun 23 Jun 2019 14:33:38 BST.
Dependencies resolved.
==============================================================================================================================================================================================
Package Architecture Version Repository Size
==============================================================================================================================================================================================
Installing:
python3-elephant noarch 0.6.2-3.fc30 updates-testing 456 k
Installing dependencies:
python3-neo noarch 0.8.0-0.1.20190215git49b6041.fc30 fedora 753 k
python3-quantities noarch 0.12.2-4.fc30 fedora 163 k
Installing weak dependencies:
python3-igor noarch 0.3-5.20150408git2c2a79d.fc30 fedora 63 k
Transaction Summary
==============================================================================================================================================================================================
Install 4 Packages
Total download size: 1.4 M
Installed size: 7.0 M
Is this ok [y/N]: y
Downloading Packages:
(1/4): python3-igor-0.3-5.20150408git2c2a79d.fc30.noarch.rpm 222 kB/s | 63 kB 00:00
(2/4): python3-elephant-0.6.2-3.fc30.noarch.rpm 681 kB/s | 456 kB 00:00
(3/4): python3-quantities-0.12.2-4.fc30.noarch.rpm 421 kB/s | 163 kB 00:00
(4/4): python3-neo-0.8.0-0.1.20190215git49b6041.fc30.noarch.rpm 840 kB/s | 753 kB 00:00
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 884 kB/s | 1.4 MB 00:01
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : python3-quantities-0.12.2-4.fc30.noarch 1/4
Installing : python3-igor-0.3-5.20150408git2c2a79d.fc30.noarch 2/4
Installing : python3-neo-0.8.0-0.1.20190215git49b6041.fc30.noarch 3/4
Installing : python3-elephant-0.6.2-3.fc30.noarch 4/4
Running scriptlet: python3-elephant-0.6.2-3.fc30.noarch 4/4
Verifying : python3-elephant-0.6.2-3.fc30.noarch 1/4
Verifying : python3-igor-0.3-5.20150408git2c2a79d.fc30.noarch 2/4
Verifying : python3-neo-0.8.0-0.1.20190215git49b6041.fc30.noarch 3/4
Verifying : python3-quantities-0.12.2-4.fc30.noarch 4/4
Installed:
python3-elephant-0.6.2-3.fc30.noarch python3-igor-0.3-5.20150408git2c2a79d.fc30.noarch python3-neo-0.8.0-0.1.20190215git49b6041.fc30.noarch python3-quantities-0.12.2-4.fc30.noarch
Complete!
```
请注意,`dnf` 甚至还安装了`python3-igor`,而它不是 `python3-elephant` 的直接依赖项。
### DnfDragoraDNF 的一个图形界面
尽管技术用户可能会发现 `dnf` 易于使用,但并非所有人都这样认为。[Dnfdragora][10] 通过为 `dnf` 提供图形化前端来解决此问题。
![dnfdragora (version 1.1.1-2 on Fedora 30) listing all the packages installed on a system.][11]
从上面可以看到dnfdragora 似乎提供了 `dnf` 的所有主要功能。
Fedora 中还有其他工具也可以管理软件包GNOME 的“软件”和“发现”就是其中两个。GNOME “软件”仅专注于图形应用程序。你无法使用这个图形化前端来安装命令行或终端工具,例如 `htop``weechat`。但是GNOME “软件”支持安装 `dnf` 所不支持的 [Flatpak][12] 和 Snap 应用程序。它们是针对不同目标受众的不同工具,因此提供了不同的功能。
这篇文章仅触及到了 Fedora 软件的生命周期的冰山一角。本文介绍了什么是 RPM 软件包,以及使用 `rpm``dnf` 的主要区别。
在以后的文章中,我们将详细介绍:
* 创建这些程序包所需的过程
* 社区如何测试它们以确保它们正确构建
* 社区用来将其给到社区用户的基础设施
--------------------------------------------------------------------------------
via: https://fedoramagazine.org/rpm-packages-explained/
作者:[Ankur Sinha "FranciscoD"][a]
选题:[lujun9972][b]
译者:[wxy](https://github.com/wxy)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://fedoramagazine.org/author/ankursinha/
[b]: https://github.com/lujun9972
[1]: https://fedoramagazine.org/wp-content/uploads/2019/06/rpm.png-816x345.jpg
[2]: https://docs.fedoraproject.org/en-US/project/#_what_is_fedora_all_about
[3]: https://getfedora.org
[4]: https://spins.fedoraproject.org/
[5]: https://labs.fedoraproject.org/
[6]: https://silverblue.fedoraproject.org/
[7]: https://src.fedoraproject.org/rpms/fpaste
[8]: https://docs.fedoraproject.org/en-US/quick-docs/repositories/
[9]: https://docs.fedoraproject.org/en-US/quick-docs/adding-or-removing-software-repositories-in-fedora/
[10]: https://src.fedoraproject.org/rpms/dnfdragora
[11]: https://fedoramagazine.org/wp-content/uploads/2019/06/dnfdragora-1024x558.png
[12]: https://fedoramagazine.org/getting-started-flatpak/

View File

@ -0,0 +1,127 @@
[#]: collector: (lujun9972)
[#]: translator: (geekpi)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (How to Install and Use Cockpit on CentOS 8 / RHEL 8)
[#]: via: (https://www.linuxtechi.com/install-use-cockpit-tool-centos8-rhel8/)
[#]: author: (Pradeep Kumar https://www.linuxtechi.com/author/pradeep/)
如何在 CentOS 8/RHEL 8 上安装和使用 Cockpit
======
**Cockpit** 是一个基于 Web 的服务器管理工具,可用于 CentOS 和 RHEL 系统,最近发布了**CentOS 8** 和 **RHEL 8**,其中 cockpit 是默认的服务器管理工具。它的软件包在默认的 CentOS 8 和 RHEL 8 仓库中就有。Cockpit 是一个有用的基于 Web 的 GUI 工具,系统管理员可以通过该工具监控和管理 Linux 服务器,它还可用于管理服务器、容器、虚拟机中的网络和存储以及系统和应用日志的检查。
在本文中,我们将演示如何在 CentOS 8 和 RHEL 8 中安装和设置 Cockpit。
### 在 CentOS 8/RHEL 8 上安装和设置Cockpit
登录你的 CentOS8/RHEL 8打开终端并执行以下 dnf 命令,
```
[root@linuxtechi ~]# dnf install cockpit -y
```
运行以下命令启用并启动 cockpit 服务。
```
[root@linuxtechi ~]# systemctl start cockpit.socket
[root@linuxtechi ~]# systemctl enable cockpit.socket
```
使用以下命令在系统防火墙中允许 Cockpit 端口,
```
[root@linuxtechi ~]# firewall-cmd --permanent --add-service=cockpit
[root@linuxtechi ~]# firewall-cmd --reload
```
验证 cockpit 服务是否已启动和运行,执行以下命令,
```
[root@linuxtechi ~]# systemctl status cockpit.socket
[root@linuxtechi ~]# ss -tunlp | grep cockpit
[root@linuxtechi ~]# ps auxf|grep cockpit
```
![cockpit-status-centos8-rhel8][1]
### 在 CentOS 8/RHEL 8 上访问 Cockpit
正如我们在上面命令的输出中看到的cockpit 正在监听 tcp 9090 端口,打开你的 Web 浏览器并输入 url
https://&lt;Your-CentOS8/RHEL8-System-IP&gt;:9090
[![CentOS8-cockpit-login-screen][1]][2]
RHEL 8 中的 Cockpit 登录页面
[![RHEL8-Cockpit-Login-Screen][1]][3]
使用有管理员权限的用户名,或者我们也可以使用根用户的密码登录。如果要将管理员权限分配给任何本地用户,请执行以下命令,
```
[root@linuxtechi ~]# usermod -G wheel pkumar
```
这里 pkumar 是我的本地用户,
在输入用户密码后,选择“**Reuse my password for privileged tasks**”,然后单击 “**Log In**”,然后我们看到以下页面,
[![cockpit-dashboard-centos8][1]][4]
在左侧栏上,我们可以看到可以通过 cockpit GUI 监控和配置的内容,
假设你要检查 CentOS 8/RHEL 8 中是否有任何可用更新,请单击 “**System Updates**”,
[![Software-Updates-Cockpit-GUI-CentOS8-RHEL8][1]][5]
要安装所有更新,点击 “**Install All Updates**”
[![Install-Software-Updates-CentOS8-RHEL8][1]][6]
如果想要修改网络并要添加 Bond 接口和网桥,请单击 “**Networking**”
[![Networking-Cockpit-Dashboard-CentOS8-RHEL8][1]][7]
如上所见,我们有创建 Bond 接口、网桥和 VLAN 标记接口的选项。
假设我们像创建一个 **br0** 网桥,并要为它添加 **enp0s3** 端口,单击 “**Add Bridge**”,
将网桥名称指定为 “br0”将端口指定为 “enp0s3”然后单击应用。
[![Add-Bridge-Cockpit-CentOS8-RHEL8][1]][8]
在下个页面,我们将看到网桥处于活动状态,并且获得了与 enp0s3 接口相同的 IP
[![Bridge-Details-Cockpit-Dashboard-CentOS8-RHEL8][1]][9]
如果你想检查系统日志,单击 ”**Logs**“,我们可以根据严重性查看日志。
[![System-Logs-Cockpit-Dashboard-CentOS8-RHEL8][1]][10]
本文就是这些了,类似地,系统管理员可以使用 cockpit 的其他功能来监控和管理 CentOS 8 和 RHEL 8 服务器。如果这些步骤可以帮助你在 Linux 服务器上设置 cockpit请在下面的评论栏分享你的反馈和意见。
--------------------------------------------------------------------------------
via: https://www.linuxtechi.com/install-use-cockpit-tool-centos8-rhel8/
作者:[Pradeep Kumar][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://www.linuxtechi.com/author/pradeep/
[b]: https://github.com/lujun9972
[1]: data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7
[2]: https://www.linuxtechi.com/wp-content/uploads/2019/09/CentOS8-cockpit-login-screen.jpg
[3]: https://www.linuxtechi.com/wp-content/uploads/2019/09/RHEL8-Cockpit-Login-Screen.jpg
[4]: https://www.linuxtechi.com/wp-content/uploads/2019/09/cockpit-dashboard-centos8.jpg
[5]: https://www.linuxtechi.com/wp-content/uploads/2019/09/Software-Updates-Cockpit-GUI-CentOS8-RHEL8.jpg
[6]: https://www.linuxtechi.com/wp-content/uploads/2019/09/Install-Software-Updates-CentOS8-RHEL8.jpg
[7]: https://www.linuxtechi.com/wp-content/uploads/2019/09/Networking-Cockpit-Dashboard-CentOS8-RHEL8.jpg
[8]: https://www.linuxtechi.com/wp-content/uploads/2019/09/Add-Bridge-Cockpit-CentOS8-RHEL8.jpg
[9]: https://www.linuxtechi.com/wp-content/uploads/2019/09/Bridge-Details-Cockpit-Dashboard-CentOS8-RHEL8.jpg
[10]: https://www.linuxtechi.com/wp-content/uploads/2019/09/System-Logs-Cockpit-Dashboard-CentOS8-RHEL8.jpg