Merge pull request #3 from LCTT/master

更新
This commit is contained in:
zEpoch 2021-06-23 13:02:36 +08:00 committed by GitHub
commit d148d53129
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 778 additions and 251 deletions

View File

@ -0,0 +1,90 @@
[#]: subject: (Security-Focused Tutanota Mails Linux Desktop Application is Now Available)
[#]: via: (https://news.itsfoss.com/tutanota-desktop/)
[#]: author: (Ankush Das https://news.itsfoss.com/author/ankush/)
[#]: collector: (lujun9972)
[#]: translator: ( )
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
Security-Focused Tutanota Mails Linux Desktop Application is Now Available
======
Tutanota is an open-source privacy-oriented email service. It is an impressive [secure email service][1] as an alternative to Gmail.
In fact, our ethical web portal [LinuxHandbook][2] hosts emails on Tutanota.
While it is already a full-fledged service with constant improvements added regularly, the desktop client was something in beta since 2018.
Now, they have finally [announced][3] the availability of their desktop client for Linux, Windows, and macOS for every Tutanota user.
### Access Tutanota Using the Desktop Client
The desktop client features all the goodies that you get with the web version. The announcement mentions that they have had rigorous tests and review to ensure that you get the best security while using the desktop version.
![][4]
You can also go through the [security review on GitHub][5].
To walk you through, let me highlight some of the key features that the desktop version offers:
* Encrypted mailbox
* Encrypted calendar
* Secure Contact and Address book
* Ability to search encrypted data locally
* Supports email and calendar notifications
* Two-factor authentication
* Supports opening different windows
In addition to these, you can also set out-of-the-office notifications, spellcheck your emails before sending, use filters, and do great deal of things that you normally find in the web version.
If needed, you can set it up to run on startup, disable its background activity, choose the storage path for downloads, and several other options.
The desktop client should give you a great level of control for a good experience.
I also noticed that it offers a desktop integration option when you first launch the desktop app. This should integrate the client with the system tray.
To enhance security, the desktop client uses caching of the web client. This will make sure that you dont have to re-login and load up the correct version needed for access.
![][6]
### Download Tutanota Desktop
It is available as an AppImage file for Linux. You may want to refer to our [AppImage guide][7] to get started.
You can download it from the official website. Tutanota also gives you the [option to verify the signature][8] to check if you did not download a tampered file.
[Download Tutanota][9]
_A desktop client is something many users prefer over the web version, what about you? What do you think about Tutanotas desktop version?_
#### Big Tech Websites Get Millions in Revenue, It's FOSS Got You!
If you like what we do here at It's FOSS, please consider making a donation to support our independent publication. Your support will help us keep publishing content focusing on desktop Linux and open source software.
I'm not interested
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/tutanota-desktop/
作者:[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://news.itsfoss.com/author/ankush/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.com/secure-private-email-services/
[2]: https://linuxhandbook.com/about/
[3]: https://tutanota.com/blog/posts/desktop-clients-end-beta/
[4]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjU5OSIgd2lkdGg9Ijc4MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=
[5]: https://github.com/tutao/tutanota/issues/2787
[6]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjU5NyIgd2lkdGg9Ijc4MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=
[7]: https://itsfoss.com/use-appimage-linux/
[8]: https://tutanota.com/faq/#verify-desktop
[9]: https://tutanota.com/#download

View File

@ -1,154 +0,0 @@
[#]: subject: (How Free & Open Source Software Can Save Online Privacy)
[#]: via: (https://news.itsfoss.com/save-privacy-with-foss/)
[#]: author: (Team It's FOSS https://news.itsfoss.com/author/team/)
[#]: collector: (lujun9972)
[#]: translator: (zz-air)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
How Free & Open Source Software Can Save Online Privacy
======
_I have used services from tech giants for years. Most were free of charge, at the expense of my privacy. But those days are over. Now I browse, chat and work without anyone tracking, monetizing or censoring my data. Thanks to free (libre) and open source software._
### I start to worry about Big Tech
![][1]
Ive always felt machines should be doing what I want them to do, not the other way round. Thats why Googles Android operating system immediately appealed to me when it first hit the market in 2008. At the time, Googles open-source approach was genuinely refreshing. I spent hours customizing my HTC Hero phone. Little did I care that it was uglier than my friends iPhones or Symbian devices. My new gadget was infinitely more versatile.
Fast forward a decade. Google has become a tech giant, dwarfed iOS and killed Symbian OS. Today, the company captures over 90% of search traffic and dominates the browser market. This stellar growth came at a cost, as illustrated by the removal of Googles “dont be evil” clause. The search giant is entangled in court cases, such as the one over [data collection and tracking malpractices][2]. Researchers also found [privacy flaws][3] in Googles contact tracing app. To top it off, the tech giant announced a controversial new algorithm that [tracks browsing behaviour][4] to better serve ads.
Now, I dont want to pass the buck to Google. Amazon just created the largest civilian [surveillance network][5] in US history. It provides the police with unwarranted access to millions of home security cameras. Meanwhile, Europe probes into Amazons compliance with [privacy rules][6]. Same goes for Microsoft, which incidentally also apologized for having facilitated [workplace surveillance][7] feature.
One might think that users can at least count on Apple to protect their privacy. The tech giant recently gave them the choice to know whether apps track their behavior. As it turns out that [only 5%][8] of US users opt into this new app-tracking transparency. Meanwhile, the company [hugely benefits][9] from doing business with data brokers like Google. Not to mention the [antitrust trial][10] raging between Fortnite developer Epic Games and Apple, which claims to protect the privacy of its App Store. And of course, theres Facebook. The companys privacy misconducts culminated in a Senate hearing over the [Cambridge Analytica][11] scandal, wiping out what was left of user trust.
Yet in spite or because of these questionable practices, the total value of these companies reached over [7.5 trillion dollars][12] in March 2021. “Big Tech” is now worth more than Germanys and the UK gross domestic product combined!
### Why privacy matters
![][13]
We all use Big Techs services. We are part of [Surveillance Capitalism][14], a term coined by Harvard professor Shoshana Zuboff and discussed in Cory Doctorows [latest book][15], Surveillance Capitalism. Its an economic system centered around tech monopolies which harvest personal data to maximize profit. This system threatens the very core of democracy, as it gives rise to mass surveillance, polarizes the political debate, interferes with the electoral process and drives uniformity of thought as well as censorship.
Surveillance Capitalism is based on a deeply troubling invasion of our lives. We tend to forget that privacy is a fundamental right. Its enshrined by the UN Human Rights Council, the International Covenant on Civil and Political Rights and a number of treaties. I think we can all relate: there are more than a few aspects in our lives wed like to keep private, even without wrongdoing. Whether it is to freely express ourselves and explore our personality without being judged by others. Or to shield us from surveillance, censorship and manipulation. Thats why curtains were invented. And things like banking secrecy, attorney-client privilege, secrecy of correspondence, secrecy of the ballot, confessional secret or medical confidentiality.
Tackling online privacy is a broad issue. It requires comprehensive changes to our legal systems and social conventions. Regulation of tech monopolies is one of the main challenges of this decade. As illustrated by the recent standoffs between tech giants and governments: [Australia vs. Facebook][16], [China vs. Tencent][17], [India vs. WhatsApp][18], the [EU vs. Facebook][19] or the [US vs. Big Tech][20]. For years, digital rights groups and software foundations have been advocating for better privacy laws, user rights and the freedom to innovate. Lets only name a few: the Electronic Frontier Foundation, the Free Software Foundation, the Freedom of the Press Foundation, Privacy International, the Open Rights Group or the European Digital Rights.
### Whats this got to do with FOSS?
![][21]
Since its inception in 1983, the [Free Software movement][22] has become quite a diverse community. Free and open source software is often referred to as FOSS, FLOSS, Libre Software or Free Software. It includes a whole range of licenses that give users the right to [use, study, share and improve][23] the software. As well as the [right to repair][24]. Free Software is “free” as in “[free speech][25]” — and sometimes as in “free beer”. As such, FOSS is not only about technology. Its about social, political and economic emancipation.
A few years back, a privacy controversy shook up the Free Software community. Ubuntu 12.10 one of the various GNU/Linux flavours started establishing Internet connections for local searches on peoples computers. It served Amazon ads and shared private data with Facebook or Twitter. The [backlash was massive][26]. A few years later, Canonical the firm behind Ubuntu ended up removing online searches and the Amazon web app. The more recent [Audacity drama][27] is another example of how FOSS protects privacy. The new project management decided to add Google Analytics and Yandex to the audio software, but ended up renouncing to its plans after public outcry.
For all its merits, Free Software is not free from criticism. One claim is that FOSS projects often get abandoned. A recent [Cornell University study][28] however suggests otherwise: out of 1.932 popular open source projects, 7% (128 projects) were taken over by new developers after being neglected, reducing the dropout rate to less than 10% (187 projects).
Another common criticism is that FOSS exposes potential security vulnerabilities by publishing the code. On the flip side, keeping the source code a secret [doesnt necessarily increase security][29]. Arguing that closed source code is vastly more secure than FOSS conveniently omits the fact that proprietary stacks are increasingly built [on top of open source code][30]. Free Software also tends to be decentralized, which helps with resilience against surveillance, single points of failure or massive data leaks. So sure, FOSS is not immune to security breaches. But neither are proprietary solutions, as illustrated by the latest [leaks of a billion peoples data][31] from Facebook, LinkedIn and Clubhouse. Or the spectacular [security attacks][32] against SolarWind and Colonial Pipeline.
All in all, Free Software is instrumental in promoting online privacy. For nearly forty years, FOSS has been encouraging developers to audit the code, fix issues and ensure nothing shady goes on in the background.
### Seven steps to online privacy with FOSS
![][33]
While waiting for better privacy laws, theres a lot you can do to make your devices more private. Here are seven steps to replace Big Tech with privacy-respecting, free and open source software. Depending on your [threat model][34], youll likely want to consider steps 1 through 4 first, as they already provide a reasonable level of privacy. If you have some tech skills and want to go further, take a look at steps 5 to 7.
1. **[Get involved in privacy][35]**. There is much to be said and learned about online privacy, data exploitation, filter bubbles, surveillance and censorship. Get involved and spread the word.
2. **[Choose a safe and private browser][36]**. Switch to Firefox. Block trackers, cookies and ads. Use privacy-respecting search engines. Possibly encrypt your traffic with Tor or VPN.
3. **[Keep your conversations private][37]**. Use end-to-end encryption to secure your emails, messages and calls. Ditch classic social media and discover the Fediverse, a federated family of various online services.
4. **[Protect your data][38]**. Use long and unique passphrases. Choose a different one for each of your accounts and devices. Keep them safe in an encrypted password manager. Consider using two-factor authentication. Create a regular backup routine. And encrypt sensitive data.
5. **[Free your computer][39]**. Switch to GNU/Linux and favor free and open source apps. Depending on your needs, choose a beginner friendly distribution like Linux Mint or Ubuntu. For more experienced users, pick Debian, Manjaro, openSUSE, Fedora or Gentoo Linux. And for privacy buffs, have a look at Qubes OS, Whonix or Tails.
6. **[Free your phone][40]**. Switch to a custom mobile operating system like LineageOS, CalyxOS, GrapheneOS or /e/. Favor tracker-free open source apps from community maintained app stores.
7. **[Free your cloud][41]**. Choose privacy-respecting cloud providers. Or set up your own secure server and self host services such as cloud storage, photo galleries, task and contact management, or media streaming.
### Wrapping Up
![][42]
There is no one-click solution for online privacy. Replacing Big Tech with free and open source software is a process. Some changes are simple like installing Firefox or Signal. Other methods require more time and skills. But they are definitely worth it. And youre not alone, you can count on the support of a wonderful community. So allow me to conclude by quoting [Geoffrey A. Fowler][43] from the Washington Post: “_Online privacy is not dead, but you have to be angry enough to demand it_“.
* * *
### About the author
![][42]
_Georg Jerska is an open source enthusiast with a special interest in protecting the privacy of citizens. With his small team he runs [GoFOSS][44][][45], a comprehensive guide on how to replace Big Tech with privacy-respecting, free and open source software._
* * *
_[Open source][46] illustrations by [Katerina Limpitsouni][47]._
_The views and opinions expressed are those of the authors and do not necessarily reflect the official policy or position of Its FOSS._
#### Big Tech Websites Get Millions in Revenue, It's FOSS Got You!
If you like what we do here at It's FOSS, please consider making a donation to support our independent publication. Your support will help us keep publishing content focusing on desktop Linux and open source software.
I'm not interested
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/save-privacy-with-foss/
作者:[Team It's FOSS][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://news.itsfoss.com/author/team/
[b]: https://github.com/lujun9972
[1]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI3MCIgd2lkdGg9IjMwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=
[2]: https://www.gizmodo.com.au/2021/05/google-location-services-lawsuit
[3]: https://blog.appcensus.io/2021/04/27/why-google-should-stop-logging-contact-tracing-data
[4]: https://news.itsfoss.com/google-floc
[5]: https://www.theguardian.com/commentisfree/2021/may/18/amazon-ring-largest-civilian-surveillance-network-us
[6]: https://edps.europa.eu/press-publications/press-news/press-releases/2021/edps-opens-two-investigations-following-schrems_en
[7]: https://www.theguardian.com/technology/2020/dec/02/microsoft-apologises-productivity-score-critics-derided-workplace-surveillance
[8]: https://www.flurry.com/blog/ios-14-5-opt-in-rate-att-restricted-app-tracking-transparency-worldwide-us-daily-latest-update
[9]: https://www.nytimes.com/2020/10/25/technology/apple-google-search-antitrust.html
[10]: https://www.nytimes.com/2021/05/25/business/dealbook/apple-epic-case.html
[11]: https://en.wikipedia.org/wiki/Cambridge_Analytica
[12]: https://en.wikipedia.org/wiki/List_of_public_corporations_by_market_capitalization#2021
[13]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0OCIgd2lkdGg9IjMwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=
[14]: https://en.wikipedia.org/wiki/Surveillance_capitalism
[15]: https://www.goodreads.com/book/show/55134785-how-to-destroy-surveillance-capitalism
[16]: https://www.bbc.com/news/world-australia-56163550
[17]: https://www.nytimes.com/2021/06/02/technology/china-tencent-monopoly.html
[18]: https://www.theguardian.com/world/2021/may/26/whatsapp-sues-indian-government-over-mass-surveillance-internet-laws
[19]: https://nypost.com/2021/05/26/eu-reportedly-set-to-open-formal-antitrust-probe-into-facebook
[20]: https://www.nytimes.com/interactive/2020/10/06/technology/house-antitrust-report-big-tech.html
[21]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI2OCIgd2lkdGg9IjMwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=
[22]: https://itsfoss.com/what-is-foss
[23]: https://fsfe.org/freesoftware/freesoftware.en.html
[24]: https://framatube.org/videos/watch/99069c5c-5a00-489e-97cb-fd5cc76de77c
[25]: https://www.eff.org/deeplinks/2015/04/remembering-case-established-code-speech
[26]: https://itsfoss.com/canonical-targets-website-crictical-ubuntu-privacy
[27]: https://github.com/audacity/audacity/pull/835
[28]: https://arxiv.org/abs/1906.08058
[29]: https://www.schneier.com/crypto-gram/archives/2002/0515.html#1
[30]: https://www.bcg.com/publications/2021/open-source-software-strategy-benefits
[31]: https://www.politico.eu/article/how-to-leak-data-and-get-away-with-it
[32]: https://theconversation.com/the-colonial-pipeline-ransomware-attack-and-the-solarwinds-hack-were-all-but-inevitable-why-national-cyber-defense-is-a-wicked-problem-160661
[33]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjU4MiIgd2lkdGg9Ijc4MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=
[34]: https://www.eff.org/files/2015/11/24/3mod_threat-modeling-ssd_9-3-15.pdf
[35]: https://www.gofoss.today/nothing-to-hide
[36]: https://www.gofoss.today/intro-browse-freely
[37]: https://www.gofoss.today/intro-speak-freely
[38]: https://www.gofoss.today/intro-store-safely
[39]: https://www.gofoss.today/intro-free-your-computer
[40]: https://www.gofoss.today/intro-free-your-phone
[41]: https://www.gofoss.today/intro-free-your-cloud
[42]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjE1MCIgd2lkdGg9IjE1MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=
[43]: https://www.washingtonpost.com/technology/2019/12/31/how-we-survive-surveillance-apocalypse
[44]: https://gofoss.today/
[45]: https://gofoss.today
[46]: https://undraw.co/license
[47]: https://undraw.co

View File

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

View File

@ -1,95 +0,0 @@
[#]: subject: (Migrate virtual machines to Kubernetes with this new tool)
[#]: via: (https://opensource.com/article/21/6/migrate-vms-kubernetes-forklift)
[#]: author: (Miguel Perez Colino https://opensource.com/users/mperezco)
[#]: collector: (lujun9972)
[#]: translator: (geekpi)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
Migrate virtual machines to Kubernetes with this new tool
======
Transition your virtualized workloads to Kubernetes with Forklift.
![Containers on a ship on the ocean][1]
In 2017, the [KubeVirt][2] team [launched][3] the project to manage virtual machines (VMs) alongside containers in [Kubernetes][4]. The open source project's intent was to make VMs first-class citizens in this environment.
Since its introduction at [Open Source Summit 2018][5], KubeVirt has continued maturing and growing. It's reached more than 200 stars on GitHub and even introduced its own event, [KubeVirt Summit][6], in February 2021.
![KubeVirt architecture][7]
KubeVirt architecture (© 2020, [Red Hat OpenShift][8])
KubeVirt is the foundation underneath [OpenShift Virtualization][9], which helps developers bring VMs into containerized workflows.
### Leveraging VMs in Kubernetes
KubeVirt enables you to use Kubernetes natives on VMs. This means they can connect to pod networks that are accessible using standard Kubernetes methods, including Service, Route, Pipelines, etc. Network policies apply to VM pods the same way they apply to application pods, providing a consistent model to manage VM-to-pod (and vice-versa) communication.
A real-world example of this is the way an aeronautical company leveraged old simulator software. It injected models with artificial intelligence and machine learning (AI/ML), then automatically deployed and tested them on a VM-based simulator. This allowed it to fully automate obtaining test results and new telemetry training data using Kubernetes and [Kubeflow][10].
![VM-creation workflow][11]
(Konveyor, [CC BY-SA 4.0][12])
[Konveyor.io][13] is an open source project that helps transition existing workloads (development, test, and production) to Kubernetes. Its tools include [Crane][14], to move containers from one Kubernetes platform to another; [Move2Kube][15], to bring workloads from Cloud Foundry to Kubernetes; and [Tackle][16], to analyze Java applications to modernize them by making them more standard and portable for the runtimes available in containerized platforms like Kubernetes.
These tools are useful in transformation patterns, but many projects want to utilize Kubernetes at earlier stages to become more agile and productive. On the infrastructure side, these benefits can include blue/green load balancing, route management, declarative deployments, or (depending on how you deploy) easier upgrades due to immutable infrastructure. On the development side, they may include integrating continuous integration/continuous development (CI/CD) pipelines with the platform, getting apps to production faster, self-provisioning resources, or integrating health checks and monitoring.
KubeVirt can help you by running workloads as VMs in a Kubernetes environment. It enables you to onboard your workloads to Kubernetes quickly, enjoy its benefits, and steadily modernize your workloads over time. But, you still have the issue of bringing your VMs from your traditional virtualization platform to the modern Kubernetes platform. This is where Konveyor's [Forklift][17] project comes in.
### About Forklift
Forklift migrates virtualized workloads from different sources to Kubernetes using KubeVirt. It is designed to make the task simple so that you can migrate anything from one or two machines to hundreds of them.
Migration is a simple, three-stage process:
1. Connect to an existing virtualization platform (known as a "source provider") and to a Kubernetes environment (a "target provider").
2. Map network and storage resources from the source provider to the target provider, looking for equivalent resources in both.
3. Select virtual machines to migrate and assign the network and storage mappings to formulate a migration plan. Then run it.
### How to get started
To get started with Forklift, first, you need a compatible source provider. You also need a Kubernetes environment with KubeVirt 0.40 or newer and bare-metal nodes (although for testing, you can use nested virtualization). Configure your storage classes with read-write-execute (RWX) capabilities, and use [Multus][18] to configure your networks to match the ones your VMs are using in the source provider. (If you can't do this, no worries; you also have the option to rearrange IP addressing.)
Finally, [install Forklift][19] on your Kubernetes using the provided operator, and access the user interface to start running your first test migrations.
Forklift is the upstream version of Red Hat's [Migration Toolkit for Virtualization][20]. Therefore, if you want to use it in a production environment, you may wish to consider using that supported version of the tool.
Happy migrating!
--------------------------------------------------------------------------------
via: https://opensource.com/article/21/6/migrate-vms-kubernetes-forklift
作者:[Miguel Perez Colino][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/mperezco
[b]: https://github.com/lujun9972
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/containers_2015-1-osdc-lead.png?itok=VEB4zwza (Containers on a ship on the ocean)
[2]: http://kubevirt.io/
[3]: https://kubevirt.io/2017/This-Week-in-Kube-Virt-1.html
[4]: https://opensource.com/resources/what-is-kubernetes
[5]: https://ossna18.sched.com/event/FAOR/kubevirt-cats-and-dogs-living-together-stephen-gordon-red-hat
[6]: https://kubevirt.io/summit/
[7]: https://opensource.com/sites/default/files/uploads/image1_1.png (KubeVirt architecture)
[8]: https://www.openshift.com/learn/topics/virtualization/
[9]: https://openshift.com/virtualization/
[10]: https://www.kubeflow.org/
[11]: https://opensource.com/sites/default/files/uploads/image2_0_6.png (VM-creation workflow)
[12]: https://creativecommons.org/licenses/by-sa/4.0/
[13]: https://www.konveyor.io/
[14]: https://www.konveyor.io/crane
[15]: https://move2kube.konveyor.io/
[16]: https://www.konveyor.io/tackle
[17]: https://www.konveyor.io/forklift
[18]: https://github.com/k8snetworkplumbingwg/multus-cni
[19]: https://www.youtube.com/watch?v=RnoIP3QjHww&t=1693s
[20]: https://access.redhat.com/documentation/en-us/migration_toolkit_for_virtualization/2.0/

View File

@ -0,0 +1,108 @@
[#]: subject: (Edit text like Emacs in FreeDOS)
[#]: via: (https://opensource.com/article/21/6/freemacs)
[#]: author: (Jim Hall https://opensource.com/users/jim-hall)
[#]: collector: (lujun9972)
[#]: translator: ( )
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
Edit text like Emacs in FreeDOS
======
If you're already familiar with GNU Emacs, you should feel right at home
in Freemacs.
![Typewriter in the grass][1]
On Linux, I often use the GNU Emacs editor to write the source code for new programs. I learned GNU Emacs long ago when I was an undergraduate student, and I still have the "finger memory" for all the keyboard shortcuts.
When I started work on FreeDOS in 1994, I wanted to include an Emacs-like text editor. You can find many editors similar to Emacs, such as MicroEmacs, but these all take some shortcuts to fit into the 16-bit address space on DOS. However, I was very pleased to find Freemacs, by Russell "Russ" Nelson.
You can find Freemacs in FreeDOS 1.3 RC4, on the Bonus CD. You can use FDIMPLES to install the package, which will install to `\APPS\EMACS`.
![installing Freemacs][2]
Installing Freemacs from the FreeDOS 1.3 RC4 Bonus CD
(Jim Hall, [CC-BY SA 4.0][3])
### Initial setup
The first time you run Freemacs, the editor will need to "compile" all of the setup files into a form that Freemacs can quickly process. This will take a few minutes to run, depending on your system's speed and memory, but fortunately, you only need to do it once.
![Running Freemacs for the first time][4]
Press Y to build the Freemacs MINT files
(Jim Hall, [CC-BY SA 4.0][3])
Freemacs actually processes the editor files in two passes. When Freemacs has successfully completed the first pass, it prompts you to restart the editor so it can finish processing. So don't be surprised that the process seems to start up again—it's just "part 2" of the compilation process.
### Using Freemacs
To edit a file with Freemacs, start the program with the text file as an argument on the command line. For example, `emacs readme.doc` will open the Readme file for editing in Freemacs. Typing `emacs` at the command line, without any options, will open an empty "scratch" buffer in Freemacs.
![Freemacs][5]
Starting Freemacs without any files opens a "scratch" buffer
(Jim Hall, [CC-BY SA 4.0][3])
Or, you can start Freemacs without any command-line options, and use the Emacs shortcuts C-x C-f (or M-x `find-file`). Freemacs then prompts you for a new file to load into the editor. The shortcut prefix C- means you should press the Ctrl key and some other key, so C-x is Ctrl and the x key together. And M-x is shorthand for "press the 'Meta' key (usually Esc) then hit x."
![Freemacs][6]
Opening a new file with C-x C-f
(Jim Hall, [CC-BY SA 4.0][3])
Freemacs automatically detects the file type and attempts to load the correct support. For example, opening a C source file will also set Freemacs to "C-mode."
![Freemacs][7]
Editing a C source file in Freemacs
(Jim Hall, [CC-BY SA 4.0][3])
If you also use GNU Emacs (like me), then you are probably curious to get Freemacs to match the C indentation that GNU Emacs uses (2 spaces.) Here is how to set Freemacs to use 2 spaces in C-mode:
1. Open a C source file in Freemacs.
2. Enter M-x `edit-options` to edit Freemacs settings.
3. Use the settings to change both "C-brace-offset" and "C-indent-level" to 2.
4. Save and exit Freemacs; you'll be prompted to save settings.
### A few limitations
Much of the rest of Freemacs operates like GNU Emacs. If you're already familiar with GNU Emacs, you should feel right at home in Freemacs. However, Freemacs does have a few limitations that you might need to know:
**The extension language is not LISP.** The biggest difference between GNU Emacs on Linux and Freemacs on FreeDOS is that Freemacs uses a different extension language. Where GNU Emacs implements a LISP-like interpreter, Freemacs implements a different extension language called MINT—based on the string processing language, TRAC. The name "MINT" is an acronym, meaning "MINT Is Not TRAC."
You shouldn't expect to evaluate LISP code in Freemacs. The MINT language is completely different from LISP. For more information on MINT, see the reference manual. We provide the full documentation via the FreeDOS files archive on Ibiblio, at [/freedos/files/edit/emacs/docs][8]. In particular, the MINT language is defined in [mint.txt][9] and [mint2.txt][10].
**Freemacs cannot open files larger than 64 kilobytes.** This is a common limitation in many programs. 64kb is the maximum size of the data space for programs that do not leverage extended memory.
**There is no "Undo" feature.** Be careful in editing. If you make a mistake, you will have to re-edit your file to get it back to the old version. Also, save early and often. For very large mistakes, your best path might be to abandon the version you're editing in Freemacs, and load the last saved version.
The rest is up to you! You can find more information about Freemacs on Ibiblio, at [/freedos/files/edit/emacs/docs][8]. For a quick-start guide to Freemacs, read [quickie.txt][11]. The full manual is in [tutorial.txt][12].
--------------------------------------------------------------------------------
via: https://opensource.com/article/21/6/freemacs
作者:[Jim Hall][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/jim-hall
[b]: https://github.com/lujun9972
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/doc-dish-lead.png?itok=h3fCkVmU (Typewriter in the grass)
[2]: https://opensource.com/sites/default/files/uploads/install1.png (Installing Freemacs from the FreeDOS 1.3 RC4 Bonus CD)
[3]: https://creativecommons.org/licenses/by-sa/4.0/
[4]: https://opensource.com/sites/default/files/uploads/first-run1_0.png (Press Y to build the Freemacs MINT files)
[5]: https://opensource.com/sites/default/files/uploads/freemacs1.png (Starting Freemacs without any files opens a "scratch" buffer)
[6]: https://opensource.com/sites/default/files/uploads/freemacs2.png (Opening a new file with C-x C-f)
[7]: https://opensource.com/sites/default/files/uploads/freemacs3.png (Editing a C source file in Freemacs)
[8]: https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/edit/emacs/docs/
[9]: https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/edit/emacs/docs/mint.txt
[10]: https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/edit/emacs/docs/mint2.txt
[11]: https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/edit/emacs/docs/quickie.txt
[12]: https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/edit/emacs/docs/tutorial.txt

View File

@ -2,7 +2,7 @@
[#]: via: (https://itsfoss.com/ktorrent/)
[#]: author: (Ankush Das https://itsfoss.com/author/ankush/)
[#]: collector: (lujun9972)
[#]: translator: ( )
[#]: translator: (geekpi)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )

View File

@ -0,0 +1,152 @@
[#]: subject: (Replace du with dust on Linux)
[#]: via: (https://opensource.com/article/21/6/dust-linux)
[#]: author: (Sudeshna Sur https://opensource.com/users/sudeshna-sur)
[#]: collector: (lujun9972)
[#]: translator: ( )
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
Replace du with dust on Linux
======
The dust command is a more intuitive implementation of the du command
written in Rust.
![Sand dunes][1]
If you work on the Linux command line, you will be familiar with the `du` command. Knowing commands like `du`, which returns information about disk usage quickly, is one of the ways the command line makes programmers more productive. Yet if you're looking for a way to save even more time and make your life even easier, take a look at [dust][2], which is `du` rewritten in Rust with more intuitiveness.
In short, `dust` is a tool that provides a file's type and metadata. If you trigger `dust` in a directory, it will report that directory's disk utilization in a couple of ways. It provides a very informative graph that tells you which folder is using the most disk space. If there is a nested folder, you can see the percentage of space used by each folder.
### Install dust
You can install `dust` using Rust's Cargo package manager:
```
`$ cargo install du-dust`
```
Alternately, you might find it in your software repository on Linux, and on macOS, use [MacPorts][3] or [Homebrew][4].
### Explore dust
Issuing the `dust` command on a directory returns a graph that shows its contents and what percentage each item holds in a tree format.
```
$ dust
 5.7M   ┌── exa                                                                                                         ██ │   2%
 5.9M   ├── tokei                                                                                                       ██ │   2%
 6.1M   ├── dust                                                          │                                                ██ │   2%
 6.2M   ├── tldr                                                          │                                                ██ │   2%
 9.4M   ├── fd                                                            │                                                ██ │   4%
 2.9M   │ ┌── exa                                                                                                     ░░░█ │   1%
  15M   │ ├── rustdoc                                                                                                 ░███ │   6%
  18M   ├─┴ bin                                                                                                       ████ │   7%
  27M   ├── rg                                                            │                                            ██████ │  11%
 1.3M      ┌── libz-sys-1.1.3.crate                                    │               ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█ │   0%
 1.4M      ├── libgit2-sys-0.12.19+1.1.0.crate                                      ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█ │   1%
 4.5M    ┌─┴ github.com-1ecc6299db9ec823                                            ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█ │   2%
 4.5M   │ ┌─┴ cache                                                                    ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█ │   2%
 1.0M   │ │   ┌── git2-0.13.18                                            │               ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ │   0%
 1.4M   │ │   ├── exa-0.10.1                                              │               ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ │   1%
 1.5M   │ │   │ ┌── src                                                                ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ │   1%
 2.2M   │ │   ├─┴ idna-0.2.3                                              │               ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ │   1%
 1.2M   │ │        ┌── linux                                                        ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ │   0%
 1.6M   │ │      ┌─┴ linux_like                                        │               ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ │   1%
 2.6M   │ │    ┌─┴ unix                                                │               ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ │   1%
 3.1M   │ │   │ ┌─┴ src                                                                ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ │   1%
 3.1M   │ │   ├─┴ libc-0.2.94                                                          ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ │   1%
 1.2M   │ │      ┌── test                                              │               ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ │   0%
 2.6M   │ │    ┌─┴ zlib-ng                                                          ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ │   1%
 904K   │ │     ┌── vstudio                                                      ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ │   0%
 2.0M   │ │    │ ┌─┴ contrib                                                        ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ │   1%
 3.4M   │ │    ├─┴ zlib                                                │               ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ │   1%
 6.1M   │ │   │ ┌─┴ src                                                                ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓██ │   2%
 6.1M   │ │   ├─┴ libz-sys-1.1.3                                          │               ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓██ │   2%
 1.6M   │ │      ┌── pcre                                              │               ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ │   1%
 2.5M   │ │    ┌─┴ deps                                                │               ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ │   1%
 3.8M   │ │    ├── src                                                              ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ │   1%
 7.4M   │ │   │ ┌─┴ libgit2                                                            ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓██ │   3%
 7.6M   │ │   ├─┴ libgit2-sys-0.12.19+1.1.0                                            ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓██ │   3%
  26M   │ │ ┌─┴ github.com-1ecc6299db9ec823                                            ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██████ │  10%
  26M   │ ├─┴ src                                                                      ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██████ │  10%
 932K   │ │   ┌── .cache                                                  │               ░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█ │   0%
  11M   │ │      ┌── pack-c3e3a51a17096a3078196f3f014e02e5da6285aa.idx │               ░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓███ │   4%
 135M   │ │      ├── pack-c3e3a51a17096a3078196f3f014e02e5da6285aa.pack│               ░░░░░░▓▓███████████████████████████ │  53%
 147M   │ │    ┌─┴ pack                                                │               ░░░░░░█████████████████████████████ │  57%
 147M   │ │   │ ┌─┴ objects                                                            ░░░░░░█████████████████████████████ │  57%
 147M   │ │   ├─┴ .git                                                    │               ░░░░░░█████████████████████████████ │  57%
 147M   │ │ ┌─┴ github.com-1ecc6299db9ec823                                            ░░░░░░█████████████████████████████ │  57%
 147M   │ ├─┴ index                                                                    ░░░░░░█████████████████████████████ │  57%
 178M   ├─┴ registry                                                      │               ███████████████████████████████████ │  69%
 257M ┌─┴ .                                                               │██████████████████████████████████████████████████ │ 100%
$
```
To apply `dust` to a specific directory:
```
`$ dust ~/Work/`
```
![Dust output from a specific directory][5]
(Sudeshna Sur, [CC BY-SA 4.0][6])
The `-r` option shows the output in reverse order, with root at the bottom:
```
`$ dust -r ~/Work/`
```
Using `dust -d 3` returns three levels of subdirectories and their disk utilization:
```
`$ dust -d 3 ~/Work/wildfly/jaxrs/target/classes`[/code] [code]
$ dust -d 3 ~/Work/wildfly/jaxrs/target/classes
 4.0K     ┌── jaxrs.xml                                                                                                  █ │   1%
 4.0K   ┌─┴ subsystem-templates                                                                                          █ │   1%
 4.0K    ┌── org.jboss.as.controller.transform.ExtensionTransformerRegistration│                                         █ │   1%
 4.0K    ├── org.jboss.as.controller.Extension                                                                        █ │   1%
 8.0K   │ ┌─┴ services                                                            │                                         █ │   2%
 8.0K   ├─┴ META-INF                                                              │                                         █ │   2%
 4.0K   │ ┌── jboss-as-jaxrs_1_0.xsd                                              │                                        ░█ │   1%
 8.0K   │ ├── jboss-as-jaxrs_2_0.xsd                                              │                                        ░█ │   2%
  12K   ├─┴ schema                                                                │                                        ██ │   3%
 408K    ┌── as                                                                │  ████████████████████████████████████████ │  94%
 408K   │ ┌─┴ jboss                                                               │  ████████████████████████████████████████ │  94%
 408K   ├─┴ org                                                                   │  ████████████████████████████████████████ │  94%
 432K ┌─┴ classes                                                                 │██████████████████████████████████████████ │ 100%
$
```
### Conclusion
The beauty of `dust` lies in being a small, simple, and easy-to-understand command. It uses a color scheme to denote the largest subdirectories, making it easy to visualize your directory. It's a popular project, and contributions are welcome.
Have you used or considered using `dust`? If so, please let us know your thoughts in the comments below.
--------------------------------------------------------------------------------
via: https://opensource.com/article/21/6/dust-linux
作者:[Sudeshna Sur][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/sudeshna-sur
[b]: https://github.com/lujun9972
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/sand_dunes_desert_hills_landscape_nature.jpg?itok=wUByylBb
[2]: https://github.com/bootandy/dust
[3]: https://opensource.com/article/20/11/macports
[4]: https://opensource.com/article/20/6/homebrew-mac
[5]: https://opensource.com/sites/default/files/uploads/dust-work.png (Dust output from a specific directory)
[6]: https://creativecommons.org/licenses/by-sa/4.0/

View File

@ -0,0 +1,184 @@
[#]: subject: (What is a config file?)
[#]: via: (https://opensource.com/article/21/6/what-config-files)
[#]: author: (Seth Kenlon https://opensource.com/users/seth)
[#]: collector: (lujun9972)
[#]: translator: ( )
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
What is a config file?
======
There are several popular formats for configuration files, each with its
own strengths. Find what works best for you.
![Computer screen with files or windows open][1]
There are thousands of configuration files on your computer. You may never directly interact with the bulk of them, but they're scattered throughout your `/etc` folder and in `~/.config` and `~/.local` and `/usr`. There are probably some in `/var` and possibly even in `/opt`. If you've ever opened one by accident or to make a change, you may have wondered why some configuration files look one way while others look completely different.
Storing configurations is a flexible task because as long as developers know how their code puts data into a file, they can easily write code to extract that data as needed. However, the tech industry graciously favors well-documented standardization, so several well-known formats have evolved over the years to make configuration easy.
### Why we need configuration
Configuration files ("config files" for short) are important to modern computing. They allow you to customize how you interact with an application or how an application interacts with the rest of your system. It's thanks to config files that any time you launch an application, it has "memories" of how you like to use it.
Configuration files can be, and often are, very simple in structure. For instance, if you were to write an application, and the only thing it ever needed to know was its user's preferred name, then its one and only config file could contain exactly one word: the name of the user. For example:
```
`Tux`
```
Usually, though, an application needs to keep track of more than just one piece of information, so configuration often uses a key and a value:
```
NAME='Tux'
SPECIES='Penguin'
```
Even without programming experience, you can imagine how code parses that data. Here are two simple examples, one using the [`awk` command][2] and the other using the [grep command][3], focusing on just the line containing the "key" of `NAME`, and returning the "value" appearing after the equal sign (`=`):
```
$ awk -F'=' '/NAME/ { print $2; }' myconfig.ini
'Tux'
$ grep NAME fake.txt | cut -d'=' -f2
'Tux'
```
The same principle applies to any programming language and any configuration file. As long as you have a consistent data structure, you can write simple code to extract and parse it when necessary.
### Choose a format
To be broadly effective, the most important thing about configuration files is that they are consistent and predictable. The last thing you want to do is dump information into a file under the auspices of saving user preferences and then spend days writing code to reverse-engineer the random bits of information that have ended up in the file.
There are several popular formats for configuration files, each with its own strengths.
#### INI
INI files take the format of key and value pairs:
```
[example]
name=Tux
style=widgety,fidgety
enabled=1
```
This simple style of configuration can be intuitive, with the only point of confusion being poor key names (for example, cryptic names like `unampref` instead of `name`). They're easy to parse and easy to edit.
The INI format features sections in addition to keys and values. In this sample code, `[example]` and `[demo]` are configuration sections:
```
[example]
name=Tux
style=widgety,fidgety
enabled=1
[demo]
name=Beastie
fullscreen=1
```
This is a little more complex to parse because there are _two_ `name` keys. You can imagine a careless programmer querying this config file for `name` and always getting back `Beastie` because that's the last name defined by the file. When parsing such a file, a developer must be careful to search within sections for keys, which can be tricky depending on the language used to parse the file. However, it's a popular enough format that most languages have an existing library to help programmers parse INI files.
#### YAML
[YAML files][4] are structured lists that can contain values or key and value pairs:
```
\---
Example:
  Name: 'Tux'
  Style:
   - 'widgety'
    - 'fidgety'
  Enabled: 1
```
YAML is popular partly because it looks clean. It doesn't have much of a syntax aside from where you place the data in relation to previous data. What's a feature for some, though, is a bug for others, and many developers avoid YAML because of the significance it places on what is essentially _not there_. If you get indentation wrong in YAML, YAML parsers may see your file as invalid, and even if it's tolerated, it may return incorrect data.
Most languages have YAML parsers, and there are good open source YAML linters (applications to validate syntax) to help you ensure the integrity of a YAML file.
#### JSON
JSON files are technically subsets of YAML, so its data structure is the same, although its syntax is completely different:
```
{
  "Example": {
    "Name": [
      "Tux"
    ],
    "Style": [
      "widgety",
      "fidgety"
    ],
    "Enabled": 1
  }
}
```
JSON is popular among JavaScript programmers, which isn't surprising, given that JSON stands for JavaScript Object Notation. As a result of being strongly associated with web development, JSON is a common output format for web APIs. Most programming languages have libraries to parse JSON.
#### XML
XML uses tags as keys that surround a configuration value:
```
<example>
  <name>Tux</name>
  <style priority="user">widgety</style>
  <style priority="fallback">fidgety</style>
  <enabled>1</enabled>
</example>
```
XML is often used by Java programmers, and Java has a rich set of XML parsers. While it has a reputation of being quite strict, XML is simultaneously very flexible. Unlike HTML, which has a set of tags you're allowed to use, you can arbitrarily invent your own XML tags. As long as you structure it consistently and have a good library to parse it, you can extract your data with precision and ease.
There are some good open source linters to help you validate XML files, and most programming languages have a library to parse XML.
#### Binary formats
Linux prides itself on plain-text configuration. The advantage is that you can see configuration data using basic tools like [cat][5], and you can even edit a configuration with your [favorite text editor][6].
Some applications use binary formats, though, which means the data is encoded in some format that is not a natural language. These files usually require a special application (usually the application they're meant to configure) to interpret their data.
You can't view these files, at least not in a way that makes any sense, and you can't edit them outside of their host application. Some reasons for resorting to binary formats are:
* **Speed:** A programmer can register specific bits of information at certain points within a binary's config file using custom notation. When the data is extracted, there's no searching involved because everything is already indexed.
* **Size:** Text files can get big, and should you choose to compress a text file, you're functionally turning it into a binary format. Binary files can be made smaller through tricks of encoding (the same is true of text files, but at some point, your optimizations make your data so obscure that it may as well be binary).
* **Obfuscation:** Some programmers don't want people even looking at their configuration files, so they encode them as binary data. This usually succeeds only in frustrating users. This is not a good reason to use binary formats.
If you must use a binary format for configuration, use one that already exists as an open standard, such as [NetCDF][7].
### Find what works
Configuration formats help developers store the data their applications need and help users store preferences for how they want applications to act. There's probably no wrong answer to the question of what format you should use, as long as you feel well supported by the language you're using. When developing your application, look at the formats available, model some sample data, review and evaluate the libraries and utilities your programming language provides, and choose the one you feel the most confident about.
--------------------------------------------------------------------------------
via: https://opensource.com/article/21/6/what-config-files
作者:[Seth Kenlon][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/seth
[b]: https://github.com/lujun9972
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/browser_screen_windows_files.png?itok=kLTeQUbY (Computer screen with files or windows open)
[2]: https://opensource.com/article/20/9/awk-ebook
[3]: https://opensource.com/downloads/grep-cheat-sheet
[4]: https://www.redhat.com/sysadmin/yaml-beginners
[5]: https://opensource.com/article/19/2/getting-started-cat-command
[6]: https://opensource.com/article/21/2/open-source-text-editors
[7]: https://www.unidata.ucar.edu/software/netcdf/

View File

@ -0,0 +1,147 @@
[#]: subject: (How Free & Open Source Software Can Save Online Privacy)
[#]: via: (https://news.itsfoss.com/save-privacy-with-foss/)
[#]: author: (Team It's FOSS https://news.itsfoss.com/author/team/)
[#]: collector: (lujun9972)
[#]: translator: (zz-air)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
自由/开源软件如何保护在线隐私
======
_多年来我一直使用科技巨头提供的服务。大部分都是自由的, 以牺牲我的隐私为代价。 但是那些日子已经过去了,现在我浏览、聊天、工作,没有任何人跟踪,变现和审查我的数据。多亏了自由/开源软件。_
### 我开始担心大型科技公司了
![][1]
我一直觉得机器应该按照我的意愿行事,而不是反过来。这就是为什么谷歌的 Android 操作系统在 2008 年首次上市时就立刻吸引了我。在当时,谷歌的开源方式确实令人耳目一新。我花了几个小时定制了我的 HTC Hero 手机。我一定也不关心它比我朋友的 iphone 或塞班设备丑。我的新玩意功能要多的多。
一跃十年。谷歌已经成为了科技巨头使ios相形见绌并且淘汰了塞班操作系统。 如今,这个公司占据了 90% 以上的搜索流量,并主导着浏览器市场。这种惊人的增长是有代价的,谷歌删除了“不作恶”条款。 这家搜索巨头目前正陷入官司之中,比如 [数据收集和追踪不当行为][2]。研究人员还在谷歌的联系人追踪应用程序中发现了[隐私法][3]。更重要的是,这家科技巨头宣布了一个颇具争议的[可以追踪用户浏览行为][4]的新算法,从而更好地提供广告服务。
现在,我不想把责任推给谷歌。亚马逊刚刚建立了美国历史上最大的民用[监控网络][5] 。它让警方可以在未经许可的情况下使用数百万个家庭监控摄像头。于此同时,欧洲对亚马逊遵守 [隐私规定][6]的情况进行了调查。微软也是如此。它也顺带着为促进 [工作场所监控][7] 功能而道歉。
有人可能认为,用户至少可以指望苹果来保护他们的隐私。这家科技巨头最近让他们选择,看看应用程序是否会追踪他们的行为。事实证明,[只有 5%][8] 的美国用户选择这种新的透明追踪应用。 与此同时,该公司从谷歌这样的数据代理公司的业务中获得了[巨大的利益][9]。更别提《堡垒之夜》开发商Epic Games和苹果之间的 [反垄断审判][10] ,后者声称要保护其 App Stere 的隐私。当然还有Facebook。 该公司的隐私不正当行为在参议院就 [剑桥分析][11] 丑闻举行的听证会上达到了高潮,失去了用户仅存的信任。
尽管如此 或者因为 这些有问题的做法, 这些公司的总价值在 2011 年三月超过了[ 7.5 万亿美元][12]。“科技巨头” 现在超过了德国和英国国内生产总值的总和!
### 为什么隐私很重要
![][13]
我都在使用大科技公司的服务。我们是 [监视资本主义][14]的一部分,哈佛大学教授舒沙娜·祖波夫创造的一个术语,并且在科利·多克托罗的 [最新的书][15]里讨论监视资本主义。我们将通过技术手段来获取利润最大化。这一制度威胁到民主的核心,因为它导致了大规模监视,扰乱了选举程序,推动了思想的一致性和审查制度。
监视资本主义是基于对我们生活的一种令人深感不安的入侵。我们往往忘记隐私是一项基本权利。它被联合国人权理事会、公民与政治国际公约奉为神圣。我认为我们都可以联系起来:在我们的生活中有很多方面我们想要保持隐私,即使没有错误。无论是在不被他人评判的情况下,自由地探索我们的个性。或者保护我们不受监视,审查和操纵。 这就是窗帘被发明的原因。还有银行秘书律师特权,通信保密,投票保密,告解室保密或医疗保密。
解决网络隐私问题是对我们法律体系和社会习俗的全面改变所带来的广泛问题。 对技术垄断的监管是这一法案的主要挑战之一。 最近科技巨头和政府之间的对峙就说明了这一点:[美国 vs. Facebook][16], [中国 vs. 腾讯][17], [印度 vs. WhatsApp][18], [美国 vs. Facebook][19] 或者是[美国 vs. 科技巨头][20]。多年来,数字权利组织和软件基金会一直在倡导更好的隐私法、用户权利和创新自由。我们只举几个例子:电子前沿基金会、自由软件基金会、新闻自由基金会、隐私国际、开放权利组织或欧洲数字权利。
### 这和自由/开源软件有什么关系?
![][21]
自 1983 年成立以来, [自由软件运动][22] 已经成为一个相当多样化的社区。 自由和开源软件通常是简称为 FLOSS , FLOSS , Libre 软件 或 自由软件。 他包括一系列授权给用户 [使用,学习,分享并提高][23] 这个软件的权力。 还有 [修理][24]的权利。 自由软件的自由是指 “[言论自由][25]” — 有时也指 “免费啤酒”. 像这样,自由/开源软件不仅仅是技术。 它是关于社会、政治和经济解放。
几年前,一场隐私争议震动了自由软件社区。 Ubuntu 12.10 ——各种不同的 GHU/Linux 风格之一——开始在人们的电脑上建立互联网连接,进行本地搜索。 它为亚马逊提供广告服务,并与 Facebook 或 Twitter 共享私人数据。[强烈反对][26]。几年后, Canonical——Ubuntu 背后的公司——最终取消了在线搜索和亚马逊网络应用程序。 最近 [大胆的戏剧][27] 是自由/开源软件如何保护隐私的另一个例子。新的项目管理层决定将谷歌的 Analytics 和 Yandex 添加到音频软件中,但由于公众的强烈抗议,最终放弃了这一计划。
尽管自由软件有很多优点,但它也不能免于批评。一种说法是自由/开源软件项目经常被放弃。 然而最近 [康奈尔大学研究][28] 表明在 1.932 个流行的开源项目中,有 7% ( 128 个项目)在被忽视后被新的开发人员接管,辍学率降低到不到 10% ( 187 个项目)。
另一个常见的批评是 FOSS 通过发布代码暴露了潜在的安全漏洞。另一方面,将源代码保密 [不一定会提高安全性][29]. 认为封闭源代码要比自由/开源软件安全得多的观点,很方便地忽略了一个事实,即私有堆栈越来越多地构建在 [开放源代码之上][30]。 自由软件也倾向于去中心化,这有助于增强抵御监视、单点故障或大规模数据泄露的弹性。所以可以肯定的是,自由/开源软件并不能避免安全漏洞。 但也没有专有的解决方案,正如来自 Facebook、Linkedin 和 Clubhouse 的最新 [10亿人的数据泄露][31]。 或者是对太阳风和殖民管道公司( Colonial Pipeline )的大规模 [安全攻击][32] 。
总之,自由软件在促进网上隐私方面发挥了重要作用。近四十年来,自由/开源软件一直鼓励开发人员审计代码、修复问题并确保幕后没有任何可疑的事情发生。
### 使用自由/开源软件实现在线隐私的七个步骤
![][33]
在等待更好的隐私法律出台的同时,还有很多事情可以让你的设备更隐私。以下是用尊重隐私、自由/开源软件取代大型科技公司的七个步骤。 根据您的 [威胁模型][34], 您可能想首先考虑步骤1到步骤4 因为他们已经提供了一个合理的隐私水平。如果你有一些技术技能想要更进一步看看步骤5到步骤7.
1. **[参与隐私][35]**. 关于网络隐私、数据利用、过滤泡沫、监控和审查,还有很多值得我们说和学的地方。参与进来,传播信息。
2. **[选择一个安全的私人浏览器][36]**. 切换到 Firefox 。阻止追踪器、cookie和广告。 使用尊重隐私的搜索引擎。 可能用 Tor 或 VPN 加密你的通信。
3. **[保持谈话的私密性][37]**. 使用端到端加密保护您的电子邮件,消息和电话。 抛弃传统的社交媒体,探索 fediversity ,一个由各种在线服务组成的联合家庭。
4. **[保护您的数据][38]**. 使用长且唯一的密码。为你的每个账户和设备选择一个不同的。在加密密码管理器中保存它们的安全。考虑使用双因素身份验证。创建一个常规备份例程。并对敏感数据进行加密。
5. **[释放您的电脑][39]**. 切换到 GNU/Linux ,喜欢免费并且开源的应用程序。根据您的需要, 选择一个初学者友好的发行版,如 Linux Mint 或 Ubuntu 对于更有经验的用户,选择 Debian, Manjaro, openSUSE, Fedora 或 Gentoo Linux。 对于隐私爱好者,可以看看 Qubes OS, Whonix 或 Tails.
6. **[释放您的手机][40]**. 切换到定制的移动操作系统,如 LineageOS, CalyxOS, GrapheneOS 或 /e/。 喜欢社区维护的应用商店提供的免费开源应用。
7. **[释放您的云][41]**. 选择尊重隐私的云提供商。或设置您自己的安全服务器和自我主机服务, 例如 云存储、图库、任务和联系人管理,或媒体流。
### 结束
![][42]
没有针对在线隐私的一键式解决方案。 用自由和开源软件取代大型科技公司是一个过程。有些改动很简单,比如安装 Firefox 或 Signal。 其他方法需要更多的时间和技能。但它们绝对值得。你并不孤单, 你可以依靠一个很棒的社区的支持。 所以,请允许我引用《华盛顿邮报》在线专栏的[杰弗里 a 福勒][43] 的话作为总结: “_隐私没有消亡但你必须足够愤怒才能要求它_“.
* * *
### 关于作者
![][42]
_Georg Jerska 是一个对保护公民隐私特别感兴趣的开源爱好者。 他和他的小团队要求运营 [GoFOSS][44][][45],这是一个关于如何尊重隐私、自由和开源软件取代大型科技公司的全面指南。_
* * *
_[开源][46] 插图 [Katerina Limpitsouni][47]._
_所表达的观点只是作者的观点并不一定反应其自由/开源软件的官方政策或立场。_
#### 大型科技网址获得数百万的收入,它的自由/开源软件得到了你!
如果你喜欢我们的自由/开源软件,请考虑捐款支持我们的独立出版。您的支持将帮助我们发布内容集中在桌面 Linux 和开源软件上
我不感兴趣
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/save-privacy-with-foss/
作者:[Team It's FOSS][a]
选题:[lujun9972][b]
译者:[zz-air](https://github.com/zz-air)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/team/
[b]: https://github.com/lujun9972
[1]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI3MCIgd2lkdGg9IjMwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=
[2]: https://www.gizmodo.com.au/2021/05/google-location-services-lawsuit
[3]: https://blog.appcensus.io/2021/04/27/why-google-should-stop-logging-contact-tracing-data
[4]: https://news.itsfoss.com/google-floc
[5]: https://www.theguardian.com/commentisfree/2021/may/18/amazon-ring-largest-civilian-surveillance-network-us
[6]: https://edps.europa.eu/press-publications/press-news/press-releases/2021/edps-opens-two-investigations-following-schrems_en
[7]: https://www.theguardian.com/technology/2020/dec/02/microsoft-apologises-productivity-score-critics-derided-workplace-surveillance
[8]: https://www.flurry.com/blog/ios-14-5-opt-in-rate-att-restricted-app-tracking-transparency-worldwide-us-daily-latest-update
[9]: https://www.nytimes.com/2020/10/25/technology/apple-google-search-antitrust.html
[10]: https://www.nytimes.com/2021/05/25/business/dealbook/apple-epic-case.html
[11]: https://en.wikipedia.org/wiki/Cambridge_Analytica
[12]: https://en.wikipedia.org/wiki/List_of_public_corporations_by_market_capitalization#2021
[13]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0OCIgd2lkdGg9IjMwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=
[14]: https://en.wikipedia.org/wiki/Surveillance_capitalism
[15]: https://www.goodreads.com/book/show/55134785-how-to-destroy-surveillance-capitalism
[16]: https://www.bbc.com/news/world-australia-56163550
[17]: https://www.nytimes.com/2021/06/02/technology/china-tencent-monopoly.html
[18]: https://www.theguardian.com/world/2021/may/26/whatsapp-sues-indian-government-over-mass-surveillance-internet-laws
[19]: https://nypost.com/2021/05/26/eu-reportedly-set-to-open-formal-antitrust-probe-into-facebook
[20]: https://www.nytimes.com/interactive/2020/10/06/technology/house-antitrust-report-big-tech.html
[21]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI2OCIgd2lkdGg9IjMwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=
[22]: https://itsfoss.com/what-is-foss
[23]: https://fsfe.org/freesoftware/freesoftware.en.html
[24]: https://framatube.org/videos/watch/99069c5c-5a00-489e-97cb-fd5cc76de77c
[25]: https://www.eff.org/deeplinks/2015/04/remembering-case-established-code-speech
[26]: https://itsfoss.com/canonical-targets-website-crictical-ubuntu-privacy
[27]: https://github.com/audacity/audacity/pull/835
[28]: https://arxiv.org/abs/1906.08058
[29]: https://www.schneier.com/crypto-gram/archives/2002/0515.html#1
[30]: https://www.bcg.com/publications/2021/open-source-software-strategy-benefits
[31]: https://www.politico.eu/article/how-to-leak-data-and-get-away-with-it
[32]: https://theconversation.com/the-colonial-pipeline-ransomware-attack-and-the-solarwinds-hack-were-all-but-inevitable-why-national-cyber-defense-is-a-wicked-problem-160661
[33]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjU4MiIgd2lkdGg9Ijc4MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=
[34]: https://www.eff.org/files/2015/11/24/3mod_threat-modeling-ssd_9-3-15.pdf
[35]: https://www.gofoss.today/nothing-to-hide
[36]: https://www.gofoss.today/intro-browse-freely
[37]: https://www.gofoss.today/intro-speak-freely
[38]: https://www.gofoss.today/intro-store-safely
[39]: https://www.gofoss.today/intro-free-your-computer
[40]: https://www.gofoss.today/intro-free-your-phone
[41]: https://www.gofoss.today/intro-free-your-cloud
[42]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjE1MCIgd2lkdGg9IjE1MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=
[43]: https://www.washingtonpost.com/technology/2019/12/31/how-we-survive-surveillance-apocalypse
[44]: https://gofoss.today/
[45]: https://gofoss.today
[46]: https://undraw.co/license
[47]: https://undraw.co

View File

@ -0,0 +1,95 @@
[#]: subject: (Migrate virtual machines to Kubernetes with this new tool)
[#]: via: (https://opensource.com/article/21/6/migrate-vms-kubernetes-forklift)
[#]: author: (Miguel Perez Colino https://opensource.com/users/mperezco)
[#]: collector: (lujun9972)
[#]: translator: (geekpi)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
用这个新工具将虚拟机迁移到 Kubernetes 上
======
用 Forklift 将你的虚拟化工作负载过渡到 Kubernetes。
![Containers on a ship on the ocean][1]
2017 年,[KubeVirt][2] 团队[发起][3]了一个在 [Kubernetes][4] 中与容器一起管理虚拟机 VM 的项目。这个开源项目的意图是让虚拟机成为这个环境中的一等公民。
自从在 [2018 年开源峰会][5]上推出以来KubeVirt 一直在不断成熟和发展。它在 GitHub 上已经达到了 200 多颗星,甚至在 2021 年 2 月推出了自己的活动:[KubeVirt 峰会][6]。
![KubeVirt architecture][7]
KubeVirt架构© 2020,[Red Hat OpenShift][8]
KubeVirt 是 [OpenShift 虚拟化][9]的基础,它帮助开发者将虚拟机带入容器化工作流程。
### 在 Kubernetes 中使用虚拟机
KubeVirt 使你能够在虚拟机上原生使用 Kubernetes。这意味着它们可以连接到使用标准 Kubernetes 方法访问的 pod 网络,包括服务、路由、管道等。应用于虚拟机 pod 的网络策略与应用于应用的 pod 方式相同,它提供一个一致的模型来管理虚拟机到 pod (反之亦然)的通信。
这方面的一个真实例子是一家航空公司利用旧的模拟器软件的方式。它注入了人工智能和机器学习 AI/ML 的模型,然后在基于虚拟机的模拟器上自动部署和测试它们。这使得它能够使用 Kubernetes 和 [Kubeflow][10] 完全自动化地获得测试结果和新的遥测训练数据。
![VM-creation workflow][11]
Konveyor, [CC BY-SA 4.0][12]
[Konveyor.io][13] 是一个开源项目,帮助现有工作负载(开发、测试和生产)过渡到 Kubernetes。其工具包括 [Crane][14],将容器从一个 Kubernetes 平台转移到另一个平台、[Move2Kube][15],将工作负载从 Cloud Foundry 带到 Kubernetes以及 [Tackle][16],分析 Java 应用,使其对 Kubernetes 等容器化平台中的运行时更加标准和便携,从而使其现代化。
这些工具在转化模式中很有用,但许多项目希望在早期阶段利用 Kubernetes以变得更加敏捷和富有成效。在基础设施方面这些好处可能包括蓝/绿负载均衡、路由管理、声明式部署,或(取决于你的部署方式)由于不可变的基础设施而更容易升级。在开发方面,它们可能包括将持续集成/持续开发 CI/CD 管道与平台整合,使应用更快地投入生产,自我提供资源,或整合健康检查和监控。
KubeVirt 可以通过在 Kubernetes 环境中作为虚拟机运行工作负载来帮助你。它能让你的工作负载迅速使用 Kubernetes享受它的好处并随着时间的推移稳步实现工作负载的现代化。但是你仍然有一个问题就是把你的虚拟机从传统的虚拟化平台带到现代的 Kubernetes 平台。这就是 Konveyor 的 [Forklift][17] 项目的意义所在。
### 关于 Forklift
Forklift 使用 KubeVirt 将不同来源的虚拟化工作负载迁移到 Kubernetes。它被设计成使任务变得简单以便你可以从一两台机器到数百台机器迁移任何东西。
迁移是一个简单的、三阶段的过程:
1. 连接到一个现有的虚拟化平台(称为“源提供者”)和一个 Kubernetes 环境(“目标提供者”)。
2. 将网络和存储资源从源提供者映射到目标提供者,在两者中寻找相同的资源。
3. 选择要迁移的虚拟机,分配网络和存储映射,制定迁移计划。然后运行它。
### 如何开始
要开始使用 Forklift首先你需要一个兼容的源提供商。你还需要一个带有 KubeVirt 0.40 或更新版本的 Kubernetes 环境和裸机节点(尽管为了测试,你可以使用嵌套虚拟化)。用读-写-执行 RWX 功能配置你的存储类,并使用 [Multus][18] 配置你的网络,以匹配你的虚拟机在源提供者中使用的网络。(如果你不能这样做,也不用担心。你也可以选择重新分配 IP 地址。)
最后,使用提供的操作者在你的 Kubernetes 上[安装 Forklift][19],并进入用户界面,开始运行你的第一次测试迁移。
Forklift 是 Red Hat 的[虚拟化迁移工具套件][20]的上游版本。因此,如果你想在生产环境中使用它,你可以考虑使用该工具的支持版本。
迁移愉快!
--------------------------------------------------------------------------------
via: https://opensource.com/article/21/6/migrate-vms-kubernetes-forklift
作者:[Miguel Perez Colino][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://opensource.com/users/mperezco
[b]: https://github.com/lujun9972
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/containers_2015-1-osdc-lead.png?itok=VEB4zwza (Containers on a ship on the ocean)
[2]: http://kubevirt.io/
[3]: https://kubevirt.io/2017/This-Week-in-Kube-Virt-1.html
[4]: https://opensource.com/resources/what-is-kubernetes
[5]: https://ossna18.sched.com/event/FAOR/kubevirt-cats-and-dogs-living-together-stephen-gordon-red-hat
[6]: https://kubevirt.io/summit/
[7]: https://opensource.com/sites/default/files/uploads/image1_1.png (KubeVirt architecture)
[8]: https://www.openshift.com/learn/topics/virtualization/
[9]: https://openshift.com/virtualization/
[10]: https://www.kubeflow.org/
[11]: https://opensource.com/sites/default/files/uploads/image2_0_6.png (VM-creation workflow)
[12]: https://creativecommons.org/licenses/by-sa/4.0/
[13]: https://www.konveyor.io/
[14]: https://www.konveyor.io/crane
[15]: https://move2kube.konveyor.io/
[16]: https://www.konveyor.io/tackle
[17]: https://www.konveyor.io/forklift
[18]: https://github.com/k8snetworkplumbingwg/multus-cni
[19]: https://www.youtube.com/watch?v=RnoIP3QjHww&t=1693s
[20]: https://access.redhat.com/documentation/en-us/migration_toolkit_for_virtualization/2.0/