Skip to content

Commit

Permalink
Fixes for sudo error "host not found"
Browse files Browse the repository at this point in the history
  • Loading branch information
pokamest committed Aug 30, 2023
1 parent 26f7310 commit a2893ba
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 6 deletions.
11 changes: 6 additions & 5 deletions client/core/servercontroller.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -637,7 +637,8 @@ ErrorCode ServerController::isServerPortBusy(const ServerCredentials &credential
QString defaultTransportProto = ProtocolProps::transportProtoToString(ProtocolProps::defaultTransportProto(protocol), protocol);
QString transportProto = containerConfig.value(config_key::transport_proto).toString(defaultTransportProto);

QString script = QString("which lsof &>/dev/null || true && sudo lsof -i -P -n | grep -E ':%1 ").arg(port);
// TODO reimplement with netstat
QString script = QString("which lsof &>/dev/null || true && sudo lsof -i -P -n 2>/dev/null | grep -E ':%1 ").arg(port);
for (auto &port : fixedPorts) {
script = script.append("|:%1").arg(port);
}
Expand Down Expand Up @@ -699,7 +700,7 @@ ErrorCode ServerController::isServerDpkgBusy(const ServerCredentials &credential

QFuture<ErrorCode> future = QtConcurrent::run([this, &stdOut, &cbReadStdOut, &cbReadStdErr, &credentials]() {
// max 100 attempts
for (int i = 0; i < 100; ++i) {
for (int i = 0; i < 30; ++i) {
if (m_cancelInstallation) {
return ErrorCode::ServerCancelInstallation;
}
Expand All @@ -708,8 +709,8 @@ ErrorCode ServerController::isServerDpkgBusy(const ServerCredentials &credential
replaceVars(amnezia::scriptData(SharedScriptType::check_server_is_busy),
genVarsForScript(credentials)), cbReadStdOut, cbReadStdErr);

// if 'fuser' is not installed, skip check
if (stdOut.contains("Not installed")) return ErrorCode::NoError;
if (stdOut.contains("Packet manager not found")) return ErrorCode::ServerPacketManagerError;
if (stdOut.contains("fuser not installed")) return ErrorCode::NoError;

if (stdOut.isEmpty()) {
return ErrorCode::NoError;
Expand All @@ -719,7 +720,7 @@ ErrorCode ServerController::isServerDpkgBusy(const ServerCredentials &credential
qDebug().noquote() << stdOut;
#endif
emit serverIsBusy(true);
QThread::msleep(5000);
QThread::msleep(10000);
}
}
return ErrorCode::ServerPacketManagerError;
Expand Down
2 changes: 1 addition & 1 deletion client/server_scripts/check_server_is_busy.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ if which apt-get > /dev/null 2>&1; then LOCK_FILE="/var/lib/dpkg/lock-frontend";
elif which dnf > /dev/null 2>&1; then LOCK_FILE="/var/run/dnf.pid";\
elif which yum > /dev/null 2>&1; then LOCK_FILE="/var/run/yum.pid";\
else echo "Packet manager not found"; echo "Internal error"; exit 1; fi;\
if command -v fuser > /dev/null 2>&1; then sudo fuser $LOCK_FILE; else echo "Not installed"; fi
if command -v fuser > /dev/null 2>&1; then sudo fuser $LOCK_FILE 2>/dev/null; else echo "fuser not installed"; fi

0 comments on commit a2893ba

Please sign in to comment.