小编Tho*_*ard的帖子

确定特定 ARM 体系结构字符串的简单命令行方法?

我正在尝试编写一个脚本,该脚本将根据机器的架构确定操作。我已经uname -m习惯收集架构线了,但是我不知道有多少个ARM架构,也不知道一个是armhf, armel, 还是arm64.

由于这是需要这种脚本来确定脚本的部分是否可以运行或不,我试图找到一个简单的方法来确定该架构armhfarmelarm64。是否有可用于输出或者任何单行或简单的命令armhfarmelarm64

该脚本是专门为 Debian 和 Ubuntu 系统编写的,我正在考虑这一点(如果您不在这些发行版之一上,它会自动退出,但是如果命令存在)


编辑:最近了解到 armel 已死,并且 arm64 软件构建器(PPA 或基于虚拟的)并不是最稳定的。所以我有一个通配符搜索查找arm*和假设 armhf,但仍然有必要找出一个返回三个之一的一个 liner - 无论是 Ubuntu/Debian 命令还是内核调用或其他东西。

scripting ubuntu debian architecture cpu-architecture

50
推荐指数
1
解决办法
8万
查看次数

允许用户在没有密码的情况下使用 sudo

在沙箱 VM 环境中,我设置了 Ubuntu Linux,它有防火墙,无法从本地系统外部访问。因此,在该 VM 上,我想为管理用户(我设置的)提供使用 sudo 运行任何内容而无需密码的能力。

虽然我知道这并不安全,但这个虚拟机并不是一直都在运行,并且需要我的个人密码才能运行。所以即使这不是“安全”,有没有办法获得所需的功能?

sudo

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

用于递归遍历目录并根据文件类型条件进行 chmodding 的 Shell 脚本

任何人都可以向我指出编写可以递归遍历整个目录结构的 shell 脚本的代码或教程(从当前工作目录开始,或者给出从哪里开始的必需参数)并且可以:

  1. 确定一个项目是否是一个目录,如果是,chmod 755它,或...
  2. 确定一个项目是否是一个文件(不是一个目录),以及chmod 644它。

我正在寻找与 Ubuntu、Debian、基于 RHEL 等的兼容性,所以我没有用任何特定的语言来标记它。我希望在 Bash 中使用它,但是如果您有 ZSH 脚本,那也可以。

command-line bash zsh shell-script

8
推荐指数
1
解决办法
1799
查看次数

我可以限制 linux 文件缓存的大小吗?

我正在运行 64 位 Xubuntu 14.04,Linux 版本 3.8.0-25,内存为 8GB。

我有一个脚本(在 MATLAB 中,它的价值)一次加载大量数据文件(~23k),总共大约 45G 的数据。我遇到的问题是在每个文件加载后,它仍保留在文件缓存中。Linux 似乎更喜欢将这些文件缓存在内存中,而不是任何其他内存内容,导致几乎所有其他内容都被强制交换,导致我的系统缓慢爬行。我每秒读取几个文件,所以这发生得相当快。我只读取每个文件一次,所以我不需要文件在我完成后保持缓存。

我试过关闭交换,这在一定程度上有效,但这似乎是一个糟糕的解决方案(并且当另一个程序开始使用过多内存时它已经失败了一次)。有没有办法可以限制 linux 用于文件缓存的 RAM 量?

kernel memory files

7
推荐指数
1
解决办法
5061
查看次数

shell脚本中的变量插值

我为 pg 备份编写了以下 shell 脚本:

#!/bin/bash

PG_USER=donato
DATABASE=mydb
SERVER=216.58.219.174
DIR="$HOME/pg_bak"
DATE=$(date +"%m_%d_%y")
FILE="$DATABASE_$DATE"
ERROR_FILE="$HOME/pg_bak/error_bak/$FILE_error.txt"
# pass @ .pgpass

PG_BAK_NOW () {
  pg_dump -h $SERVER -U $PG_USER $DATABASE >$FILE 2>$ERROR_FILE
  code=$?
  if [ $code -ne 0 ]; then
    echo 1>&2 "The backup failed (exit code $code), check for errors in $ERROR_FILE"
  fi
}

echo "Ready to dump to $FILE" >> "$HOME/pg_status" 

cd $DIR
if [ -f "$FILE" ];
then
  rm $FILE
  PG_BAK_NOW 
else
  PG_BAK_NOW
fi
Run Code Online (Sandbox Code Playgroud)

当我执行它时,我知道它会执行一段时间:

$ pgrep -fl pg_bak.sh
4603 …
Run Code Online (Sandbox Code Playgroud)

bash shell-script

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

哪个命令会将系统上的默认浏览器打开到给定的网页(终端)?

有没有办法从 Bash 脚本或其他语言脚本中打开用户系统上的默认浏览器到特定页面?

scripting browser open-files

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

调整 logrotate 以使用 xz 来记录日志

在当前的 Debian 测试机器上,我想使用 xz 而不是 GZip 来压缩日志文件。它具有较高的开箱即用压缩率,因此我希望使用它。

但是,每当我在 logrotate 配置中指定它时,logrotate 就会说它无法用于xz压缩。它只是说该文件无法执行,即使它在系统和用户 shell 中的其他任何地方都可以工作。

有什么办法可以调试这个吗?

logrotate debian xz

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

在 RHEL 6.6 上将 SSH 身份验证失败隔离到自己的日志文件中

这可能是不可能的,但我有一个案例,我们希望将 SSH 身份验证失败与 RHEL 6.6 机器上的标准 SSH 日志记录分开。

我知道我们可以使用SyslogFacilitywithsshd_config来指定发送日志数据的位置,是否可以通过该方法发送SSH 身份验证失败?

编辑:如果不在sshdor 中sshd_config,如何在 syslog 端完成此操作?

logs rhel rsyslog sshd

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