小编Per*_*uck的帖子

升级后是否可以使用 18.04 访问使用 17.10 加密的外部 HDD?

我目前在 17.10 并且不在我的内部驱动器上使用加密, 有一个加密的外部 USB 磁盘。我用它来备份。

因为我早上不知道是否我使用ecryptfscryptsetup 我显示的步骤所花费的建立外盘:

  1. 活动 ?磁盘?选择驱动器?创建分区?格式化卷

  2. 输入密码(两次)?创建

当我插入 HDD 时,Ubuntu 会提示我输入密码,然后安装它。它就像一个魅力,我能够将我的备份写入该外部磁盘。.Private除了我放在那里的lost+found文件(加上文件夹)之外,没有文件夹也没有其他文件。为了说明,我在这里使用了 4GB 记忆棒,但步骤与实际磁盘相同。

从一些评论中我了解到这恰好是cryptsetupthen 而不是 ecryptfs

当我升级到 18.04时会发生什么?鉴于 18.04 默认不支持加密,恐怕我无法再恢复我的备份了。

当我不升级但进行全新安装时会有所不同吗?

encryption luks external-hdd cryptsetup 18.04

11
推荐指数
1
解决办法
742
查看次数

`chown user:user lost+found` 有害吗?

最近,我创建了一个加密文件系统 ( crypto_LUKS),它只为一个特定用户充当 $HOME(即我将其挂载为/home/pduck)。我还添加了一个适当的条目,/etc/security/pam_mount.conf.xml以便在用户登录时自动解密和挂载分区(并在他注销时卸载)。效果很好。

因为 $HOME 本身就是一个文件系统,所以用户在其中有一个lost+found由 root:root 拥有的目录。我知道删除目录是一个坏主意,但许多命令(例如find)抱怨没有访问权限。这让我很恼火。

出于好奇,我删除了目录并使用mklost+found(不带sudo)重新创建了它。现在该目录归 pduck:pduck 所有。可以吗,或者目录归 root:root 所有重要吗?

permissions partitioning mount chown

10
推荐指数
2
解决办法
1749
查看次数

挂载到现有挂载点时挂载操作的顺序是否重要?

在现有挂载中挂载新磁盘时的最佳实践问题 启发我提出这个后续问题:

另一个问题问是否可以

mount /dev/sdb1 /home
mount /dev/sdb2 /home/mythtv
Run Code Online (Sandbox Code Playgroud)

所以这/home/mythtv是 mountpoint 中的一个挂载点 /home。(剧透:是的,完全没问题。)。

如果我将命令的顺序更改为

mount /dev/sdb2 /home/mythtv
mount /dev/sdb1 /home
Run Code Online (Sandbox Code Playgroud)

这会否产生同样的结果或将/home/mythtv隐藏/home?我假设/home包含一个(空)目录/home/mythtv

mount

6
推荐指数
1
解决办法
1261
查看次数

如何在侧边栏中而不是在桌面上显示自动安装的设备(pendrives、ext. HDD)?

截至 17.04,行为是:

当我插入外部驱动器(USB 记忆棒、HDD)时,它会出现在侧边栏中。这很方便,因为我可以使用侧栏中的图标弹出/安全删除/打开它。

现在 (17.10) 外部驱动器在插入时在桌面上的某个免费随机位置创建一个图标。为了访问图标以弹出/安全移除/打开驱动器,我需要最小化所有窗口或切换到另一个(空)工作区。

如何让这些外部驱动器图标出现在侧边栏中?

17.10 ubuntu-dock

5
推荐指数
1
解决办法
652
查看次数

使 sudo 在登录后 n 分钟内不询问密码

我经常通过 SSH 登录到 boxen,并以 root 身份运行更新等,使用sudo.

我很感激sudo在一段时间后要求输入密码,以防我离开终端等。但是,正如我已经进入了登录密码,或SSH关键短语,我宁愿 sudo 来询问登录后的第n分钟一个密码,但仿佛须藤已经登录成功后立即执行的行为。

是否可以进行配置,以便登录后第一次调用不需要密码?

举例说明所需的行为

ssh foo@example.org
[~]$ sudo somecommand
[~]$ #no password asked.
[~]$ sudo somecommand #n minutes later
[sudo] password for foo: 
Run Code Online (Sandbox Code Playgroud)

ssh sudo password

4
推荐指数
1
解决办法
451
查看次数

无法更新 Ubuntu 18.04

我正在尝试对 Ubuntu 18.04 LTS 进行最后一次更新,并且始终显示此窗口。

在此处输入图片说明

Ubuntu 永远无法更新操作系统。

我试过: $ sudo apt-get install -f

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
0 upgraded, 0 newly installed, 0 to remove and 30 not upgraded.
1 not fully installed or removed.
Need to get 64.6 MB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://security.ubuntu.com/ubuntu bionic-security/main amd64 linux-firmware all 1.173.1 [64.6 MB]
Fetched 64.6 MB in 6s (10.4 MB/s) …
Run Code Online (Sandbox Code Playgroud)

updates package-management apt 18.04

4
推荐指数
1
解决办法
8412
查看次数

如何区分终端窗口 (GUI) 和控制台 (CTRL+ALT+F3)?

我使用彩色的 bash 提示,如下所示:

blue=$(tput setaf 4)
reset=$(tput sgr0)
bold=$(tput bold)
export PS1='($?) \[$bold$blue\]\u@\h:\w\[$reset\]$(__git_ps1)> '
Run Code Online (Sandbox Code Playgroud)

我通常在终端窗口(gnome-terminal)中工作,但有时在全屏控制台(CTRL+ ALT+ F3)中工作。

我的彩色提示在 GUI 终端中很好,但很难在全屏模式下阅读,因为颜色看起来不同。所以我想cyan=$(tput setaf 6)在控制台窗口中使用不同的颜色(例如)。为此,我需要弄清楚我当前处于哪种模式并相应地设置我的模式$PS1

我试过tty命令。它给

/dev/pts/0  # GUI terminal
/dev/tty3   # console 
Run Code Online (Sandbox Code Playgroud)

我还尝试检查$TERM. 它给

xterm-256color  # GUI terminal
linux           # console
Run Code Online (Sandbox Code Playgroud)

他们两个都适合我,但我的问题是:这是可靠区分控制台与终端的正确方法还是有更好的方法?如果那重要的话,我在 17.10.1。

command-line gnome-terminal virtual-console

3
推荐指数
1
解决办法
434
查看次数

如何在 monit 中设置 http?

Monit : monit HTTP 接口未启用,请添加 'set httpd' 语句并使用 'allow' 选项允许 monit 连接

我怎么做?

monit

3
推荐指数
1
解决办法
5377
查看次数

以 root 身份运行本地用户 cronjob

我正在尝试以 root 用户身份运行 cron 作业,但它不会执行。这是我尝试过的...

  1. 将作业添加到我的用户 crontab (crontab -e) 并将用户设置为 root ...

    17 10 * * * root /etc/cron.daily/cammedia.sh
    
    Run Code Online (Sandbox Code Playgroud)
  2. 将作业添加到 root 用户 crontab (sudo crontab -e) 并添加一些 PATH 的...

    PATH=/usr/sbin:/usr/bin:/sbin:/bin
    PATH=/usr/sbin:/usr/bin:/sbin:/etc
    PATH=/bin:/sbin:/usr/bin:/usr/sbin:/home/scott
    PATH=/bin:/sbin:/usr/bin:/usr/sbin:/etc
    #
    0 4 * * * /etc/cron.daily/cammedia.sh
    
    Run Code Online (Sandbox Code Playgroud)

这是测试运行后运行 crontab -l(本地用户帐户)的结果:

May 26 10:17:01 WEBCAM CRON[89901]: (scott) CMD (root /etc/cron.daily/cammedia.sh)
May 26 10:17:01 WEBCAM CRON[89902]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
May 26 10:17:01 WEBCAM CRON[89900]: (CRON) info (No MTA installed, discarding output)
Run Code Online (Sandbox Code Playgroud)

建议?

cron

2
推荐指数
1
解决办法
3672
查看次数

如何制作带有日期的新文件?

我可以创建一个新文件并将日期放入其中。

touch example.txt
date >> example.txt
Run Code Online (Sandbox Code Playgroud)

但是我必须在创建新文件的那一刻创建带有日期的文件。我如何只用一个命令来做到这一点?

command-line date

2
推荐指数
1
解决办法
1498
查看次数

我的猜谜游戏有什么问题

#!/bin/bash
# this programe random numbers between 1 and 100. 
clear
echo "Hello, "${USER}
date;
n1=$[($RANDOM % 100) +1]
guess=1
echo -n "I'm think of a number between 1 and 100. guess:"

while read n2; do
if   [[ $n2 -eq $n1 ]]; then
break;
else
echo

if [[ $n2 -gt $n1 ]]; then
echo -n "Sorry, your guess is too high. guess new:"
elif [[ $n2 -lt $n1 ]]; then
echo -n "Sorry, your guess is too low. guess new:" …
Run Code Online (Sandbox Code Playgroud)

bash

0
推荐指数
1
解决办法
1048
查看次数

[: Drink: 预期的一元运算符

当我使用 alarm.sh 运行它时 5 “喝茶”。我得到

/home/andy/bin/alarm.sh: line 27: [: Drink: unary operator expected
Run Code Online (Sandbox Code Playgroud)

报警文件

  soundfile="/usr/share/sounds/My_Sounds/Alarm-sound-buzzer.mp3"
    #amixer -D pulse sset Master 50% > /dev/null 2>&1
    originalVolume=$(amixer -D pulse get Master | grep -m 1 -o -E [[:digit:]]+%)
    clear
    amixer -D pulse sset Master 50% > /dev/null 2>&1
    if [ -f "$soundfile" ];
    then
         echo "Soundfile is present."
    else

      echo "File $soundfile does NOT exist."
      echo
      echo "Program will now exit."
      exit
    fi

    [ ! $2 ] && {
    echo 
    echo -e …
Run Code Online (Sandbox Code Playgroud)

bash scripts

0
推荐指数
1
解决办法
922
查看次数