mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-03-09 01:30:10 +08:00
Merge remote-tracking branch 'LCTT/master'
This commit is contained in:
commit
f16d8b9f91
@ -1,96 +0,0 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (messon007)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (10 articles to learn Linux your way)
|
||||
[#]: via: (https://opensource.com/article/19/12/learn-linux)
|
||||
[#]: author: (Seth Kenlon https://opensource.com/users/seth)
|
||||
|
||||
10 articles to learn Linux your way
|
||||
======
|
||||
It's been a good year for Linux, so take a look back at the top 10 Linux
|
||||
articles on Opensource.com from 2019.
|
||||
![Penguins gathered together in the Artic][1]
|
||||
|
||||
The year 2019 has been good for Linux with Opensource.com readers. Obviously, the term "Linux" itself is weighted: Does it refer to the kernel or the desktop or the ecosystem? In this look back at the top Linux articles of the year, I've intentionally taken a broad view in defining the top 10 Linux articles (for some definition of "top" and some definition of "Linux"). Here they are, offered in no particular order.
|
||||
|
||||
### A beginner's guide to Linux permissions
|
||||
|
||||
[_A beginner's guide to Linux permissions_][2] by Bryant Son introduces new users to the concept of file permissions with graphics and charts to illustrate each point. It can be hard to come up with visuals for concepts that are, at their core, purely text-based, and this article is friendly for the visual learners out there. I also like how Bryant stays focused. Any discussion of file permissions can lead to several related topics (like ownership and access control lists and so on), but this article is dedicated to explaining one thing and explaining it well.
|
||||
|
||||
### Why I made the switch from Mac to Linux
|
||||
|
||||
Matthew Broberg offers an insightful and honest look at his migration to Linux from MacOS in [_Why I made the switch from Mac to Linux_][3]. Changing platforms is always tough, and it's important to record what's behind the decision to switch. Matt's article, I think, serves several purposes, but the two most important for me: it's an invitation for the Linux community to support him by answering questions and offering potential solutions, and it's a good data point for others who are considering Linux adoption.
|
||||
|
||||
### Troubleshooting slow WiFi on Linux
|
||||
|
||||
In [_Troubleshooting slow WiFi on Linux_][4], David Clinton provides a useful analysis of a problem everyone has on every platform—and has tips on how to solve it. It's a good example of an "incidentally Linux" tip that not only helps everyday people with everyday problems but also shows non-Linux users how approachable troubleshooting (on any platform) is.
|
||||
|
||||
### How GNOME uses Git
|
||||
|
||||
[_How GNOME uses Git_][5] by Molly de Blanc takes a look behind the scenes, revealing how one of the paragons of open source software (the GNOME desktop) uses one of the other paragons of open source (Git) for development. It's always heartening to me to hear about an open source project that defaults to an open source solution for whatever needs to be done. Believe it or not, this isn't always the case, but for GNOME, it's an important and welcoming part of the project's identity.
|
||||
|
||||
### Virtual filesystems in Linux: Why we need them and how they work
|
||||
|
||||
Alison Chaiken masterfully explains what is considered incomprehensible to many users in [_Virtual filesystems in Linux: Why we need them and how they work_][6]. Understanding what a filesystem is and what it does is one thing, but _virtual_ ones aren't even, by definition, real. And yet Linux delivers them in a way that even casual users can benefit from, and Alison's article explains it in a way that anyone can understand. As a bonus, Alison goes even deeper in the second half of the article and demonstrates how to use bcc scripts to monitor everything she just taught you.
|
||||
|
||||
### Understanding file paths and how to use them
|
||||
|
||||
I thought [_Understanding file paths and how to use them_][7] was important to write about because it's a concept most users (on any platform) don't seem to be taught. It's a strange phenomenon, because now, more than ever, the _file path_ is something people see literally on a daily basis: Nearly all internet URLs contain a file path telling you exactly where within the domain you are. I often wonder why computer education doesn't start with the internet, the most familiar app of all and arguably the most heavily used supercomputer in existence, and use it to explain the appliances we interface with each day. (I guess it would help if those appliances were running Linux, but we're working on that.)
|
||||
|
||||
### Inter-process communication in Linux
|
||||
|
||||
[_Inter-process communication in Linux: Shared storage_][8] by Marty Kalin delves into the developer side of Linux, explaining IPC and how to interact with it in your code. I'm cheating by including this article because it's actually a three-part series, but it's the best explanation of its kind. There is very little documentation that manages to explain how Linux handles IPC, much less what IPC is, why it's important, or how to take advantage of it when programming. It's normally a topic you work your way up to in university. Now you can read all about it here instead.
|
||||
|
||||
### Understanding system calls on Linux with strace
|
||||
|
||||
[_Understanding system calls on Linux with strace_][9] by Gaurav Kamathe is highly technical in ways I wish that every conference talk I've ever seen about **strace** was. This is a clear and helpful demonstration of a complex but amazingly useful command. To my surprise, the command I've found myself using since this article isn't the titular command, but **ltrace** (to see which functions are called by a command). Obviously, this article's packed with information and is a handy reference for developers and QA testers.
|
||||
|
||||
### How the Linux desktop has grown
|
||||
|
||||
[_How the Linux desktop has grown_][10] by Jim Hall is a visual journey through the history of the Linux desktop. It starts with [TWM][11] and passes by [FVWM][12], [GNOME][13], [KDE][14], and others. If you're new to Linux, this is a fascinating history lesson from someone who was there (and has the screenshots to prove it). If you've been with Linux for many years, then this will definitely bring back memories. In the end, though, one thing is certain: Anyone who can still locate screenshots from 20 years ago is a superhuman data archivist.
|
||||
|
||||
### Create your own video streaming server with Linux
|
||||
|
||||
[_Create your own video streaming server with Linux_][15] by Aaron J. Prisk breaks down more than just a few preconceptions most of us have about the services we take for granted. Because services like YouTube and Twitch exist, many people assume that those are the only gateways to broadcasting video to the world. Of course, people used to think that Windows and Mac were the only gateways into computing, and that, thankfully, turned out to be a gross miscalculation. In this article, Aaron sets up a video-streaming server and even manages to find space to talk about [OBS][16] in so you can create videos to stream. Is it a fun weekend project or the start of a new career? You decide.
|
||||
|
||||
### 10 moments that shaped Linux history
|
||||
|
||||
[_10 moments that shaped Linux history_][17] by Alan Formy-Duval attempts the formidable task of choosing just 10 things to highlight in the history of Linux. It's an exercise in futility, of course, because there have been so many important moments, so I love how Alan filters it through his own experience. For example, when was it obvious that Linux was going to last? When Alan realized that all the systems he maintained at work were running Linux. There's a beauty to interpreting history this way because the moments of importance will differ for each person. There's no definitive list for Linux, or articles about Linux, or for open source. You make your own list, and you make yourself a part of it.
|
||||
|
||||
### What do you want to learn?
|
||||
|
||||
What else do you want to know about Linux? Please tell us about it in the comments, or [write an article][18] for Opensource.com about your experience with Linux.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/19/12/learn-linux
|
||||
|
||||
作者:[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/OSDC_Penguin_Image_520x292_12324207_0714_mm_v1a.png?itok=p7cWyQv9 (Penguins gathered together in the Artic)
|
||||
[2]: https://opensource.com/article/19/6/understanding-linux-permissions
|
||||
[3]: https://opensource.com/article/19/10/why-switch-mac-linux
|
||||
[4]: http://opensource.com/article/19/4/troubleshooting-wifi-linux
|
||||
[5]: https://opensource.com/article/19/10/how-gnome-uses-git
|
||||
[6]: https://opensource.com/article/19/3/virtual-filesystems-linux
|
||||
[7]: https://opensource.com/article/19/8/understanding-file-paths-linux
|
||||
[8]: https://opensource.com/article/19/4/interprocess-communication-linux-storage
|
||||
[9]: https://opensource.com/article/19/2/linux-backup-solutions
|
||||
[10]: https://opensource.com/article/19/8/how-linux-desktop-grown
|
||||
[11]: https://github.com/freedesktop/twm
|
||||
[12]: http://www.fvwm.org/
|
||||
[13]: http://gnome.org
|
||||
[14]: http://kde.org
|
||||
[15]: https://opensource.com/article/19/1/basic-live-video-streaming-server
|
||||
[16]: https://opensource.com/life/15/12/real-time-linux-video-editing-with-obs-studio
|
||||
[17]: https://opensource.com/article/19/4/top-moments-linux-history
|
||||
[18]: https://opensource.com/how-submit-article
|
@ -1,335 +0,0 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Try this Bash script for large filesystems)
|
||||
[#]: via: (https://opensource.com/article/20/2/script-large-files)
|
||||
[#]: author: (Nick Clifton https://opensource.com/users/nickclifton)
|
||||
|
||||
Try this Bash script for large filesystems
|
||||
======
|
||||
A simple script to list files, directories, executables, and links.
|
||||
![bash logo on green background][1]
|
||||
|
||||
Have you ever wanted to list all the files in a directory, but just the files, nothing else? How about just the directories? If you have, then the following script, which is open source under GPLv3, could be what you have been looking for.
|
||||
|
||||
Of course, you could use the **find** command:
|
||||
|
||||
|
||||
```
|
||||
`find . -maxdepth 1 -type f -print`
|
||||
```
|
||||
|
||||
But this is cumbersome to type, produces unfriendly output, and lacks some of the refinement of the **ls** command. You could also combine **ls** and **grep** to achieve the same result:
|
||||
|
||||
|
||||
```
|
||||
`ls -F . | grep -v /`
|
||||
```
|
||||
|
||||
But again, this is clunky. This script provides a simple alternative.
|
||||
|
||||
### Usage
|
||||
|
||||
The script provides four main functions, which depend upon which name you call: **lsf** lists files, **lsd** lists directories, **lsx** lists executables, and **lsl** lists links.
|
||||
|
||||
There is no need to install multiple copies of the script, as symbolic links work. This saves space and makes updating the script easier.
|
||||
|
||||
The script works by using the **find** command to do the searching, and then it runs **ls** on each item it finds. The nice thing about this is that any arguments given to the script are passed to the **ls** command. So, for example, this lists all files, even those that start with a dot:
|
||||
|
||||
|
||||
```
|
||||
`lsf -a`
|
||||
```
|
||||
|
||||
To list directories in long format, use the **lsd** command:
|
||||
|
||||
|
||||
```
|
||||
`lsd -l`
|
||||
```
|
||||
|
||||
You can provide multiple arguments, and also file and directory paths.
|
||||
|
||||
This provides a long classified listing of all of files in the current directory's parent directory, and in the **/usr/bin** directory:
|
||||
|
||||
|
||||
```
|
||||
`lsf -F -l .. /usr/bin`
|
||||
```
|
||||
|
||||
One thing that the script does not currently handle, however, is recursion. This command lists only the files in the current directory.
|
||||
|
||||
|
||||
```
|
||||
`lsf -R`
|
||||
```
|
||||
|
||||
The script does not descend into any subdirectories. This is something that may be fixed one day.
|
||||
|
||||
### Internals
|
||||
|
||||
The script is written in a top-down fashion with the initial functions at the start of the script and the body of the work performed near the end. There are only two functions that really matter in the script. The **parse_args()** function peruses the command line, separates options from pathnames, and scripts specific options from the **ls** command-line options.
|
||||
|
||||
The **list_things_in_dir()** function takes a directory name as an argument and runs the **find** command on it. Each item found is passed to the **ls** command for display.
|
||||
|
||||
### Conclusion
|
||||
|
||||
This is a simple script to accomplish a simple function. It is a time saver and can be surprisingly useful when working with large filesystems.
|
||||
|
||||
### The script
|
||||
|
||||
|
||||
```
|
||||
#!/bin/bash
|
||||
|
||||
# Script to list:
|
||||
# directories (if called "lsd")
|
||||
# files (if called "lsf")
|
||||
# links (if called "lsl")
|
||||
# or executables (if called "lsx")
|
||||
# but not any other type of filesystem object.
|
||||
# FIXME: add lsp (list pipes)
|
||||
#
|
||||
# Usage:
|
||||
# <command_name> [switches valid for ls command] [dirname...]
|
||||
#
|
||||
# Works with names that includes spaces and that start with a hyphen.
|
||||
#
|
||||
# Created by Nick Clifton.
|
||||
# Version 1.4
|
||||
# Copyright (c) 2006, 2007 Red Hat.
|
||||
#
|
||||
# This is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published
|
||||
# by the Free Software Foundation; either version 3, or (at your
|
||||
# option) any later version.
|
||||
|
||||
# It is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# ToDo:
|
||||
# Handle recursion, eg: lsl -R
|
||||
# Handle switches that take arguments, eg --block-size
|
||||
# Handle --almost-all, --ignore-backups, --format and --ignore
|
||||
|
||||
main ()
|
||||
{
|
||||
init
|
||||
|
||||
parse_args ${1+"$@"}
|
||||
|
||||
list_objects
|
||||
|
||||
exit 0
|
||||
}
|
||||
|
||||
report ()
|
||||
{
|
||||
echo $prog": " ${1+"$@"}
|
||||
}
|
||||
|
||||
fail ()
|
||||
{
|
||||
report " Internal error: " ${1+"$@"}
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Initialise global variables.
|
||||
init ()
|
||||
{
|
||||
# Default to listing things in the current directory.
|
||||
dirs[0]=".";
|
||||
|
||||
# num_dirs is the number of directories to be listed minus one.
|
||||
# This is because we are indexing the dirs[] array from zero.
|
||||
num_dirs=0;
|
||||
|
||||
# Default to ignoring things that start with a period.
|
||||
no_dots=1
|
||||
|
||||
# Note - the global variables 'type' and 'opts' are initialised in
|
||||
# parse_args function.
|
||||
}
|
||||
|
||||
# Parse our command line
|
||||
parse_args ()
|
||||
{
|
||||
local no_more_args
|
||||
|
||||
no_more_args=0 ;
|
||||
|
||||
prog=`basename $0` ;
|
||||
|
||||
# Decide if we are listing files or directories.
|
||||
case $prog in
|
||||
lsf | lsf.sh)
|
||||
type=f
|
||||
opts="";
|
||||
;;
|
||||
lsd | lsd.sh)
|
||||
type=d
|
||||
# The -d switch to "ls" is presumed when listing directories.
|
||||
opts="-d";
|
||||
;;
|
||||
lsl | lsl.sh)
|
||||
type=l
|
||||
# Use -d to prevent the listed links from being followed.
|
||||
opts="-d";
|
||||
;;
|
||||
lsx | lsx.sh)
|
||||
type=f
|
||||
find_extras="-perm /111"
|
||||
;;
|
||||
*)
|
||||
fail "Unrecognised program name: '$prog', expected either 'lsd', 'lsf', 'lsl' or 'lsx'"
|
||||
;;
|
||||
esac
|
||||
|
||||
# Locate any additional command line switches for ls and accumulate them.
|
||||
# Likewise accumulate non-switches to the directories list.
|
||||
while [ $# -gt 0 ]
|
||||
do
|
||||
case "$1" in
|
||||
# FIXME: Handle switches that take arguments, eg --block-size
|
||||
# FIXME: Properly handle --almost-all, --ignore-backups, --format
|
||||
# FIXME: and --ignore
|
||||
# FIXME: Properly handle --recursive
|
||||
-a | -A | --all | --almost-all)
|
||||
no_dots=0;
|
||||
;;
|
||||
--version)
|
||||
report "version 1.2"
|
||||
exit 0
|
||||
;;
|
||||
--help)
|
||||
case $type in
|
||||
d) report "a version of 'ls' that lists only directories" ;;
|
||||
l) report "a version of 'ls' that lists only links" ;;
|
||||
f) if [ "x$find_extras" = "x" ] ; then
|
||||
report "a version of 'ls' that lists only files" ;
|
||||
else
|
||||
report "a version of 'ls' that lists only executables";
|
||||
fi ;;
|
||||
esac
|
||||
exit 0
|
||||
;;
|
||||
--)
|
||||
# A switch to say that all further items on the command line are
|
||||
# arguments and not switches.
|
||||
no_more_args=1 ;
|
||||
;;
|
||||
-*)
|
||||
if [ "x$no_more_args" = "x1" ] ;
|
||||
then
|
||||
dirs[$num_dirs]="$1";
|
||||
let "num_dirs++"
|
||||
else
|
||||
# Check for a switch that just uses a single dash, not a double
|
||||
# dash. This could actually be multiple switches combined into
|
||||
# one word, eg "lsd -alF". In this case, scan for the -a switch.
|
||||
# XXX: FIXME: The use of =~ requires bash v3.0+.
|
||||
if [[ "x${1:1:1}" != "x-" && "x$1" =~ "x-.*a.*" ]] ;
|
||||
then
|
||||
no_dots=0;
|
||||
fi
|
||||
opts="$opts $1";
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
dirs[$num_dirs]="$1";
|
||||
let "num_dirs++"
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
# Remember that we are counting from zero not one.
|
||||
if [ $num_dirs -gt 0 ] ;
|
||||
then
|
||||
let "num_dirs--"
|
||||
fi
|
||||
}
|
||||
|
||||
list_things_in_dir ()
|
||||
{
|
||||
local dir
|
||||
|
||||
# Paranoia checks - the user should never encounter these.
|
||||
if test "x$1" = "x" ;
|
||||
then
|
||||
fail "list_things_in_dir called without an argument"
|
||||
fi
|
||||
|
||||
if test "x$2" != "x" ;
|
||||
then
|
||||
fail "list_things_in_dir called with too many arguments"
|
||||
fi
|
||||
|
||||
# Use quotes when accessing $dir in order to preserve
|
||||
# any spaces that might be in the directory name.
|
||||
dir="${dirs[$1]}";
|
||||
|
||||
# Catch directory names that start with a dash - they
|
||||
# confuse pushd.
|
||||
if test "x${dir:0:1}" = "x-" ;
|
||||
then
|
||||
dir="./$dir"
|
||||
fi
|
||||
|
||||
if [ -d "$dir" ]
|
||||
then
|
||||
if [ $num_dirs -gt 0 ]
|
||||
then
|
||||
echo " $dir:"
|
||||
fi
|
||||
|
||||
# Use pushd rather passing the directory name to find so that the
|
||||
# names that find passes on to xargs do not have any paths prepended.
|
||||
pushd "$dir" > /dev/null
|
||||
if [ $no_dots -ne 0 ] ; then
|
||||
find . -maxdepth 1 -type $type $find_extras -not -name ".*" -printf "%f\000" \
|
||||
| xargs --null --no-run-if-empty ls $opts -- ;
|
||||
else
|
||||
find . -maxdepth 1 -type $type $find_extras -printf "%f\000" \
|
||||
| xargs --null --no-run-if-empty ls $opts -- ;
|
||||
fi
|
||||
popd > /dev/null
|
||||
else
|
||||
report "directory '$dir' could not be found"
|
||||
fi
|
||||
}
|
||||
|
||||
list_objects ()
|
||||
{
|
||||
local i
|
||||
|
||||
i=0;
|
||||
while [ $i -le $num_dirs ]
|
||||
do
|
||||
list_things_in_dir i
|
||||
let "i++"
|
||||
done
|
||||
}
|
||||
|
||||
# Invoke main
|
||||
main ${1+"$@"}
|
||||
```
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/20/2/script-large-files
|
||||
|
||||
作者:[Nick Clifton][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/nickclifton
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/bash_command_line.png?itok=k4z94W2U (bash logo on green background)
|
@ -1,219 +0,0 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (6 Best AUR (Arch User Repository) Helpers for Arch Linux)
|
||||
[#]: via: (https://www.2daygeek.com/best-aur-arch-user-repository-helpers-arch-linux-manjaro/)
|
||||
[#]: author: (Magesh Maruthamuthu https://www.2daygeek.com/author/magesh/)
|
||||
|
||||
6 Best AUR (Arch User Repository) Helpers for Arch Linux
|
||||
======
|
||||
|
||||
Arch Linux is a Linux distribution largely based on the binary packages which targets x86-64 microprocessors computers.
|
||||
|
||||
Arch Linux uses rolling release model wherein the updates are frequently delivered over to applications.
|
||||
|
||||
It has package manager called **[pacman][1]** which allows to install, remove and update software packages.
|
||||
|
||||
Newbies are advised to step in after gaining hand on experience with other Linux flavors since Arch Linux is built for experienced users.
|
||||
|
||||
### What is AUR (Arch User Repository)?
|
||||
|
||||
[Arch User Repository][2] commonly referred as AUR is the community-based software repository for Arch users.
|
||||
|
||||
User compiled packages get into the Arch official repository, based on the package popularity honored by AUR Community.
|
||||
|
||||
### What is AUR Helper?
|
||||
|
||||
[AUR helper][3] is a wrapper that allows user to install the package from AUR Repository without manual intervention.
|
||||
|
||||
Usages such as searching of packages, resolving dependencies, retrieval and build AUR packages, Web content retrieval and submission of AUR packages are being automated.
|
||||
|
||||
**The 6 best AUR helpers are listed below:**
|
||||
|
||||
* Yay (Yet another Yogurt)
|
||||
* Pakku
|
||||
* Pacaur
|
||||
* Pikaur
|
||||
* Trizen
|
||||
* Aura
|
||||
|
||||
|
||||
|
||||
### 1) Yay (Yet another Yogurt)
|
||||
|
||||
[Yay][4] is a best CLI based AUR helper for Arch Linux, written in GO Language. Yay is based on the design of yaourt, apacman and pacaur.
|
||||
|
||||
Best recommended for newbies. Similar to that of Pacman, with features matching many of the commands and options used in pacman.Allows users to find matching package providers during search and allow selection.
|
||||
|
||||
### How to Install yay
|
||||
|
||||
Run the following commands one by one to install yay on Arch Linux based systems.
|
||||
|
||||
```
|
||||
$ sudo pacman -S git go base-devel
|
||||
$ git clone https://aur.archlinux.org/yay.git
|
||||
$ cd yay
|
||||
$ makepkg -si
|
||||
```
|
||||
|
||||
### How to Use yay
|
||||
|
||||
This use the same syntax like pacman, use the following command to install a package through yay.
|
||||
|
||||
```
|
||||
$ yay -s arch-wiki-man
|
||||
```
|
||||
|
||||
### 2) Pakku
|
||||
|
||||
[Pakku][5] can be treated as another Pacman however dwells in its initial stage. It is a wrapper which allows users to search or install packages from AUR.
|
||||
|
||||
It does a decent job of removing the dependencies and also allows to install packages by cloning the PKGBUILD.
|
||||
|
||||
### How to Install Pakku
|
||||
|
||||
To install pakku on Arch Linux based systems, run the following commands one by one.
|
||||
|
||||
```
|
||||
$ sudo pacman -S git base-devel
|
||||
$ git clone https://aur.archlinux.org/pakku.git
|
||||
$ cd pakku
|
||||
$ makepkg -si
|
||||
```
|
||||
|
||||
### How to Use Pakku
|
||||
|
||||
It uses the same syntax as pacman, use the following command to install a package with pakku.
|
||||
|
||||
```
|
||||
$ pakku -s dropbox
|
||||
```
|
||||
|
||||
### 3) Pacaur
|
||||
|
||||
Another CLI based AUR helper that helps to reduce the user prompt interaction.
|
||||
|
||||
[Pacaur][6] is designed for advanced users who are inclined towards automation for repetitive tasks. Users are expected to be familiar with the AUR manual build process with makepkg and its configuration.
|
||||
|
||||
### How to Install Pacaur
|
||||
|
||||
To install pakku on Arch Linux based systems, run the following commands one by one.
|
||||
|
||||
```
|
||||
$ sudo pacman -S git base-devel
|
||||
$ git clone https://aur.archlinux.org/pacaur.git
|
||||
$ cd pacaur
|
||||
$ makepkg -si
|
||||
```
|
||||
|
||||
### How to Use Pacaur
|
||||
|
||||
It uses the same syntax as pacman, use the following command to install a package with Pacaur.
|
||||
|
||||
```
|
||||
$ pacaur -s spotify
|
||||
```
|
||||
|
||||
### 4) Pikaur
|
||||
|
||||
[Pikaur][7] is a AUR helper with minimal dependencies and review PKGBUILDs all in once, next build them all without user interaction.
|
||||
|
||||
Pikaur will inform Pacman about the next step by mastering the pacman.
|
||||
|
||||
### How to Install Pikaur
|
||||
|
||||
To install pakku on Arch Linux based systems, run the following commands one by one.
|
||||
|
||||
```
|
||||
$ sudo pacman -S git base-devel
|
||||
$ git clone https://aur.archlinux.org/pikaur.git
|
||||
$ cd pikaur
|
||||
$ makepkg -fsri
|
||||
```
|
||||
|
||||
### How to Use Pikaur
|
||||
|
||||
It uses the same syntax as pacman, use the following command to install a package with Pikaur.
|
||||
|
||||
```
|
||||
$ pacaur -s spotify
|
||||
```
|
||||
|
||||
### 5) Trizen
|
||||
|
||||
[Trizen][8] is a command line based lightweight wrapper for AUR, written in Perl. Speed oriented AUR helper which allows users to search, install packages and also permits to read AUR package comments.
|
||||
|
||||
Edit support for text files and the Input/output uses UTF-8 support. Built-in interaction with ‘pacman’.
|
||||
|
||||
### How to Install Trizen
|
||||
|
||||
To install pakku on Arch Linux based systems, run the following commands one by one.
|
||||
|
||||
```
|
||||
$ sudo pacman -S git base-devel
|
||||
$ git clone https://aur.archlinux.org/trizen.git
|
||||
$ cd trizen
|
||||
$ makepkg -si
|
||||
```
|
||||
|
||||
### How to Use Trizen
|
||||
|
||||
It uses the same syntax as pacman, use the following command to install a package with Trizen.
|
||||
|
||||
```
|
||||
$ pacaur -s google-chrome
|
||||
```
|
||||
|
||||
### 6) Aura
|
||||
|
||||
[Aura][9] is a secure, multilingual package manager for Arch Linux and the AUR, written in Haskell. It supports many Pacman operations and sub-options which allows easy development and beautiful code.
|
||||
|
||||
It automates the process of installating packages from the Arch User Repositories.Users normally face difficulties in system upgrade when using Aura.
|
||||
|
||||
### How to Install Aura
|
||||
|
||||
To install pakku on Arch Linux based systems, run the following commands one by one.
|
||||
|
||||
```
|
||||
$ sudo pacman -S git base-devel
|
||||
$ git clone https://aur.archlinux.org/aura.git
|
||||
$ cd aura
|
||||
$ makepkg -si
|
||||
```
|
||||
|
||||
### How to Use Aura
|
||||
|
||||
It uses the same syntax as pacman, use the following command to install a package with Aura.
|
||||
|
||||
```
|
||||
$ pacaur -s android-sdk
|
||||
```
|
||||
|
||||
### Conclusion:
|
||||
|
||||
Users can make their choice among the above 6 AUR helpers by analyzing through.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.2daygeek.com/best-aur-arch-user-repository-helpers-arch-linux-manjaro/
|
||||
|
||||
作者:[Magesh Maruthamuthu][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.2daygeek.com/author/magesh/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://www.2daygeek.com/pacman-command-examples-manage-packages-arch-linux-system/
|
||||
[2]: https://wiki.archlinux.org/index.php/Arch_User_Repository
|
||||
[3]: https://wiki.archlinux.org/index.php/AUR_helpers
|
||||
[4]: https://github.com/Jguer/yay
|
||||
[5]: https://github.com/kitsunyan/pakku
|
||||
[6]: https://github.com/E5ten/pacaur
|
||||
[7]: https://github.com/actionless/pikaur
|
||||
[8]: https://github.com/trizen/trizen
|
||||
[9]: https://github.com/fosskers/aura
|
@ -1,71 +0,0 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (geekpi)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Connect your Google Drive to Fedora Workstation)
|
||||
[#]: via: (https://fedoramagazine.org/connect-your-google-drive-to-fedora-workstation/)
|
||||
[#]: author: (Paul W. Frields https://fedoramagazine.org/author/pfrields/)
|
||||
|
||||
Connect your Google Drive to Fedora Workstation
|
||||
======
|
||||
|
||||
![][1]
|
||||
|
||||
There are plenty of cloud services available where you can store important documents. Google Drive is undoubtedly one of the most popular. It offers a matching set of applications like Docs, Sheets, and Slides to create content. But you can also store arbitrary content in your Google Drive. This article shows you how to connect it to your [Fedora Workstation][2].
|
||||
|
||||
### Adding an account
|
||||
|
||||
Fedora Workstation lets you add an account either after installation during first startup, or at any time afterward. To add your account during first startup, follow the prompts. Among them is a choice of accounts you can add:
|
||||
|
||||
![][3]
|
||||
|
||||
Select Google and a login prompt appears for you to login, so use your Google account information.
|
||||
|
||||
![][4]
|
||||
|
||||
Be aware this information is only transmitted to Google, not to the GNOME project. The next screen asks you to grant access, which is required so your system’s desktop can interact with Google. Scroll down to review the access requests, and choose _Allow_ to proceed.
|
||||
|
||||
You can expect to receive notifications on mobile devices and Gmail that a new device — your system — accessed your Google account. This is normal and expected.
|
||||
|
||||
![][5]
|
||||
|
||||
If you didn’t do this at first startup, or you need to re-add your account, open the _Settings_ tool, and select _Online Accounts_ to add the account. The _Settings_ tool is available through the dropdown at right side of the Top Bar (the “gear” icon), or by opening the Overview and typing _settings_. Then proceed as described above.
|
||||
|
||||
### Using the Files app with Google Drive
|
||||
|
||||
Open the _Files_ app (formerly known as _nautilus_). Locations the Files app can access appear on the left side. Locate your Google account in the list.
|
||||
|
||||
When you select this account, the Files app shows the contents of your Google drive. Some files can be opened using your Fedora Workstation local apps, such as sound files or [LibreOffice][6]-compatible files (including Microsoft Office docs). Other files, such as Google app files like Docs, Sheets, and Slides, open using your web browser and the corresponding app.
|
||||
|
||||
Remember that if the file is large, it will take some time to receive over the network so you can open it.
|
||||
|
||||
You can also copy and paste files in your Google Drive storage from or to other storage connected to your Fedora Workstation. You can also use the built in functions to rename files, create folders, and organize them. For sharing and other advanced options, use Drive from your browser per normal.
|
||||
|
||||
Be aware that the Files app does not refresh contents in real time. If you add or remove files from other Google connected devices like your mobile phone or tablet, you may need to hit **Ctrl+R** to refresh the Files app view.
|
||||
|
||||
* * *
|
||||
|
||||
_Photo by [Beatriz Pérez Moya][7] on [Unsplash][8]._
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://fedoramagazine.org/connect-your-google-drive-to-fedora-workstation/
|
||||
|
||||
作者:[Paul W. Frields][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/pfrields/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://fedoramagazine.org/wp-content/uploads/2020/03/gdrive-workstation-816x345.jpg
|
||||
[2]: https://getfedora.org/workstation
|
||||
[3]: https://fedoramagazine.org/wp-content/uploads/2020/03/firstboot-choices.jpg
|
||||
[4]: https://fedoramagazine.org/wp-content/uploads/2020/03/firstboot-signin.jpg
|
||||
[5]: https://fedoramagazine.org/wp-content/uploads/2020/03/firstboot-grantaccess.jpg
|
||||
[6]: https://fedoramagazine.org/discover-hidden-gems-libreoffice/
|
||||
[7]: https://unsplash.com/@beatriz_perez?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText
|
||||
[8]: https://unsplash.com/s/photos/office-files?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText
|
@ -1,5 +1,5 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: translator: (geekpi)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
|
@ -1,142 +0,0 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Top 10 open source tools for working from home)
|
||||
[#]: via: (https://opensource.com/article/20/3/open-source-working-home)
|
||||
[#]: author: (Seth Kenlon https://opensource.com/users/seth)
|
||||
|
||||
Top 10 open source tools for working from home
|
||||
======
|
||||
Whether you're a WFH veteran or a remote work newbie, these tools make
|
||||
communication and collaboration a snap.
|
||||
![Oatmeal and a laptop.][1]
|
||||
|
||||
If you work from home, you know how important it is to have a great set of tools that stay out of your way and let you focus on what matters. The harder you work during work hours, the more easily you can relax once the workday is through.
|
||||
|
||||
I've been working from home for years, and here are my top picks for the best tools open source has to offer the remote worker.
|
||||
|
||||
### Jitsi video conferencing
|
||||
|
||||
![Jitsi screenshot][2]
|
||||
|
||||
When you're away from your colleagues, it's vital to connect a few times a week, even if it's just so you have a human connection as you otherwise toil away in solitude. There are lots of video conferencing systems on the market, but in my experience, the simplest and the best happens to be the open source [Jitsi][3].
|
||||
|
||||
With an URL that's easy to remember ([meet.jit.si][3]) and on-demand conference rooms, Jitsi makes it shockingly simple to start an impromptu meeting. And better yet, there's no registration required. You just go to [meet.jit.si][3], grab a conference room with a human-friendly, randomly generated URL (no random assortment of letters and numbers here), and you're chatting in no time. If you do choose to register, there are several calendar integrations available, too.
|
||||
|
||||
In real life, I attend a lot of meetings from the remotest regions of New Zealand, and Jitsi is easily the best video chat experience I've had yet. Don't waste half your meeting trying to find each other in a maze of virtual meeting rooms, or sitting through awkward lagtime, or struggling to install updates to your chat app. Just get Jitsi, using open source and standards-compliant webRTC protocols, and have a great meeting.
|
||||
|
||||
### Drawpile whiteboard
|
||||
|
||||
![Drawpile screenshot][4]
|
||||
|
||||
Sometimes it's easiest to explain things, or to track ideas, or just hash out crazy ideas, on a whiteboard. While whiteboards are staples of office conference rooms, they're harder to come by in the digital world. Luckily, there's [Drawpile][5], the real-time collaborative drawing application. You can host drawing sessions on your own computer and invite other users, or you can host a session on Drawpile's servers.
|
||||
|
||||
It's easy to use—minimal enough to be intuitive, but powerful enough to make it a viable artistic application in the event that your rough ideas start to develop into something important.
|
||||
|
||||
### Kanban board for project management
|
||||
|
||||
![Taiga screenshot][6]
|
||||
|
||||
Trying to stay organized and synchronized with your department? You should try [Taiga][7], a virtual "post-it note" board to help teams keep track of individual tasks. This method of organization and project planning is called kanban and is popular in software development, but it's a popular method for planning everything from holidays to home improvement projects.
|
||||
|
||||
The advantage of Taiga is that it's an online shared space. Anyone you collaborate or work with can keep tasks on the board, and as each person makes progress, they move their tasks from the left column (the starting line) to the right (the finish line). Taiga is pleasantly graphical and interactive, and there's nothing quite as satisfying as dragging-and-dropping tasks from one column to the next.
|
||||
|
||||
If your team has specific needs that Taiga doesn't meet, then you should take a look at [our pick of the best open source Kanban boards][8].
|
||||
|
||||
### Joplin personal notes
|
||||
|
||||
![Joplin][9]
|
||||
|
||||
|
||||
|
||||
I keep a paper notebook at my desk so I can jot down thoughts or ideas. Capturing the feel and convenience of this simple act is tricky, but Joplin comes close.
|
||||
|
||||
You can create virtual notebooks within Joplin, and each notebook can have any number of entries. The entries can be simple text, or they can be complex, dynamic documents with graphics, a to-do list, hyperlinks, and much more. Best of all, you can synchronize Joplin to all kinds of online storage services, including the open source Nextcloud service, so that your notebooks are available to you on any computer and any device. It's a great way to keep your workday organized, your mind focused, and your activities on track.
|
||||
|
||||
If you Joplin doesn't quite meet your requirements, take a look at some of our favorite [notebook applications][10].
|
||||
|
||||
### Riot team chat
|
||||
|
||||
![Riot screenshot][11]
|
||||
|
||||
Not everything requires a video chat or a voice call, and yet some things are more urgent than an email. That's where team chat comes into play. A good group chat application has all the features: instant messaging, emoji support, GIF and image support, on-demand chat rooms or "channels," widespread compatibility, and privacy. [Matrix][12] is an open standard and lightweight protocol for real-time communication, and if you run into problems typing your messages, you can switch over to VOIP quickly using the same protocol. You get the best of all worlds.
|
||||
|
||||
Matrix is the protocol, and there are many applications that hook into it (the same way that there's an Internet protocol, with Firefox being an application that makes it accessible to humans). One of the most popular clients is [Riot.im][13]. You can download Riot for your computer and your mobile, and in a pinch, you can just connect to it through a web browser. Your team will always be close at hand, but never so close that it gets uncomfortable.
|
||||
|
||||
### Etherpad shared documents
|
||||
|
||||
![Etherpad screenshot][14]
|
||||
|
||||
If you're looking to collaborate on a document or work on meeting notes with someone, you need look no further than Etherpad. Etherpad is a real-time shared word processor. Invite one or more people to a document, and watch as you each make your additions and edits. It's a fast and efficient way to get ideas down on "paper" and to iterate on revisions together.
|
||||
|
||||
There are a few ways to use Etherpad. If you have good IT support, you can ask your IT department to host an instance of Etherpad for your organization. Otherwise, there are public instances online from open source supporters such as [Riseup][15] and [Etherpad][16] itself.
|
||||
|
||||
### Ethercalc shared spreadsheets
|
||||
|
||||
![Ethercalc screenshot][17]
|
||||
|
||||
Similar to Etherpad, the online [Ethercalc][18] editor lets multiple users work on a spreadsheet, at the same time, on the same screen, remotely. Ethercalc can even import data from existing spreadsheets and delimited text files. You may or may not lose most of your formatting, depending on the complexity of what you're importing, but I've never had my data get munged, so importing has always been a good start. The next time you need help on a complex formula, or you need receipts entered into the latest budget, or you just need someone's input on layout, take it to Ethercalc.
|
||||
|
||||
### Nextcloud shared storage and calendar
|
||||
|
||||
![Nextcloud screenshot][19]
|
||||
|
||||
[Nextcloud][20] is a humble giant of an application. As its name implies, it's your own personal cloud. Its most obvious entry point is as online shared storage that syncs itself with a folder on your desktop and mobile device. You put files in, the files get uploaded to your storage space, and then they appear on all of your devices because everything's synchronized. Give everyone in your organization an account, and suddenly you have shared storage space with the ability to point-and-click to share files and folders with or without passwords.
|
||||
|
||||
But there's so much more to Nextcloud than just acting as a dropbox for shared data. Thanks to its plug-in structure, there are countless web apps you can install into Nextcloud, like chat clients, email clients, video chat, and much more. Not all plug-ins are "official," so support varies, but there are several official plug-ins that are very good. Notably, there's an official calendaring app, so you and your colleagues can schedule meetings and keep track of important upcoming events. The calendar uses the CalDAV protocol, so everything you do is compatible with any CalDAV client.
|
||||
|
||||
### LibreOffice
|
||||
|
||||
![LibreOffice screenshot][21]
|
||||
|
||||
If you're used to working in an office all day every day, you may also be used to working in an office suite all day. There's something comforting about an all-inclusive application with all the usual bells and whistles, and that application in the open source office world is [LibreOffice][22]. It's got everything you'd expect from an office suite: a word processor, spreadsheet, and slide presentation. It also has more than might expect, such as a vector-based drawing application that can also edit PDF files, and a relational database complete with a graphical interface builder. If you're looking for a good office application, LibreOffice is where you need to look first, because you'll look no further once you do.
|
||||
|
||||
### Linux
|
||||
|
||||
![][23]
|
||||
|
||||
If you're new to remote work, then you might be undergoing a major upheaval for one reason or another. A time of change, for some, is a great impetus to go for broke and change everything all in one go. If you're one of those people, then it might be time for a change of your whole operating system. Windows and Mac may have served you well in the past, but if you're looking to make the switch from non-open software to open source, why not change the platform upon which all those apps run?
|
||||
|
||||
There are many excellent Linux distributions built for serious work, serious autonomy, and serious advancement of skill. Grab a copy of Linux, whether it's [Fedora][24], [Elementary][25], or a long-term support subscription of [Red Hat Enterprise Linux][26], and give a free and open source OS a try. By the time you get comfortable with life as a remotee, you'll be a Linux pro at last!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/20/3/open-source-working-home
|
||||
|
||||
作者:[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/oatmeal-and-fedora.jpg?itok=NBFUH9eF (Oatmeal and a laptop.)
|
||||
[2]: https://opensource.com/sites/default/files/uploads/jitsi_0.jpg (Jitsi screenshot)
|
||||
[3]: http://meet.jit.si
|
||||
[4]: https://opensource.com/sites/default/files/uploads/drawpile-whiteboard.jpg (Drawpile screenshot)
|
||||
[5]: https://drawpile.net/
|
||||
[6]: https://opensource.com/sites/default/files/uploads/taiga_kanban_screen_0.jpg (Taiga screenshot)
|
||||
[7]: http://taiga.io
|
||||
[8]: https://opensource.com/alternatives/trello
|
||||
[9]: https://opensource.com/sites/default/files/joplin_0.png (Joplin)
|
||||
[10]: https://opensource.com/alternatives/evernote
|
||||
[11]: https://opensource.com/sites/default/files/uploads/riot-matrix.jpg (Riot screenshot)
|
||||
[12]: http://matrix.org
|
||||
[13]: http://riot.im
|
||||
[14]: https://opensource.com/sites/default/files/uploads/etherpad.jpg (Etherpad screenshot)
|
||||
[15]: https://pad.riseup.net/
|
||||
[16]: https://beta.etherpad.org
|
||||
[17]: https://opensource.com/sites/default/files/uploads/ethercalc.jpg (Ethercalc screenshot)
|
||||
[18]: https://ethercalc.org
|
||||
[19]: https://opensource.com/sites/default/files/uploads/nextcloud-calendar.jpg (Nextcloud screenshot)
|
||||
[20]: http://nextcloud.com
|
||||
[21]: https://opensource.com/sites/default/files/uploads/libreoffice.png (LibreOffice screenshot)
|
||||
[22]: http://libreoffice.org
|
||||
[23]: https://opensource.com/sites/default/files/uploads/advent-pantheon.jpg
|
||||
[24]: https://getfedora.org/
|
||||
[25]: https://elementary.io
|
||||
[26]: https://www.redhat.com/en/store/red-hat-enterprise-linux-workstation
|
@ -0,0 +1,123 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (How to Check Password Expiration Date for All Users on Linux)
|
||||
[#]: via: (https://www.2daygeek.com/linux-check-user-password-expiration-date/)
|
||||
[#]: author: (Magesh Maruthamuthu https://www.2daygeek.com/author/magesh/)
|
||||
|
||||
How to Check Password Expiration Date for All Users on Linux
|
||||
======
|
||||
|
||||
If you enable a **[password policy on Linux][1]**.
|
||||
|
||||
The password must be changed before it expires, and you will be notified when you log in to the system.
|
||||
|
||||
If you rarely use your account, it may be locked due to password expiration.
|
||||
|
||||
In many cases, this can happen in service accounts with a **[password-less login][2]**, because nobody will monitor it.
|
||||
|
||||
This will lead to stop the **[cronjobs/crontab][3]** configured on the server.
|
||||
|
||||
If so, how to mitigate this situation.
|
||||
|
||||
You can write a **[shell script][4]** to get a notification about it, for which we wrote an article some time ago.
|
||||
|
||||
* **[Bash Script to Send eMail With a List of User Accounts Expiring in “X” Days][5]**
|
||||
|
||||
|
||||
|
||||
This will give you the number of days, but this article aims to give you a actual date on your terminal.
|
||||
|
||||
This can be achieved with the chage command.
|
||||
|
||||
### What is chage Command?
|
||||
|
||||
chage stands for change age. It changes user password expiration information.
|
||||
|
||||
The chage command changes the number of days between password changes and the date of the last password change.
|
||||
|
||||
This information is used by the system to determine when a user should change his/her password.
|
||||
|
||||
It allows the user to perform other functions such as setting the account expiration date, setting the password inactive after the expiration, displaying account aging information, setting minimum and maximum days before password change, and setting expiry warning days.
|
||||
|
||||
### 1) How to Check the Password Expiration Date for a Specific User on Linux
|
||||
|
||||
If you want to check the password expiration date for a specific user on Linux, use the following command.
|
||||
|
||||
```
|
||||
# chage -l daygeek
|
||||
|
||||
Last password change : Feb 13, 2020
|
||||
Password expires : May 13, 2020
|
||||
Password inactive : never
|
||||
Account expires : never
|
||||
Minimum number of days between password change : 7
|
||||
Maximum number of days between password change : 90
|
||||
Number of days of warning before password expires : 7
|
||||
```
|
||||
|
||||
### 2) How To Check Password Expiration Date For All Users On Linux
|
||||
|
||||
You can use the chage command directly for a single user, which may not work as expected for many users, but you can use it.
|
||||
|
||||
To achieve this you need to write a small shell script. The shell script below allows you to list all users added to your system, including system users.
|
||||
|
||||
```
|
||||
# for user in $(cat /etc/passwd |cut -d: -f1); do echo $user; chage -l $user | grep "Password expires"; done | paste -d " " - - | sed 's/Password expires//g'
|
||||
```
|
||||
|
||||
You will get an output like the one below, but the username may differ.
|
||||
|
||||
```
|
||||
root : never
|
||||
bin : never
|
||||
daemon : never
|
||||
adm : never
|
||||
lp : never
|
||||
sync : never
|
||||
shutdown : never
|
||||
u1 : Nov 12, 2018
|
||||
u2 : Jun 17, 2019
|
||||
u3 : Jun 17, 2019
|
||||
u4 : Jun 17, 2019
|
||||
u5 : Jun 17, 2019
|
||||
```
|
||||
|
||||
### 3) How To Check Password Expiration Date For All Users Except System Users On Linux
|
||||
|
||||
The below shell script will display a list of users who has an expiry date.
|
||||
|
||||
```
|
||||
# for user in $(cat /etc/passwd |cut -d: -f1); do echo $user; chage -l $user | grep "Password expires"; done | paste -d " " - - | sed 's/Password expires//g' | grep -v "never"
|
||||
```
|
||||
|
||||
You will get an output like the one below, but the username may differ.
|
||||
|
||||
```
|
||||
u1 : Nov 12, 2018
|
||||
u2 : Jun 17, 2019
|
||||
u3 : Jun 17, 2019
|
||||
u4 : Jun 17, 2019
|
||||
u5 : Jun 17, 2019
|
||||
```
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.2daygeek.com/linux-check-user-password-expiration-date/
|
||||
|
||||
作者:[Magesh Maruthamuthu][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.2daygeek.com/author/magesh/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://www.2daygeek.com/how-to-set-password-complexity-policy-on-linux/
|
||||
[2]: https://www.2daygeek.com/configure-setup-passwordless-ssh-key-based-authentication-linux/
|
||||
[3]: https://www.2daygeek.com/linux-crontab-cron-job-to-schedule-jobs-task/
|
||||
[4]: https://www.2daygeek.com/category/shell-script/
|
||||
[5]: https://www.2daygeek.com/bash-script-to-check-user-account-password-expiry-linux/
|
@ -0,0 +1,96 @@
|
||||
[#]: collector: "lujun9972"
|
||||
[#]: translator: "messon007"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
[#]: subject: "10 articles to learn Linux your way"
|
||||
[#]: via: "https://opensource.com/article/19/12/learn-linux"
|
||||
[#]: author: "Seth Kenlon https://opensource.com/users/seth"
|
||||
|
||||
2019年关于Linux的10大好文
|
||||
=======
|
||||
|
||||
2019年对于Linux来说是个好年份,一起来回顾一下2019年opensource.com上关于Linux的十大好文。
|
||||
![Penguins gathered together in the Artic][1]
|
||||
|
||||
2019年,"Linux"一词有了更多含义: 内核? 桌面? 或是生态? 在此次回顾年度Linux好文中,我在选择十大好文时有意采取了更开放的视角。下面就是十大好文(无先后次序之分)。
|
||||
|
||||
### Linux权限初学者指南
|
||||
|
||||
Bryant Son的[_Linux权限初学者指南_][2]通过图和表的方式向新用户介绍了文件权限的概念。 通常很难通过可视的方式来解释纯粹以文本为基础的概念,本文则对可视学习者非常友好。 Bryant在讲述时也很聚焦。关于文件权限的任何阐述都可能引出几个相关主题(例如所有权和访问控制列表等),但是本文致力于解释一件事并很好地解释它。
|
||||
|
||||
### 为什么我从Mac切换到了Linux
|
||||
|
||||
Matthew Broberg在[_为什么我从Mac切换到了Linux_][3]中清楚而客观的介绍了他从MacOS切换到Linux的经历。 通常切换平台是很困难的,因此记录决定切换的背后考虑非常重要。我认为Matt的文章有几个目的,但对我来说最重要的两个目的是:他邀请Linux社区通过解答他的问题并提供潜在的解决方案来支持他;对于其他正在考虑采用Linux的人来说是一个很好的参考。
|
||||
|
||||
### 在Linux上定位WiFi速度慢的问题
|
||||
|
||||
在[_在Linux上定位WiFi速度慢的问题_][4]中,David Clinton对所有平台上都可能遇到的问题进行了分析,并提供了怎么样一步步解决的思路。 这是“偶然的Linux”技巧的一个很好的例子,但它不仅可以帮助经常遇到问题的人,而且可以向非Linux用户展示如何在其他平台上进行问题定位。
|
||||
|
||||
### GNOME是如何使用Git的
|
||||
|
||||
Molly de Blanc所写的[_GNOME是如何使用Git的_][5]深层次地揭示了开源界的一个典范(GNOME桌面)如何使用开源界的另一个典范(Git)进行开发。 听到一个开源项目无论在哪方面都能满足一个开源解决方案的需求,且成为默认选择,这总是让我感到振奋。无论你信不信,这种情况并不常见,然而对于GNOME来说,这是项目本身的重要且受欢迎的部分。
|
||||
|
||||
### Linux的虚拟文件系统:为什么需要它们以及其运行机制
|
||||
|
||||
Alison Chaiken在[_Linux的虚拟文件系统: 为什么需要它们以及其运行机制_][6]中巧妙地解释了对许多用户来说都很难理解的东西。理解文件系统是什么,做什么是一回事,但从定义上讲,_虚拟的_并不是真正的文件系统。Linux以一种普通用户也能从中受益的方式提供了它们,Alison的文章以一种易于理解的方式对其进行了阐述。另外,Alison在文章的后半部分更深入地介绍了如何使用bcc脚本查看她讲的VFS相关内容。
|
||||
|
||||
### 理解文件路径并学会使用它们
|
||||
|
||||
我认为完成[_理解文件路径并学会使用它们_][7]很重要,因为这是大多数用户(在任何平台上)似乎都没有学过的概念。 这是一个奇怪的现象,因为现在比以往任何时候,人们都越来越多地看到_文件路徑_:几乎所有的互联网网址都包含一个文件路径,该路径告诉您您在域中的确切位置。互联网是目前最熟悉的应用程序,并且可以说是使用最频繁的超级计算机。我常常在想为什么计算机教育不是从互联网开始的,完全可以用它来解释我们每天使用的设备。(我想如果这些设备运行Linux会有所帮助,但是我们正在努力。)
|
||||
|
||||
### Linux的进程间通信
|
||||
|
||||
Marty Kalin的[_Linux的进程间通信:共享存储_][8]从Linux的开发者视角解释了IPC以及如何在代码中使用它。 我之所以喜欢这篇文章是因为它实际上是一个三部分的系列,但这是同类文章中最好的阐述。很少有文档能够解释Linux怎样处理IPC,更不用说IPC是什么,为什么它很重要,或者在编程时该如何使用它。通常这是您在大学读书时关注的话题。 现在,您可以在这里阅读所有内容。
|
||||
|
||||
### 通过strace来理解Linux的系统调用
|
||||
|
||||
Gaurav Kamathe的[_通过strace来理解Linux的系统调用_][9]具有很强的技术性,我希望我所见过的有关**strace**的每次会议演讲都是如此。 这是对一个复杂但非常有用的命令的清晰演示。令我惊讶的是,我读了本文才发现自己一直使用的命令不是系统调用命令,而是**ltrace**(可以查看命令调用了哪些函数)。本文包含了丰富的信息,是开发人员和测试人员的快捷参考手册。
|
||||
|
||||
### Linux桌面是如何发展起来的
|
||||
|
||||
Jim Hall的[_Linux桌面是如何发展起来的_][10]是对Linux桌面历史的一次视觉之旅。从[TWM][11]开始,经历了[FVWM][12],[GNOME][13],[KDE][14]等。 如果您是Linux的新手,那么这将是一个出自那个年代人的有趣的历史课(有截图可以证明这一点)。 如果您已经使用Linux多年,那么这肯定会唤醒您的记忆。 最后,可以肯定的是:仍然可以找到20年前屏幕快照的人都是神一样的数据档案管理员。
|
||||
|
||||
### 用Linux创建您自己的视频流服务器
|
||||
|
||||
AaronJ. Prisk的[_用Linux创建您自己的视频流服务器_][15]消除了大多数人对我们习以为常的服务的误解。 由于YouTube和Twitch之类服务的存在,许多人认为这是向世界广播视频的唯一方式。当然,人们过去常常以为Windows和Mac是计算机的唯一入口,值得庆幸的是,最终证明这是严重的误解。 在本文中,Aaron建立了一个视频流服务器,而且讲述了[OBS][16]的使用,以便您可以创建视频。这是一个有趣的周末项目还是新职业的开始? 你自己决定。
|
||||
|
||||
### 塑造Linux历史的10个时刻
|
||||
|
||||
Alan Formy-Duval撰写的[_塑造Linux历史的10个时刻_][17]试图完成一项艰巨的任务,即从Linux的历史中选出10件有代表性的事情。当然,这是很难的,因为有如此多重要的时刻,所以我喜欢看Alan如何通过自己的经历来选择它。 例如,什么时候开始意识到Linux必然可以发展下去? 当Alan意识到他维护的所有系统都在运行Linux。用这种方式来解释历史是很美的,因为每个人的重要时刻都会有所不同。 没有关于Linux的权威性列表,也没有关于Linux的文章,也没有关于开源的列表。 您创建您自己的列表,使您自己成为它的一部分。
|
||||
|
||||
### 你想从何学起?
|
||||
|
||||
还想知道Linux的什么内容?请在评论区告诉我们或者向Opensource.com来文讲述您的Linux经验。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/19/12/learn-linux
|
||||
|
||||
作者:[Seth Kenlon][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[messon007](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/OSDC_Penguin_Image_520x292_12324207_0714_mm_v1a.png?itok=p7cWyQv9 "Penguins gathered together in the Artic"
|
||||
[2]: https://opensource.com/article/19/6/understanding-linux-permissions
|
||||
[3]: https://opensource.com/article/19/10/why-switch-mac-linux
|
||||
[4]: http://opensource.com/article/19/4/troubleshooting-wifi-linux
|
||||
[5]: https://opensource.com/article/19/10/how-gnome-uses-git
|
||||
[6]: https://opensource.com/article/19/3/virtual-filesystems-linux
|
||||
[7]: https://opensource.com/article/19/8/understanding-file-paths-linux
|
||||
[8]: https://opensource.com/article/19/4/interprocess-communication-linux-storage
|
||||
[9]: https://opensource.com/article/19/2/linux-backup-solutions
|
||||
[10]: https://opensource.com/article/19/8/how-linux-desktop-grown
|
||||
[11]: https://github.com/freedesktop/twm
|
||||
[12]: http://www.fvwm.org/
|
||||
[13]: http://gnome.org
|
||||
[14]: http://kde.org
|
||||
[15]: https://opensource.com/article/19/1/basic-live-video-streaming-server
|
||||
[16]: https://opensource.com/life/15/12/real-time-linux-video-editing-with-obs-studio
|
||||
[17]: https://opensource.com/article/19/4/top-moments-linux-history
|
||||
[18]: https://opensource.com/how-submit-article
|
@ -0,0 +1,330 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (wxy)
|
||||
[#]: reviewer: (wxy)
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Try this Bash script for large filesystems)
|
||||
[#]: via: (https://opensource.com/article/20/2/script-large-files)
|
||||
[#]: author: (Nick Clifton https://opensource.com/users/nickclifton)
|
||||
|
||||
针对大型文件系统可以试试此 Bash 脚本
|
||||
======
|
||||
|
||||
> 一个可以列出文件、目录、可执行文件和链接的简单脚本。
|
||||
|
||||
![bash logo on green background][1]
|
||||
|
||||
你是否曾经想列出目录中的所有文件,但仅列出文件,而不列出其它的。仅列出目录呢?如果有这种需求的话,那么下面的脚本可能正是你一直在寻找的,它在 GPLv3 下开源。
|
||||
|
||||
当然,你可以使用 `find` 命令:
|
||||
|
||||
```
|
||||
find . -maxdepth 1 -type f -print
|
||||
```
|
||||
|
||||
但这键入起来很麻烦,输出也不友好,并且缺少 `ls` 命令拥有的一些改进。你还可以结合使用 `ls` 和 `grep` 来达到相同的结果:
|
||||
|
||||
```
|
||||
ls -F . | grep -v /
|
||||
```
|
||||
|
||||
但是,这又有点笨拙。下面这个脚本提供了一种简单的替代方法。
|
||||
|
||||
### 用法
|
||||
|
||||
该脚本提供了四个主要功能,具体取决于你调用它的名称:`lsf` 列出文件,`lsd` 列出目录,`lsx` 列出可执行文件以及 `lsl` 列出链接。
|
||||
|
||||
通过符号链接无需安装该脚本的多个副本。这样可以节省空间并使脚本更新更容易。
|
||||
|
||||
该脚本通过使用 `find` 命令进行搜索,然后在找到的每个项目上运行 `ls`。这样做的好处是,任何给脚本的参数都将传递给 `ls` 命令。因此,例如,这可以列出所有文件,甚至包括以点开头的文件:
|
||||
|
||||
```
|
||||
lsf -a
|
||||
```
|
||||
|
||||
要以长格式列出目录,请使用 `lsd` 命令:
|
||||
|
||||
```
|
||||
lsd -l
|
||||
```
|
||||
|
||||
你可以提供多个参数,以及文件和目录路径。
|
||||
|
||||
下面提供了当前目录的父目录和 `/usr/bin` 目录中所有文件的长分类列表:
|
||||
|
||||
```
|
||||
lsf -F -l .. /usr/bin
|
||||
```
|
||||
|
||||
目前该脚本不处理递归,仅列出当前目录中的文件。
|
||||
|
||||
```
|
||||
lsf -R
|
||||
```
|
||||
|
||||
该脚本不会深入子目录,这个不足有一天可能会进行修复。
|
||||
|
||||
### 内部
|
||||
|
||||
该脚本采用自上而下的方式编写,其初始化功能位于脚本的开头,而工作主体则接近结尾。脚本中只有两个真正重要的功能。函数 `parse_args()` 会仔细分析命令行,将选项与路径名分开,并处理脚本中的 `ls` 命令行选项中的特定选项。
|
||||
|
||||
`list_things_in_dir()` 函数以目录名作为参数并在其上运行 `find` 命令。找到的每个项目都传递给 `ls` 命令进行显示。
|
||||
|
||||
### 总结
|
||||
|
||||
这是一个可以完成简单功能的简单脚本。它节省了时间,并且在使用大型文件系统时可能会非常有用。
|
||||
|
||||
### 脚本
|
||||
|
||||
```
|
||||
#!/bin/bash
|
||||
|
||||
# Script to list:
|
||||
# directories (if called "lsd")
|
||||
# files (if called "lsf")
|
||||
# links (if called "lsl")
|
||||
# or executables (if called "lsx")
|
||||
# but not any other type of filesystem object.
|
||||
# FIXME: add lsp (list pipes)
|
||||
#
|
||||
# Usage:
|
||||
# <command_name> [switches valid for ls command] [dirname...]
|
||||
#
|
||||
# Works with names that includes spaces and that start with a hyphen.
|
||||
#
|
||||
# Created by Nick Clifton.
|
||||
# Version 1.4
|
||||
# Copyright (c) 2006, 2007 Red Hat.
|
||||
#
|
||||
# This is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published
|
||||
# by the Free Software Foundation; either version 3, or (at your
|
||||
# option) any later version.
|
||||
|
||||
# It is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# ToDo:
|
||||
# Handle recursion, eg: lsl -R
|
||||
# Handle switches that take arguments, eg --block-size
|
||||
# Handle --almost-all, --ignore-backups, --format and --ignore
|
||||
|
||||
main ()
|
||||
{
|
||||
init
|
||||
|
||||
parse_args ${1+"$@"}
|
||||
|
||||
list_objects
|
||||
|
||||
exit 0
|
||||
}
|
||||
|
||||
report ()
|
||||
{
|
||||
echo $prog": " ${1+"$@"}
|
||||
}
|
||||
|
||||
fail ()
|
||||
{
|
||||
report " Internal error: " ${1+"$@"}
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Initialise global variables.
|
||||
init ()
|
||||
{
|
||||
# Default to listing things in the current directory.
|
||||
dirs[0]=".";
|
||||
|
||||
# num_dirs is the number of directories to be listed minus one.
|
||||
# This is because we are indexing the dirs[] array from zero.
|
||||
num_dirs=0;
|
||||
|
||||
# Default to ignoring things that start with a period.
|
||||
no_dots=1
|
||||
|
||||
# Note - the global variables 'type' and 'opts' are initialised in
|
||||
# parse_args function.
|
||||
}
|
||||
|
||||
# Parse our command line
|
||||
parse_args ()
|
||||
{
|
||||
local no_more_args
|
||||
|
||||
no_more_args=0 ;
|
||||
|
||||
prog=`basename $0` ;
|
||||
|
||||
# Decide if we are listing files or directories.
|
||||
case $prog in
|
||||
lsf | lsf.sh)
|
||||
type=f
|
||||
opts="";
|
||||
;;
|
||||
lsd | lsd.sh)
|
||||
type=d
|
||||
# The -d switch to "ls" is presumed when listing directories.
|
||||
opts="-d";
|
||||
;;
|
||||
lsl | lsl.sh)
|
||||
type=l
|
||||
# Use -d to prevent the listed links from being followed.
|
||||
opts="-d";
|
||||
;;
|
||||
lsx | lsx.sh)
|
||||
type=f
|
||||
find_extras="-perm /111"
|
||||
;;
|
||||
*)
|
||||
fail "Unrecognised program name: '$prog', expected either 'lsd', 'lsf', 'lsl' or 'lsx'"
|
||||
;;
|
||||
esac
|
||||
|
||||
# Locate any additional command line switches for ls and accumulate them.
|
||||
# Likewise accumulate non-switches to the directories list.
|
||||
while [ $# -gt 0 ]
|
||||
do
|
||||
case "$1" in
|
||||
# FIXME: Handle switches that take arguments, eg --block-size
|
||||
# FIXME: Properly handle --almost-all, --ignore-backups, --format
|
||||
# FIXME: and --ignore
|
||||
# FIXME: Properly handle --recursive
|
||||
-a | -A | --all | --almost-all)
|
||||
no_dots=0;
|
||||
;;
|
||||
--version)
|
||||
report "version 1.2"
|
||||
exit 0
|
||||
;;
|
||||
--help)
|
||||
case $type in
|
||||
d) report "a version of 'ls' that lists only directories" ;;
|
||||
l) report "a version of 'ls' that lists only links" ;;
|
||||
f) if [ "x$find_extras" = "x" ] ; then
|
||||
report "a version of 'ls' that lists only files" ;
|
||||
else
|
||||
report "a version of 'ls' that lists only executables";
|
||||
fi ;;
|
||||
esac
|
||||
exit 0
|
||||
;;
|
||||
--)
|
||||
# A switch to say that all further items on the command line are
|
||||
# arguments and not switches.
|
||||
no_more_args=1 ;
|
||||
;;
|
||||
-*)
|
||||
if [ "x$no_more_args" = "x1" ] ;
|
||||
then
|
||||
dirs[$num_dirs]="$1";
|
||||
let "num_dirs++"
|
||||
else
|
||||
# Check for a switch that just uses a single dash, not a double
|
||||
# dash. This could actually be multiple switches combined into
|
||||
# one word, eg "lsd -alF". In this case, scan for the -a switch.
|
||||
# XXX: FIXME: The use of =~ requires bash v3.0+.
|
||||
if [[ "x${1:1:1}" != "x-" && "x$1" =~ "x-.*a.*" ]] ;
|
||||
then
|
||||
no_dots=0;
|
||||
fi
|
||||
opts="$opts $1";
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
dirs[$num_dirs]="$1";
|
||||
let "num_dirs++"
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
# Remember that we are counting from zero not one.
|
||||
if [ $num_dirs -gt 0 ] ;
|
||||
then
|
||||
let "num_dirs--"
|
||||
fi
|
||||
}
|
||||
|
||||
list_things_in_dir ()
|
||||
{
|
||||
local dir
|
||||
|
||||
# Paranoia checks - the user should never encounter these.
|
||||
if test "x$1" = "x" ;
|
||||
then
|
||||
fail "list_things_in_dir called without an argument"
|
||||
fi
|
||||
|
||||
if test "x$2" != "x" ;
|
||||
then
|
||||
fail "list_things_in_dir called with too many arguments"
|
||||
fi
|
||||
|
||||
# Use quotes when accessing $dir in order to preserve
|
||||
# any spaces that might be in the directory name.
|
||||
dir="${dirs[$1]}";
|
||||
|
||||
# Catch directory names that start with a dash - they
|
||||
# confuse pushd.
|
||||
if test "x${dir:0:1}" = "x-" ;
|
||||
then
|
||||
dir="./$dir"
|
||||
fi
|
||||
|
||||
if [ -d "$dir" ]
|
||||
then
|
||||
if [ $num_dirs -gt 0 ]
|
||||
then
|
||||
echo " $dir:"
|
||||
fi
|
||||
|
||||
# Use pushd rather passing the directory name to find so that the
|
||||
# names that find passes on to xargs do not have any paths prepended.
|
||||
pushd "$dir" > /dev/null
|
||||
if [ $no_dots -ne 0 ] ; then
|
||||
find . -maxdepth 1 -type $type $find_extras -not -name ".*" -printf "%f\000" \
|
||||
| xargs --null --no-run-if-empty ls $opts -- ;
|
||||
else
|
||||
find . -maxdepth 1 -type $type $find_extras -printf "%f\000" \
|
||||
| xargs --null --no-run-if-empty ls $opts -- ;
|
||||
fi
|
||||
popd > /dev/null
|
||||
else
|
||||
report "directory '$dir' could not be found"
|
||||
fi
|
||||
}
|
||||
|
||||
list_objects ()
|
||||
{
|
||||
local i
|
||||
|
||||
i=0;
|
||||
while [ $i -le $num_dirs ]
|
||||
do
|
||||
list_things_in_dir i
|
||||
let "i++"
|
||||
done
|
||||
}
|
||||
|
||||
# Invoke main
|
||||
main ${1+"$@"}
|
||||
```
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/20/2/script-large-files
|
||||
|
||||
作者:[Nick Clifton][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[wxy](https://github.com/wxy)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/nickclifton
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/bash_command_line.png?itok=k4z94W2U (bash logo on green background)
|
@ -0,0 +1,215 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (hkurj)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (6 Best AUR (Arch User Repository) Helpers for Arch Linux)
|
||||
[#]: via: (https://www.2daygeek.com/best-aur-arch-user-repository-helpers-arch-linux-manjaro/)
|
||||
[#]: author: (Magesh Maruthamuthu https://www.2daygeek.com/author/magesh/)
|
||||
|
||||
6个用于Arch Linux的最佳AUR(Arch用户软件仓库)助手
|
||||
======
|
||||
|
||||
Arch Linux是Linux发行版,主要基于面向x86-64微处理器计算机的二进制软件包。
|
||||
|
||||
Arch Linux使用的是滚动发布模型,该模型频繁的将更新交付给应用程序。
|
||||
|
||||
它使用名为 **[pacman][1]** 的软件包管理器,它允许安装,删除和更新软件包。
|
||||
|
||||
由于Arch Linux是为有经验的用户构建的,建议新手在使用其他Linux后再来尝试。
|
||||
|
||||
### 什么是AUR(Arch用户软件仓库)?
|
||||
|
||||
[Arch用户软件仓库][2]通常称为AUR,是Arch用户基于社区的软件存储库。
|
||||
|
||||
AUR社区用户根据软件包流行程度编译进入Arch官方存储库。
|
||||
|
||||
### 什么是AUR助手?
|
||||
|
||||
[AUR助手][3]是一个包装程序,允许用户从AUR存储库安装软件包,而无需手动干预。
|
||||
|
||||
很多用法实现了自动化,比如包搜索,解决依赖关系,检索和构建AUR包,Web内容检索和AUR包提交之类。
|
||||
|
||||
**以下列出了6种最佳的AUR助手:**
|
||||
|
||||
* Yay (Yet another Yogurt)
|
||||
* Pakku
|
||||
* Pacaur
|
||||
* Pikaur
|
||||
* Trizen
|
||||
* Aura
|
||||
|
||||
|
||||
### 1) Yay (Yet another Yogurt)
|
||||
|
||||
[Yay][4]是Arch Linux下基于CLI的最佳AUR助手,使用GO语言编写。 Yay基于yaourt,apacman和pacaur设计。
|
||||
|
||||
这是给推荐新手最合适的AUR助手。使用方法和pacman使用的命令选项很相似,允许用户在搜索过程中找到匹配的软件包提供程序并可供选择。
|
||||
|
||||
### 如何安装yay
|
||||
|
||||
依次运行以下命令以在Arch Linux的系统上安装。
|
||||
|
||||
```
|
||||
$ sudo pacman -S git go base-devel
|
||||
$ git clone https://aur.archlinux.org/yay.git
|
||||
$ cd yay
|
||||
$ makepkg -si
|
||||
```
|
||||
### 如何使用yay
|
||||
|
||||
yay语法与pacman相同,使用以下命令安装软件包。
|
||||
|
||||
```
|
||||
$ yay -s arch-wiki-man
|
||||
```
|
||||
|
||||
### 2) Pakku
|
||||
|
||||
[Pakku][5]可以被视为一个初始阶段的Pacman。 它是一个包装程序,允许用户从AUR搜索或安装软件包。
|
||||
|
||||
它在删除依赖项方面做得不错,并且还允许通过克隆PKGBUILD来安装软件包。
|
||||
|
||||
### 如何安装Pakku
|
||||
|
||||
要在Arch Linux的系统上安装pakku,请一一运行以下命令。
|
||||
|
||||
```
|
||||
$ sudo pacman -S git base-devel
|
||||
$ git clone https://aur.archlinux.org/pakku.git
|
||||
$ cd pakku
|
||||
$ makepkg -si
|
||||
```
|
||||
|
||||
### 如何使用Pakku
|
||||
|
||||
pakku语法与pacman相同,使用以下命令安装软件包。
|
||||
|
||||
```
|
||||
$ pakku -s dropbox
|
||||
```
|
||||
|
||||
### 3) Pacaur
|
||||
|
||||
另一个基于CLI的AUR助手,可帮助减少用户提示交互。
|
||||
|
||||
[Pacaur][6]专为倾向于自动化重复任务的高级用户而设计。 用户需要熟悉makepkg及其配置的AUR手动构建过程。
|
||||
|
||||
### 如何安装Pacaur
|
||||
|
||||
要在Arch Linux的系统上安装pakku,请一一运行以下命令。
|
||||
|
||||
```
|
||||
$ sudo pacman -S git base-devel
|
||||
$ git clone https://aur.archlinux.org/pacaur.git
|
||||
$ cd pacaur
|
||||
$ makepkg -si
|
||||
```
|
||||
|
||||
### 如何使用Pacaur
|
||||
|
||||
Pacaur语法与pacman相同,使用以下命令安装软件包。
|
||||
```
|
||||
$ pacaur -s spotify
|
||||
```
|
||||
|
||||
### 4) Pikaur
|
||||
|
||||
[Pikaur][7]是具有最小依赖性的AUR助手,可以一次查看所有PKGBUILD,无需用户交互即可全部构建。
|
||||
|
||||
Pikaur将通过控制pacman来告知Pacman下一个步骤。
|
||||
|
||||
### 如何安装Pikaur
|
||||
|
||||
要在Arch Linux的系统上安装pakku,请一一运行以下命令。
|
||||
|
||||
```
|
||||
$ sudo pacman -S git base-devel
|
||||
$ git clone https://aur.archlinux.org/pikaur.git
|
||||
$ cd pikaur
|
||||
$ makepkg -fsri
|
||||
```
|
||||
### 如何使用Pikaur
|
||||
|
||||
Pikaur语法与pacman相同,使用以下命令安装软件包。
|
||||
|
||||
```
|
||||
$ pacaur -s spotify
|
||||
```
|
||||
|
||||
### 5) Trizen
|
||||
|
||||
[Trizen][8]是用Perl编写的基于命令行的AUR轻量级包装器。 面向速度的AUR助手,它允许用户搜索,安装软件包,还允许阅读AUR软件包注释。
|
||||
|
||||
支持编辑文本文件,并且输入/输出使用UTF-8。 内置与pacman的交互功能。
|
||||
|
||||
### 如何安装Trizen
|
||||
|
||||
要在Arch Linux的系统上安装pakku,请一一运行以下命令。
|
||||
|
||||
```
|
||||
$ sudo pacman -S git base-devel
|
||||
$ git clone https://aur.archlinux.org/trizen.git
|
||||
$ cd trizen
|
||||
$ makepkg -si
|
||||
```
|
||||
### 如何使用Trizen
|
||||
### How to Use Trizen
|
||||
|
||||
Trizen语法与pacman相同,使用以下命令安装软件包。
|
||||
|
||||
```
|
||||
$ pacaur -s google-chrome
|
||||
```
|
||||
|
||||
### 6) Aura
|
||||
|
||||
[Aura][9]是用Haskell编写的,用于Arch Linux和AUR的安全,多语言包管理器。 它支持许多Pacman操作和子选项,可轻松进行开发并编写精美的代码。
|
||||
|
||||
它可以自动从Arch用户软件仓库安装软件包。使用Aura时,用户通常会在系统升级方面遇到困难。
|
||||
|
||||
### 如何安装Aura
|
||||
|
||||
要在Arch Linux的系统上安装pakku,请一一运行以下命令。
|
||||
|
||||
```
|
||||
$ sudo pacman -S git base-devel
|
||||
$ git clone https://aur.archlinux.org/aura.git
|
||||
$ cd aura
|
||||
$ makepkg -si
|
||||
```
|
||||
|
||||
### 如何使用Aura
|
||||
|
||||
Aura语法与pacman相同,使用以下命令安装软件包。
|
||||
|
||||
```
|
||||
$ pacaur -s android-sdk
|
||||
```
|
||||
|
||||
### 结论
|
||||
|
||||
用户可以凭借这些分析在上述6个AUR助手中进行选择。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.2daygeek.com/best-aur-arch-user-repository-helpers-arch-linux-manjaro/
|
||||
|
||||
作者:[Magesh Maruthamuthu][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[hkurj](https://github.com/hkurj)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.2daygeek.com/author/magesh/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://www.2daygeek.com/pacman-command-examples-manage-packages-arch-linux-system/
|
||||
[2]: https://wiki.archlinux.org/index.php/Arch_User_Repository
|
||||
[3]: https://wiki.archlinux.org/index.php/AUR_helpers
|
||||
[4]: https://github.com/Jguer/yay
|
||||
[5]: https://github.com/kitsunyan/pakku
|
||||
[6]: https://github.com/E5ten/pacaur
|
||||
[7]: https://github.com/actionless/pikaur
|
||||
[8]: https://github.com/trizen/trizen
|
||||
[9]: https://github.com/fosskers/aura
|
@ -0,0 +1,71 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (geekpi)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Connect your Google Drive to Fedora Workstation)
|
||||
[#]: via: (https://fedoramagazine.org/connect-your-google-drive-to-fedora-workstation/)
|
||||
[#]: author: (Paul W. Frields https://fedoramagazine.org/author/pfrields/)
|
||||
|
||||
将你的 Google Drive 连接到 Fedora Workstation
|
||||
======
|
||||
|
||||
![][1]
|
||||
|
||||
有大量的云服务可用于存储重要文档。Google Drive 无疑是最受欢迎的之一。它提供了一组相应的应用程序,例如文档,表格和幻灯片来创建内容。但是,你也可以在 Google Drive 中存储任意内容。本文向你展示如何将其连接到 [Fedora Workstation][2]。
|
||||
|
||||
### 添加帐户
|
||||
|
||||
Fedora Workstation 可在安装后首次启动或者之后的任何时候添加一个帐户。要在首次启动期间添加帐户,请按照提示进行操作。其中包括选择添加一个帐户:
|
||||
|
||||
![][3]
|
||||
|
||||
选择 Google,然后会出现一个登录提示,请使用你的 Google 帐户信息登录。
|
||||
|
||||
![][4]
|
||||
|
||||
请注意,此信息仅传输给 Google,而不传输给 GNOME 项目。下一个页面要求你授予访问权限,这是必需的,以便系统桌面可以与 Google 进行交互。向下滚动查看访问请求,然后选择 _Allow_ 继续。
|
||||
|
||||
你会在移动设备和 Gmail 中收到有关新设备(系统)访问 Google 帐户的通知。这是正常现象。
|
||||
|
||||
![][5]
|
||||
|
||||
如果你在初次启动时没有执行此操作,或者需要重新添加帐户,请打开 _Settings_,然后选择 _Online Accounts_ 来添加帐户。可以通过顶部栏右侧的下拉菜单(“齿轮”图标)或打开“概览”并输入 _settings_ 来使用它。接着和上面一样。
|
||||
|
||||
### 在 Google Drive 中使用“文件”应用
|
||||
|
||||
打开_文件_ 应用(以前称为 _nautilus_)。“文件”应用可以通过左侧栏访问。在列表中找到你的 Google 帐户。
|
||||
|
||||
当你选择帐户后,“文件”应用会显示你的 Google Drive 的内容。你可以使用 Fedora Workstation 的本地应用打开某些文件,例如声音文件或 [LibreOffice][6] 兼容文件(包括 Microsoft Office 文档)。其他文件(例如 Google 文档、表格和幻灯片等 Google 应用文件)将使用浏览器和相应的应用打开。
|
||||
|
||||
请记住,如果文件很大,将需要一些时间才能通过网络接收文件,你才可以打开它。
|
||||
|
||||
你还可以复制粘贴 Google Drive 中的文件到连接到 Fedora Workstation 的其他存储,或者反之。你还可以使用内置功能来重命名文件、创建文件夹并组织它们。对于共享和其他高级选项,请和平常一样在浏览器中使用 Google Drive。
|
||||
|
||||
请注意,“文件”应用程序不会实时刷新内容。如果你从其他连接 Google 的设备(例如手机或平板电脑)添加或删除文件,那么可能需要按 **Ctrl+R** 刷新“文件”应用。
|
||||
|
||||
* * *
|
||||
|
||||
_照片由 [Beatriz Pérez Moya][7] 发表在 [Unsplash][8] 中。_
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://fedoramagazine.org/connect-your-google-drive-to-fedora-workstation/
|
||||
|
||||
作者:[Paul W. Frields][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://fedoramagazine.org/author/pfrields/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://fedoramagazine.org/wp-content/uploads/2020/03/gdrive-workstation-816x345.jpg
|
||||
[2]: https://getfedora.org/workstation
|
||||
[3]: https://fedoramagazine.org/wp-content/uploads/2020/03/firstboot-choices.jpg
|
||||
[4]: https://fedoramagazine.org/wp-content/uploads/2020/03/firstboot-signin.jpg
|
||||
[5]: https://fedoramagazine.org/wp-content/uploads/2020/03/firstboot-grantaccess.jpg
|
||||
[6]: https://fedoramagazine.org/discover-hidden-gems-libreoffice/
|
||||
[7]: https://unsplash.com/@beatriz_perez?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText
|
||||
[8]: https://unsplash.com/s/photos/office-files?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText
|
@ -0,0 +1,141 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (wxy)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Top 10 open source tools for working from home)
|
||||
[#]: via: (https://opensource.com/article/20/3/open-source-working-home)
|
||||
[#]: author: (Seth Kenlon https://opensource.com/users/seth)
|
||||
|
||||
在家工作的十大开源工具
|
||||
======
|
||||
|
||||
> 无论你是在家工作的资深人士还是远程工作的新手,这些工具都可以使交流和协作变得轻而易举。
|
||||
|
||||
![Oatmeal and a laptop.][1]
|
||||
|
||||
如果你<ruby>在家工作<rt>work from home</rt></ruby>(WFH),你就会知道拥有一系列实用的工具是很重要的,这些工具可以让你远离烦恼,专注于重要的事情。在工作期间工作越努力,工作日结束后,你就越容易放松。
|
||||
|
||||
我已经在家工作多年了,这是我精选的远程工作者必备的最佳开源工具。
|
||||
|
||||
### Jitsi 视频会议
|
||||
|
||||
![Jitsi screenshot][2]
|
||||
|
||||
当你不在同事身边时,保持每周连接几次非常重要,甚至只是这样也可以保持人与人之间的联系,否则你就会变得孤独。市场上有很多视频会议系统,但以我的经验,最简单,最好的是开源的 [Jitsi][3]。
|
||||
|
||||
通过易于记忆的 URL([meet.jit.si][3])和按需会议室,Jitsi 使得召开即席会议非常简单。而且更好的是,无需注册。你只需进入 [meet.jit.si][3],找到一个带有友好的,随机生成的 URL(此处没有字母和数字的随机组合) 的会议室,你就可以立即开始聊天。如果你选择注册,那么还可以与几种日历进行集成。
|
||||
|
||||
在现实生活中,我参加了许多来自新西兰最偏远地区的会议,而 Jitsi 无疑是我迄今为止拥有的最好的视频聊天体验。不需要浪费一半的会议时间在迷宫般的虚拟会议室中寻找彼此,或者在尴尬的滞后时间中坐着发呆,或者努力地为聊天应用程序安装更新。使用开源和符合标准的 webRTC 协议的 Jitsi 可以让你有个愉悦的开会体验。
|
||||
|
||||
### Drawpile 白板
|
||||
|
||||
![Drawpile screenshot][4]
|
||||
|
||||
有时,在白板上解释事情、跟踪想法或只是散布一下疯狂的想法是非常容易的。白板是办公室会议室的主要内容,但在数字世界中却很难获得。幸运的是,有了 [Drawpile][5],这是一个实时协作绘图应用程序。你可以在自己的计算机上托管绘图会话并邀请其他用户,也可以在 Drawpile 的服务器上托管会话。
|
||||
|
||||
它易于使用,足够精简、直观而功能强大,在你的粗略想法开始变为重要事物时,它是使其成为可行作品的应用程序。
|
||||
|
||||
### 用于项目管理的看板面板
|
||||
|
||||
![Taiga screenshot][6]
|
||||
|
||||
想要保持组织有序并与你的部门保持同步吗?你应该试试 [Taiga][7],这是一个虚拟的“便利贴”面板,可以帮助团队跟踪各个任务。这种组织和项目计划方法被称为<ruby>看板<rt>kanban</rt></ruby>,在软件开发中很流行,而它也流行于从假期规划到家庭装修项目的所有计划之中。
|
||||
|
||||
Taiga 的优点是它是一个在线共享空间。与你进行协作或与之合作的任何人都可以把任务放到面板上,并且随着每个人的进展,他们将任务从左列(起点)移到右边(终点线)。Taiga 具有令人愉悦的图形化和交互性,没有什么比从一列移动到另一列的拖放任务令人感到舒适的了。
|
||||
|
||||
如果你的团队有 Taiga 无法满足的特定需求,那么你应该看看[我们挑选的最佳开源看板面板][8]。
|
||||
|
||||
### Joplin 个人笔记本
|
||||
|
||||
![Joplin][9]
|
||||
|
||||
我在办公桌旁放着一个纸质笔记本,这样我就可以随时记下想法或想法了。捕捉这种简单动作的感受和便利是很棘手的,但 Joplin 却做的很好。
|
||||
|
||||
你可以在 Joplin 中创建虚拟笔记本,每个笔记本可以有任意数量的条目。这些条目可以是简单的文本,也可以是带有图形、任务列表、超链接等的复杂的动态文档。最重要的是,你可以将 Joplin 与所有类型的在线存储服务同步,包括开源的 Nextcloud 服务,以便你可以在任何计算机和任何设备上使用笔记本。这是使你的工作日井井有条、专心致志并保持活动顺畅的好方法。
|
||||
|
||||
如果 Joplin 不太满足你的要求,请查看一些我们最喜欢的[笔记本应用][10]。
|
||||
|
||||
### Riot 团队聊天
|
||||
|
||||
![Riot screenshot][11]
|
||||
|
||||
并非所有内容都需要视频聊天或语音通话,但是有些事情比电子邮件更紧急。这就是团队聊天发挥作用的地方。一个好的群聊应用程序具有所有功能:即时消息传递、支持表情符号、支持 GIF 和图像,按需聊天室或“频道”、广泛的兼容性和隐私性。[Matrix][12] 是一个用于实时通信的开放标准和轻量级协议,如果在键入消息时遇到问题,则可以使用相同的协议快速切换到 VOIP。你将获得世界上最好的群聊体验。
|
||||
|
||||
Matrix 是一种协议,并且有许多应用程序可以挂接到它(就像使用 Internet 协议一样,Firefox 是使人类可以访问的应用程序)。最受欢迎的客户端之一是 [Riot.im][13]。你可以为你的计算机和手机下载 Riot,并且可以在短时间内通过 Web 浏览器连接到 Riot。你的团队总是会近在咫尺,但永远不会近到让你感到不舒服。
|
||||
|
||||
### Etherpad 共享文档
|
||||
|
||||
![Etherpad screenshot][14]
|
||||
|
||||
如果你想与他人协作处理文档或与他人开会,则仅需 Etherpad。Etherpad 是一个实时共享的文字处理器。邀请一个或多个人访问文档,并可以在每个人进行添加和编辑时进行观察。这是一种快速有效的方法,可将想法记入“纸上”并一起迭代修订。
|
||||
|
||||
有几种使用 Etherpad 的方法。如果你拥有良好的 IT 支持,则可以要求你的 IT 部门为你的组织托管一个 Etherpad 实例。否则,将有来自开源支持者的在线公共实例,例如 [Riseup][15] 和 [Etherpad][16] 本身提供的。
|
||||
|
||||
### Ethercalc 共享电子表格
|
||||
|
||||
![Ethercalc screenshot][17]
|
||||
|
||||
与 Etherpad 相似,在线 [Ethercalc][18] 编辑器允许多个用户同时在同一屏幕上远程地在电子表格上工作。Ethercalc 甚至可以从现有电子表格和定界文本文件中导入数据。你可能会也可能不会丢失大部分格式,具体取决于要导入的内容的复杂性,但是我从来没有弄坏过我的数据,因此导入文件总是一个好的开始。 下次需要复杂公式的帮助时,或者需要在最新预算中输入收据时,或者仅需要某人在布局上的输入时,请将其输入到 Ethercalc。
|
||||
|
||||
### Nextcloud 共享存储与日历
|
||||
|
||||
![Nextcloud screenshot][19]
|
||||
|
||||
[Nextcloud][20] 是一个心存远志的应用程序。顾名思义,它是你自己的个人云。它最明显的切入点是在线共享存储,它可以与台式机和移动设备上的文件夹同步。你将文件放入文件中,然后将文件上传到存储空间,然后由于所有内容都已同步,它们会出现在所有设备上。为组织中的每个人提供一个帐户,突然之间,你便拥有了共享的存储空间,可以通过单击鼠标单击以共享带有或不带有密码的文件和文件夹。
|
||||
|
||||
但是,除了充当共享数据的保管箱之外,Nextcloud 还有很多其他功能。由于其插件式结构,你可以将无数的 Web 应用程序安装到 Nextcloud 中,例如聊天客户端、电子邮件客户端、视频聊天等等。并非所有插件都是“官方的”,因此支持各不相同,但是有几个非常好的官方插件。值得注意的是,有一个官方的日历应用程序,你和你的同事可以用它安排会议并跟踪即将发生的重要事件。该日历使用 CalDAV 协议,因此你所做的一切都与任何 CalDAV 客户端兼容。
|
||||
|
||||
### LibreOffice
|
||||
|
||||
![LibreOffice screenshot][21]
|
||||
|
||||
如果你习惯于每天一整天都在办公室里工作,那么你也可能习惯整天在办公套件里工作。包含所有常用功能的面面俱到的应用程序会令人感到某种程度的舒适,而在开源办公世界中的这样的应用程序就是 [LibreOffice][22]。它具有办公套件所期望的一切:文字处理器、电子表格和幻灯片演示。它还具有超出预期的功能,例如基于矢量的绘图应用程序,它还可以编辑 PDF 文件,以及一个带有图形界面构建器的关系数据库。如果你正在寻找一个好的办公应用程序,那么 LibreOffice 是你应该首先来看一看的,因为一旦你使用它,你就再也不用看别的了。
|
||||
|
||||
### Linux
|
||||
|
||||
![][23]
|
||||
|
||||
如果你不熟悉远程工作,则可能是由于某种原因而正在经历一场重大变革。对于某些人来说,变革的时光是一个极好的动力,它可以一劳永逸地改变一切。如果你是其中的一员,那么可能是时候更改一下整个操作系统了。Windows 和 Mac 在过去可能为你提供了很好的服务,但是如果你希望从非开源软件转向开源软件,为什么不换一下所有这些应用程序的运行平台?
|
||||
|
||||
有许多出色的 Linux 发行版可以让你认真的工作、认真自主和认真提高技能。获取一份 Linux 副本,不论是 [Fedora][24]、[Elementary][25] 还是 [Red Hat Enterprise Linux][26] 的长期支持订购,并尝试使用自由的开源操作系统。等你熟悉了远程人的生活时,你最终将成为一名 Linux 专家!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/20/3/open-source-working-home
|
||||
|
||||
作者:[Seth Kenlon][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://opensource.com/users/seth
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/oatmeal-and-fedora.jpg?itok=NBFUH9eF (Oatmeal and a laptop.)
|
||||
[2]: https://opensource.com/sites/default/files/uploads/jitsi_0.jpg (Jitsi screenshot)
|
||||
[3]: http://meet.jit.si
|
||||
[4]: https://opensource.com/sites/default/files/uploads/drawpile-whiteboard.jpg (Drawpile screenshot)
|
||||
[5]: https://drawpile.net/
|
||||
[6]: https://opensource.com/sites/default/files/uploads/taiga_kanban_screen_0.jpg (Taiga screenshot)
|
||||
[7]: http://taiga.io
|
||||
[8]: https://opensource.com/alternatives/trello
|
||||
[9]: https://opensource.com/sites/default/files/joplin_0.png (Joplin)
|
||||
[10]: https://opensource.com/alternatives/evernote
|
||||
[11]: https://opensource.com/sites/default/files/uploads/riot-matrix.jpg (Riot screenshot)
|
||||
[12]: http://matrix.org
|
||||
[13]: http://riot.im
|
||||
[14]: https://opensource.com/sites/default/files/uploads/etherpad.jpg (Etherpad screenshot)
|
||||
[15]: https://pad.riseup.net/
|
||||
[16]: https://beta.etherpad.org
|
||||
[17]: https://opensource.com/sites/default/files/uploads/ethercalc.jpg (Ethercalc screenshot)
|
||||
[18]: https://ethercalc.org
|
||||
[19]: https://opensource.com/sites/default/files/uploads/nextcloud-calendar.jpg (Nextcloud screenshot)
|
||||
[20]: http://nextcloud.com
|
||||
[21]: https://opensource.com/sites/default/files/uploads/libreoffice.png (LibreOffice screenshot)
|
||||
[22]: http://libreoffice.org
|
||||
[23]: https://opensource.com/sites/default/files/uploads/advent-pantheon.jpg
|
||||
[24]: https://getfedora.org/
|
||||
[25]: https://elementary.io
|
||||
[26]: https://www.redhat.com/en/store/red-hat-enterprise-linux-workstation
|
Loading…
Reference in New Issue
Block a user